NMEA-0183 协议 GPS 介绍
今天来学习一下GPS相关的知识点,使用的是u-blox 的NEO-6M/7MGPS模块。
NMEA-0183 协议简介
NMEA-0183 是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。目前业已成了GPS导航设备统一的RTCM(Radio Technical Commission for Maritime services)标准协议。
通信方式:串口通信
数据格式:采用ASCII码来传递GPS定位信息,每条数据称为“帧”或“句子”。
帧格式形如:$aaccc,ddd,ddd,…,ddd*hh(CR)(LF)
1、“$”:帧命令起始位 2、aaccc:地址域,前两位为识别符(aa),后三位为语句名(ccc) 3、ddd…ddd:数据 4、“*”:校验和前缀(也可以作为语句数据结束的标志) 5、hh:校验和(check sum),$ 与 * 之间所有字符ASCII码的校验和(各字节做异或运算[相同为0,不同为1],得到校验和后,再转换为16进制格式的ASCII字符) 6、(CR)(LF):帧结束,回车和换行符
[UTC] UTC 时间即协调世界时,相当于本初子午线(0 度经线)上的时间,北京时间比 UTC 早 8 个小时。
指令说明
GPS模块串口发送的句子:
$GPVTG,,T,,M,0.380,N,0.704,K,A*2B
$GPGGA,061447.00,4003.520926,N,11620.220960,E,1,04,7.55,61.0,M,-8.7,M,,*7D
$GPGSA,A,3,17,19,05,20.9.51,7.55,5.79*0A
$GPGSV,3,1,12,02,,,27,03,,,27,04,,24,05,31,235,47*4B
$GPGLL,4003.520926,N,11620.220960,E,061447.00,A,A*6E
$GPRMC,061448.00,A,4003.520920,N,11620.220964,E,0.301,,310524,,,A*71
$GPVTG 速度和航向信息
$GPVTG语句的基本格式如下:$GPVTG,(1),T,(2),M,(3),N,(4),K,(5)*hh(CR)(LF)
(1) 以真北为参考基准的地面航向(000~359度,前面的0也将被传输) (2) 以磁北为参考基准的地面航向(000~359度,前面的0也将被传输) (3) 地面速率(000.0~999.9节,前面的0也将被传输) (4) 地面速率(0000.0~1851.8公里/小时,前面的0也将被传输) (5) 模式指示(A=自主定位,D=差分,E=估算,N=数据无效)
$GPVTG,,T,,M,0.380,N,0.704,K,A*2B 句子解析:
,,T
:真北航向(空缺,表示无数据)
,,M
:磁北航向(空缺,表示无数据)
0.380,N
:表示地面速度,0.380节,单位为海里/小时(N)
0.704,N
:表示地面速度,0.704公里/小时(K)
A
:模式指示,A表示自主定位
2B
:表示校验和($ 和 * 之间的数据进行异或运算)
GPRMC 推荐定位信息(常用)
$GPRMC语句的基本格式如下:$GPRMC,(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)*hh(CR)(LF)
(1) UTC时间,hhmmss(时分秒)
(2) 定位状态,A=有效定位,V=无效定位
(3) 纬度ddmm.mmmmmm(度分),若前导位数不足,则用0填充
(4) 纬度半球N(北半球)或S(南半球),若前导位数不足,则用0填充
(5) 经度dddmm.mmmmmm(度分)
(6) 经度半球E(东经)或W(西经)
(7) 地面速率(000.0~999.9节)
(8) 地面航向(000.0~359.9度,以真北方为参考基准)
(9) UTC日期,ddmmyy(日月年)
(10)磁偏角(000.0~180.0度,前导位数不足则补0)
(11) 磁偏角方向,E(东)或W(西)
(12) 模式指示(A=自主定位,D=差分,E=估算,N=数据无效)
$GPRMC,061448.00,A,4003.520920,N,11620.220964,E,0.301,,310524,,,A*71 句子解析
061448.00
:UTC时间,06时14分48秒
A
:定位状态,有效定位
4003.520920,N
:纬度,40度03.520920分,北纬,N表示北半球。范围:000.0~359.9度。
11620.220964,E
:经度,116度20.220964分,东经,E表示东经。
0.301
:地面速度,0.301节(海里/小时)。范围:000.0~999.9节。
,,
:地面航向(空缺,表示无数据)
310524
:日期,31日05月24年
,,,
:磁偏角度数和方向都空缺
A
:模式指示,A表示自主定位
71
:表示校验和($ 和 * 之间的数据进行异或运算)
本篇完。
本人博客仅代表个人见解方便记录成长笔记。
若有不足,请指出,感谢您的阅读!