当前位置: 首页 > news >正文

GPS在Linux下的使用(war driving的前置学习)

1.ls /dev/tty* 列出所有与 tty 相关的设备文件。这些设备文件通常对应终端设备     

 ttyUSB0是GPS端口

2.cat /dev/ttyUSB0 用于读取并显示连接到 /dev/ttyUSB0 串口设备发送的原始数据

这种是GPS定位不全的,要拿到更开阔的地方

 

这种是GPS定位全的

因为会持续输出,所以可以按CTRL^c进行停止 

3.GPS语句说明

GPS 输出的语句标准符合 NMEA‐0183   
V3.01 规范,输出的语句为$GPGGA, $GPGSA, $GPGSV, $GPRMC, $GPVTG,刷新率:
1Hz。
这是 5 秒钟通过串口发送的数据内容:
$GPGGA,081559.000,2607.3480,N,11917.4707,E,1,04,2.5,134.2,M,,,,0000*0F
$GPGSA,A,3,14,22,21,31,,,,,,,,,2.7,2.5,1.0*35
$GPGSV,2,1,08,18,68,148,,22,64,313,22,50,48,132,,12,44,076,*70
$GPGSV,2,2,08,14,36,316,34,31,24,242,30,21,17,194,29,15,13,088,*75
$GPRMC,081559.000,A,2607.3480,N,11917.4707,E,1.10,211.8,280212,,*35
$GPVTG,211.8,T,,M,1.10,N,2.0,K*58
$GPGGA,081600.000,2607.3480,N,11917.4711,E,1,04,2.5,134.1,M,,,,0000*04
$GPGSA,A,3,14,22,21,31,,,,,,,,,2.7,2.5,1.0*35
$GPGSV,2,1,08,18,68,148,,22,64,313,23,50,48,132,,12,44,076,*71
$GPGSV,2,2,08,14,36,316,34,31,24,242,30,21,17,194,29,15,13,088,*75
$GPRMC,081600.000,A,2607.3480,N,11917.4711,E,0.74,211.8,280212,,*3E
$GPVTG,211.8,T,,M,0.74,N,1.4,K*5C
$GPGGA,081601.000,2607.3480,N,11917.4714,E,1,04,2.5,134.1,M,,,,0000*00
$GPGSA,A,3,14,22,21,31,,,,,,,,,2.7,2.5,1.0*35
$GPGSV,2,1,08,18,68,148,,22,64,313,23,50,48,132,,12,44,076,*71
$GPGSV,2,2,08,14,36,316,34,31,24,242,31,21,17,194,29,15,13,088,*74
$GPRMC,081601.000,A,2607.3480,N,11917.4714,E,0.52,211.8,280212,,*3E
$GPVTG,211.8,T,,M,0.52,N,1.0,K*5C
$GPGGA,081602.000,2607.3478,N,11917.4718,E,1,04,2.5,134.0,M,,,,0000*09
$GPGSA,A,3,14,22,21,31,,,,,,,,,2.7,2.5,1.0*35
$GPGSV,2,1,08,18,68,148,,22,64,313,23,50,48,132,,12,44,076,*71
$GPGSV,2,2,08,14,36,316,34,31,24,242,31,21,17,194,29,15,13,088,*74
$GPRMC,081602.000,A,2607.3478,N,11917.4718,E,0.81,211.8,280212,,*38
$GPVTG,211.8,T,,M,0.81,N,1.5,K*57
$GPGGA,081603.000,2607.3476,N,11917.4728,E,1,04,2.5,133.9,M,,,,0000*0B
$GPGSA,A,3,14,22,21,31,,,,,,,,,2.7,2.5,1.0*35
$GPGSV,2,1,08,18,68,148,,22,64,313,23,50,48,132,,12,44,076,*71
$GPGSV,2,2,08,14,36,316,34,31,24,242,31,21,17,194,29,15,13,088,*74
$GPRMC,081603.000,A,2607.3476,N,11917.4728,E,1.15,211.8,280212,,*38
$GPVTG,211.8,T,,M,1.15,N,2.1,K*5C


以下是 NMEA‐0183 语句详解


1.Global Positioning System Fix Data(GGA)GPS 定位信息


$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>
<1> UTC 时间,hhmmss(时分秒)格式
<2> 纬度 ddmm.mmmm(度分)格式(前面的 0 也将被传输)
<3> 纬度半球 N(北半球)或 S(南半球)
<4> 经度 dddmm.mmmm(度分)格式(前面的 0 也将被传输)
<5> 经度半球 E(东经)或 W(西经)
<6> GPS 状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算
<7> 正在使用解算位置的卫星数量(00~12)(前面的 0 也将被传输)<8> HDOP 水平精度因子(0.5~99.9)
<9> 海拔高度(‐9999.9~99999.9)
<10> 地球椭球面相对大地水准面的高度
<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为
空)
<12> 差分站 ID 号 0000~1023(前面的 0 也将被传输,如果不是差分定位将为空)


2.GPS DOP and Active Satellites(GSA)当前卫星信息


$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh<CR><LF>
<1> 模式,M=手动,A=自动
<2> 定位类型,1=没有定位,2=2D 定位,3=3D 定位
<3> PRN 码(伪随机噪声码),正在用于解算位置的卫星号(01~32,前面的 0 也将被传输)。
<4> PDOP 位置精度因子(0.5~99.9)
<5> HDOP 水平精度因子(0.5~99.9)
<6> VDOP 垂直精度因子(0.5~99.9)


3.GPS Satellites in View(GSV)可见卫星信息


$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>*hh<CR><LF>
<1> GSV 语句的总数
<2> 本句 GSV 的编号
<3> 可见卫星的总数(00~12,前面的 0 也将被传输)
<4> PRN 码(伪随机噪声码)(01~32,前面的 0 也将被传输)
<5> 卫星仰角(00~90 度,前面的 0 也将被传输)
<6> 卫星方位角(000~359 度,前面的 0 也将被传输)
<7> 信噪比(00~99dB,没有跟踪到卫星时为空,前面的 0 也将被传输)
注:<4>,<5>,<6>,<7>信息将按照每颗卫星进行循环显示,每条 GSV 语句最多可以显示 4 颗卫星的信息。其他卫星信息将在下一序列的 NMEA0183 语句中输出。


4.Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最短定位信息

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
<1> UTC 时间,hhmmss(时分秒)格式
<2> 定位状态,A=有效定位,V=无效定位
<3> 纬度 ddmm.mmmm(度分)格式(前面的 0 也将被传输)
<4> 纬度半球 N(北半球)或 S(南半球)
<5> 经度 dddmm.mmmm(度分)格式(前面的 0 也将被传输)
<6> 经度半球 E(东经)或 W(西经)
<7> 地面速率(000.0~999.9 节,前面的 0 也将被传输)
<8> 地面航向(000.0~359.9 度,以真北为参考基准,前面的 0 也将被传输)
<9> UTC 日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0 度,前面的 0 也将被传输)
<11> 磁偏角方向,E(东)或 W(西)

相关文章:

GPS在Linux下的使用(war driving的前置学习)

1.ls /dev/tty* 列出所有与 tty 相关的设备文件。这些设备文件通常对应终端设备 ttyUSB0是GPS端口 2.cat /dev/ttyUSB0 用于读取并显示连接到 /dev/ttyUSB0 串口设备发送的原始数据 这种是GPS定位不全的&#xff0c;要拿到更开阔的地方 这种是GPS定位全的 因为会持续输出…...

开发经验总结: 读写分离简单实现

背景 使用mysql的代理中间件&#xff0c;某些接口如果主从同步延迟大&#xff0c;容易出现逻辑问题。所以程序中没有直接使用这个中间件。 依赖程序逻辑&#xff0c;如果有一些接口可以走读库&#xff0c;需要一个可以显示指定读库的方式来连接读库&#xff0c;降低主库的压力…...

MySQL(面试题 - 同类型归纳面试题)

目录 一、MySQL 数据类型 1. 数据库存储日期格式时&#xff0c;如何考虑时区转换问题&#xff1f; 2. Blob和text有什么区别&#xff1f; 3. mysql里记录货币用什么字段类型比较好&#xff1f; 4. MySQL如何获取当前日期&#xff1f; 5. 你们数据库是否支持emoji表情存储&…...

【C++ Primer Plus习题】17.7

问题: 解答: #include <iostream> #include <vector> #include <string> #include <fstream> #include <algorithm>using namespace std;const int LIMIT 50;void ShowStr(const string& str); void GetStrs(ifstream& fin, vector<…...

vue3(整合版)

创建第一个vue项目 1.安装node.js cmd输入node查看是否安装成功 2.vscode开启一个终端&#xff0c;配置淘宝镜像 # 修改为淘宝镜像源 npm config set registry https://registry.npmmirror.com 输入如下命令创建第一个Vue项目 3.下载依赖&#xff0c;启动项目 访问5173端口 …...

复制他人 CSDN 文章到自己的博客

文章目录 0.前言步骤 0.前言 在复制别人文章发布时&#xff0c;记得表明转载哦 步骤 在需要复制的csdn 文章页面&#xff0c;打开浏览器开发者工具&#xff08;F12&#xff09;Ctrl F 查找"article_content"标签头 右键“Copy”->“Copy element”新建一个 tx…...

【算法——二分查找】

理论基础&#xff1a; 程序员面试经典题&#xff0c;二分搜索一个区间&#xff0c;区间查找 (LeetCode 34)_哔哩哔哩_bilibili 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode&#xff1a;704. 二分查找_哔哩哔哩_bilibili 这个是红蓝法&#xff0c;很牛…...

Cisco Packet Tracer的安装加汉化

这个工具学计算机网络的同学会用到 1.下载安装 网盘链接&#xff1a;https://pan.baidu.com/s/1CmnxAD9MkCtE7pc8Tjw0IA 提取码&#xff1a;frkb 点击第一个进行安装&#xff0c;按步骤来即可。 2.汉化 &#xff08;1&#xff09;复制chinese.ptl文件 &#xff08;2&…...

MMain函数定义为WinMain函数看port1632.h和pwin32.h文件

编译win2k3的源代码的时候有时候看到MMain函数 ..//public/sdk/inc/port1632.h #if defined(WIN16) /* ---------------- Maps to windows 3.0 and 3.1 16-bit APIs ----------------*/ #include "ptypes16.h" #include "pwin16.h" #include "plan16.…...

单词搜索问题(涉及递归等)

目录 一题目&#xff1a; 二思路解释&#xff1a; 三解答代码&#xff1a; 一题目&#xff1a; newcode题目链接&#xff1a; 单词搜索_牛客题霸_牛客网 二思路解释&#xff1a; 思路&#xff1a;个人理解是找到word中的第一个元素&#xff0c;然后去递归的上下左右查找&am…...

Redis的一些通用指令

首先我们需要先连接客户端服务器&#xff0c;此时我们需要通过redis-cli和redis服务器进行交互&#xff0c;输入ping来确保通路的流畅 &#xff08;一&#xff09;get和set redis中最核心的两个命令就是get和set&#xff0c;get就是根据key来取出对应value&#xff0c;set就是把…...

C++中vector类的使用

目录 1.vector类常用接口说明 1.1默认成员函数 1.1.1构造函数(constructor) 1.1.2 赋值运算符重载(operator()) 2. vector对象的访问及遍历操作(Iterators and Element access) 3.vector类对象的容量操作(Capacity) 4. vector类对象的修改及相关操作(Modifiers and Stri…...

cmaklist流程控制——调试及发布

cmaklist流程控制 目前只会配置-编译调试-打包发布&#xff0c;并且不会workflow控制 后续学习配置-编译调试-测试-打包发布&#xff0c;workflow控制&#xff0c;理解整个流程&#xff0c;目前对流程控制理解也不够。 1.CMake Presets 先于Cmakelist文件&#xff0c;指导项…...

制作一个能对话能跳舞的otto机器人

OTTO机器人是一个开源外壳&#xff0c;硬件和软件的桌面机器人项目&#xff0c;非常适合新手研究和拓展。记住&#xff0c;他是一个能移动有表情能声音的机器人。 b站有很多演示和组装的视频&#xff0c;我就不多说了&#xff0c;照着做就好&#xff0c;因为硬件我也是刚入门&…...

git配置SSH

1 打开cmd窗口 2 在窗口中输入如下命令&#xff1a; 配置用户名&#xff1a; git config --global user.name “gyk” 配置邮箱&#xff1a; git config --global user.email “247929163qq.com” 继续在Git命令窗口中输入如下命令&#xff0c;即可生成SSH公钥和私钥 ss…...

mozilla/pdf.js view.html加载指定页码

mozilla/pdf.js view.html加载指定页码 在Mozilla’s PDF.js中&#xff0c;如果你想要在viewer.html加载时直接跳转到指定的页码&#xff0c;你可以通过修改URL来实现。 PDF.js使用查询参数来处理URL&#xff0c;其中page参数用于指定页码。你可以通过修改URL的查询字符串来设…...

Qt之QFuture理解

结构 #mermaid-svg-J9J683RG8QjtEqoM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-J9J683RG8QjtEqoM .error-icon{fill:#552222;}#mermaid-svg-J9J683RG8QjtEqoM .error-text{fill:#552222;stroke:#552222;}#merm…...

求二叉树的高度(递归和非递归)

假设二叉树采用二叉链表存储结构&#xff0c;设计一个算法求二叉树的高度。 递归&#xff1a; int getTreeHight(BiTree T){if(TNULL){return 0;}else {int lh getTreeHight(T->lchild);int rh getTreeHight(T->rchild);return (lh>rh?lh:rh)1;}}时间复杂度O(n)&a…...

Java查找算法——(四)分块查找(完整详解,附有代码+案例)

文章目录 分块查找1.1普通分块查找 分块查找 1.1普通分块查找 分块原则&#xff1a; 块内无序&#xff0c;块间有序:前一块中的最大数据&#xff0c;小于后一块中所有的数据&#xff0c;块与块之间不能有数据重复的交集。块的数量一般等于数字个数开根号 核心思路&#xff…...

进制数知识(2)—— 浮点数在内存中的存储 和 易混淆的二进制知识总结

目录 1. 浮点数在内存中的存储 1.1 浮点数的大V表示法 1.2 浮点数的存储格式 1.3 浮点数的存入规则 1.4 浮点数的读取规则 1.5 补充&#xff1a;移码与掩码 1.6 题目解析 2. 易错的二进制知识 2.0 符号位到底会不会参与运算&#xff1f; 2.0.1 存储前的编码变化运算 …...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...