GNSS模块使用笔记
GNSS芯片
ATGM336H-5N31(GPS+BDS双模)
原理图
NMEA0183 协议
前缀
- BD --- 北斗模式
- GP --- GPS模式
- GN --- 双模模式
指令
GNSS TO MCU
命令 | 字段 | 含义 | 格式 | 示例 |
$XXGGA(接收机时间、位置及定位相关的数 据) |
0 | 定位UTC时间 | hhmmss.000 | "083237.000":08时32分37秒 |
1 | 纬度 | ddmm.mmmmm | "2256.47697": 22度56.47697分 | |
2 | 北纬/南纬 | N/S | "N": 南纬;"S": 北纬 | |
3 | 经度 | dddmm.mmmmm | "11325.59708": 113度25.59708分 | |
4 | 东经/西经 | E/W | "E": 东经; "W": 西经 | |
5 | 质量因子 | 0/1/2 | "0": 没有定位;"1": 实时GPS;"2": 差分GPS | |
6 | 用于定位的卫星数目 | 00~24 | "13": 当前用于定位的卫星数量为13颗 | |
7 | 水平精度因子 | 1.0~99.9 | "1.6": 水平精度因子为1.4 | |
8 | 海拔高度 | -9999.9~99999.9 | "88.6": 当前海拔为88.6米 | |
9 | 高度单位 | M | "M": 高度单位,米,固定字符 M | |
10 | 大地椭球面相对海平面的高度 | -999.9~9999.9 | "0.0": 0米 | |
11 | 高度单位 | M | "M": 高度单位,米,固定字符 M | |
12 | 差分GPS数据年龄 | - | 未使用 DGPS 时该域为空 | |
13 | 差分参考站的 ID | 0000~1023 | 未使用 DGPS 时该域为空 | |
14 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
15 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXGLL(纬度、经度、定位时间与定位状态等信息) | 0 | 纬度 | ddmm.mmmmm | "2256.47697": 22度56.47697分 |
1 | 北纬/南纬 | N/S | "N": 南纬;"S": 北纬 | |
2 | 经度 | dddmm.mmmmm | "11325.59708": 113度25.59708分 | |
3 | 东经/西经 | E/W | "E": 东经; "W": 西经 | |
4 | 定位UTC时间 | hhmmss.000 | "083237.000":08时32分37秒 | |
5 | 数据有效性 | A/V | "A": 有效定位;"V": 无效定位 | |
6 | 定位模式 | A/D/E/N | "A": 自主定位;"D": 差分,"E"; 估算,"N": 数据无效 | |
7 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
8 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXGSA(定位的卫星编号与 DOP 信息) | 0 | 模式切换 | M/A | "M": 手动切换;"A": 自动切换 |
1 | 定位类型 | 1/2/3 | "1": 没有定位;"2": 2D定位;"3": 3D定位 | |
2 | 用于定位的卫星编号 | 01~12 | "12": 用于定位的卫星编号为12 | |
3 | 位置精度因子 | 0.5~99.9 | "15": 位置精度因子为15 | |
4 | 水平精度因子 | 0.5~99.9 | "22": 水平精度因子为22 | |
5 | 垂直精度因子 | 0.5~99.9 | "23": 垂直精度因子为23 | |
6 | NMEA 所定义的 GNSS 系统 ID 号 | - | 仅 NMEA 4.1 及以上版本有效 | |
7 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
8 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXGSV(可见卫星的卫星编号及其仰角、方位角、载噪比等信息) | 0 | GSV语句总数 | - | "3": 共收到3条GSV语句 |
1 | 当前GSV语句编号 | - | "1": 当前GSV语句编号为1 | |
2 | 可见卫星总数 | 00~12 | "12": 当前可见卫星总数为12 | |
3 | 卫星编号 | 01~32 | "10": 卫星编号为10 | |
4 | 卫星仰角 | 00~90 | "12": 卫星仰角为12度 | |
5 | 卫星方位角 | 000~359 | "205": 卫星方位角为205度 | |
6 | 信噪比 | 00~99 | "23": 23dB | |
7 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
8 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXRMC(推荐的最小定位信息) | 0 | 定位UTC时间 | hhmmss.000 | "083237.000":08时32分37秒 |
1 | 数据有效性 | A/V | "A": 有效定位;"V": 无效定位 | |
2 | 纬度 | ddmm.mmmmm | "2256.47697": 22度56.47697分 | |
3 | 北纬/南纬 | N/S | "N": 南纬;"S": 北纬 | |
4 | 经度 | dddmm.mmmmm | "11325.59708": 113度25.59708分 | |
5 | 东经/西经 | E/W | "E": 东经; "W": 西经 | |
6 | 对地速度 | 000.0~999.9 | "0.00": 当前对地速度为0.00节 | |
7 | 对地真航向 | 000.0~359.9 | "0.00": 以真北为参考基准,当前对地速度为0.00度 | |
8 | UTC日期 | ddmmyy | "270822": 27日08月2022年 | |
9 | 磁偏角 | - | 单位为度,固定为空 | |
10 | 磁偏角方向 | E/W | "E": 东; "W": 西 | |
11 | 定位模式 | A/D/E/N | "A": 自主定位;"D": 差分,"E"; 估算,"N": 数据无效 | |
12 | 导航状态标示符 | - | 仅 NMEA 4.1 及以上版本有效 | |
13 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
14 | 回车与换行 | <CR><LF> | 回车与换行符 | |
MCU TO GNSS
- 开启或停止输出NMEA语句
.xl65 { mso-style-parent: style0; text-align: center; mso-font-charset: 134 }
.xl66 { mso-style-parent: style0; text-align: center; mso-font-charset: 134 }
.xl67 { mso-style-parent: style0; text-align: justify; white-space: normal; mso-font-charset: 134 }
.xl68 { mso-style-parent: style0; text-align: justify; mso-font-charset: 134 }
命令 | 标识符 | 控制模式 | 频率(秒) | 示例 |
$CCRMO | GGA/GSA/GSV/RMC/... | 1-关闭指定语句 | 最慢1秒 | $CCRMO,RMC,1,1*20\r\n |
2-打开指定语句 | $CCRMO,RMC,2,1*23\r\n | |||
3-关闭全部语句 | $CCRMO,RMC,3,1*22\r\n | |||
4-打开全部语句 | $CCRMO,RMC,4,1*25\r\n |
- 串口波特率配置
.xl66 { mso-style-parent: style0; text-align: center; mso-font-charset: 134 }
.xl67 { mso-style-parent: style0; text-align: center; white-space: normal; mso-font-charset: 134 }
.xl68 { mso-style-parent: style0; text-align: justify; mso-font-charset: 134 }
.xl69 { mso-style-parent: style0; text-align: justify; mso-font-charset: 134 }
命令 | 波特率 | 示例 |
$PCAS10 | 0-4800 | $PCAS01,0*1C\r\n |
1-9600 | $PCAS01,1*1D\r\n | |
2-19200 | $PCAS01,2*1E\r\n | |
3-38400 | $PCAS01,3*1F\r\n | |
4-57600 | $PCAS01,4*18\r\n | |
5-115200 | $PCAS01,5*19\r\n |
GNSS模块使用笔记的更多相关文章
- [自娱自乐] 4、超声波测距模块DIY笔记(四)——终结篇·基于C#上位机软件开发
前言 上一节我们已经基本上把超声波硬件的发射和接收模块全部做好了,接下来我们着手开发一个软硬结合的基于C#的平面定位软件! 目录 一.整体思路 二.效果提前展示 2-1.软件部分展示 2-2.硬件部分 ...
- [自娱自乐] 3、超声波测距模块DIY笔记(三)
前言 上一节我们已经研究了超声波接收模块并自己设计了一个超声波接收模块,在此基础上又尝试用单片机加反相器构成生成40KHz的超声波发射电路,可是发现采用这种设计的发射电路存在严重的发射功率太低问题,对 ...
- Python 日期时间处理模块学习笔记
来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...
- logging模块配置笔记
logging模块配置笔记 log文件的路径 #判断在当前的目录下是否有一个logs文件夹.没有则创建 log_dir = os.path.dirname(os.path.dirname(__file ...
- FATFS模块应用笔记
FATFS模块应用笔记 如何港 范围 内存使用 模块尺寸缩小 长文件名 统一的API 重入 复制文件访问 性能有效文件访问 对闪存介质考虑 关键的第 延长使用FATFS API 关于FATFS许可证 ...
- [自娱自乐] 2、超声波测距模块DIY笔记(二)
前言 上一节我们已经大致浏览下目前销售的超声波测距模块同时设计了自己的分析电路,这次由于我买的电子元件都到了,所以就动手实验了下!至写该笔记时已经设计出超声波接收模块和超声波发射模块,同时存在超声波发 ...
- Python 3之str类型、string模块学习笔记
Windows 10家庭中文版,Python 3.6.4, Python 3.7官文: Text Sequence Type — str string — Common string operatio ...
- Python装饰器、metaclass、abc模块学习笔记
(博客原创作品,转载请注明出处!) 最近接触到了Python中的decorator,metaclass,abc Module,six.add_metaclass等内容,这里做一个简单的笔记. 主要资源 ...
- python 批量模块导入(笔记)
环境:python3.6 目的:根据列表['os', 'sys', 're']中的字符串导入对应模块 from importlib import import_module modules = ['o ...
随机推荐
- 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》
1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...
- SAP Web Dynpro-调试应用程序
您可以使用ABAP工作台中的各种工具来调试源代码. 您可以使用调试器测试Web Dynpro应用程序的所有源代码. 步骤1-要启动调试器,您必须在ABAP工作台中选择一个新的调试器. 步骤2-转到实用 ...
- React技巧之检查元素是否可见
原文链接:https://bobbyhadz.com/blog/react-check-if-element-in-viewport 作者:Borislav Hadzhiev 正文从这开始~ 总览 在 ...
- labelimg使用指南
labelimg使用指南 From RSMX - https://www.cnblogs.com/rsmx/ 目录 labelimg使用指南 1. 确保已经安装了 Python 环境 2. 使用pip ...
- 【小程序自动化Minium】三、元素定位- WXSS 选择器的使用
最近更新略疲,主要是业余时间多了几个变化.比如忙活自己的模拟赛车驾舱升级.还跟朋友筹备一个小程序项目.另外早上的时间留给背单词了... 上一章中讲到Page接口的get_element()与get_e ...
- Map接口中的常用方法和Map集合遍历键找值方式
Map接口中定义了很多方法,常用的如下: public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作) V remove(Object key); 如果此映射 ...
- Java多线程交替打印
1. synchronized实现双线程交替打印 class Print implements Runnable{ static int i=0; static final int n=100; @O ...
- [Java学习笔记] Java异常机制(也许是全网最独特视角)
Java 异常机制(也许是全网最独特视角) 一.Java中的"异常"指什么 什么是异常 一句话简单理解:异常是程序运行中的一些异常或者错误. (纯字面意思) Error类 和 Ex ...
- CodeSys中编程实现串口通讯
第一步:Linux中启用串口设备.[以树莓派4B为例] 树莓派4B有6个串口,参考上一篇<>,在 /boot/config.txt 中添加一行,开启 uart2 功能: dtoverl ...
- 详解 Apache Hudi Schema Evolution(模式演进)
Schema Evolution(模式演进)允许用户轻松更改 Hudi 表的当前模式,以适应随时间变化的数据. 从 0.11.0 版本开始,支持 Spark SQL(spark3.1.x 和 spar ...