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 ...
随机推荐
- 10.Linux防火墙iptables之SNAT与DNAT
Linux防火墙iptables之SNAT与DNAT 目录 Linux防火墙iptables之SNAT与DNAT SNAT策略及应用 SNAT策略概述 SNAT策略典型应用环境 SNAT策略原理 SN ...
- 自己实现一个自定义React项目脚手架「ReactCli」
前言 首先为什么想到自己实现一个React脚手架呢?是因为之前刚接触create-react-app时,觉得不太灵活.虽然文件目录很清晰,但是还是觉得不如VueCLI的可以自定义配置更加灵活.当然Re ...
- Vue关于echats的使用(浅显易懂)
安装 npm install echarts --save 引入 (全局) main.js import * as echarts from 'echarts'; Vue.prototype.$ech ...
- 基于swiftadmin极速后台开发框架,我制作了菜鸟教程[专业版]
由于互联网上基础编程教学的文档和视频教程已经有很多了,为什么还要建立菜鸟教程网, 这是因为基于我个人在十余年的自学编程的道路上.,我能深刻的体会到一名新手 在入门编程的时候,门槛在哪里,痛点在哪里?很 ...
- 使用MySqlBulkLoader批量插入数据
最近在项目中遇到插入几万.几十万.几百万的数据到MYSQL数据库,使用EF插入会发现插入速度非常慢的场景, 数据量非常大时EF插入需要几十分钟,甚至几个小时,这样子的速度肯定不是我们所期望的. 后面经 ...
- ssh-基于ssh的文件传输
scp 基于ssh做Linux主机间的文件传输 scp 文件路径 用户名@被传输的主机名/IP:文件要存放的路径 scp /etc/fstab root@10.0.0.2:/t ...
- TypeScript let与var的区别
1.作用域不同 用var声明的变量,只有函数作用域和全局作用域,没有块级作用域.而let可以实现块级作用域,只能在代码块{}内有效,在{}之外不能访问,如下代码所示: { let a = 0; var ...
- CVPR 2017:See the Forest for the Trees: Joint Spatial and Temporal Recurrent Neural Networks for Video-based Person Re-identification
[1] Z. Zhou, Y. Huang, W. Wang, L. Wang, T. Tan, Ieee, See the Forest for the Trees: Joint Spatial a ...
- Java开发学习(九)----IOC之核心容器
这里所说的核心容器,大家可以把它简单的理解为ApplicationContext,前面虽然已经用到过,但是并没有系统的介绍过,接下来咱们从以下几个问题入手来下容器的相关知识: 如何创建容器? 创建好容 ...
- Vue模板解析
mustcache 什么是模板引擎 模板引擎是将数据变为视图的最优雅的解决方案 数据 [ {"name":"小明","age":12,&qu ...