NMEA-0183协议详解
NMEA-0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。目前业已成了GPS导航设备统一的RTCM(Radio Technical Commission for Maritime services )标准协议。
一.消息内容识别码
----+--------------+---+------------------------------------------+-----------------------
1. $GPGGA : 时间、位置、全球定位数据 最大帧长72
2. $GPGSA : 接收机模式和卫星PRN数据 最大帧长65
3. $GPGSV : 卫星状态信息 最大帧长210
4. $GPRMC : 速度、运输定位数据 最大帧长70
5. $GPVTG : 方位角与对地速度信息 最大帧长34
6. $GPGLL : 大地坐标信息
7. $GPZDA : UTC时间和日期
-----+--------------+----+----------------------------------------+-----------------------
△注释:发送次序$GPZDA ; $GPGGA ; $GPGLL ; $GPVTG ; $GPGSA ; $GPGSV*3 ; $GPRMC
协议帧总说明:
该协议采用ASCII码,其串行通信默认参数为:波特率=48000bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
帧格式形如:$aaccc ,ddd ,ddd ,...... ,ddd*hh<CR><LF>
1、“$”——帧命令起始位
2、aaccc——地址域,前两位为识别符,后三位为语句名
3、ddd...ddd——数据
4、“*”——校验和前缀
5、hhh——校验和(check sum),$与*之间所有字符ASCII码的校验和(各字节做异或运算,得到校验和后,在转换16进制格式的ASCII字符。)
6、<CR><LF>——CR(Carriage Return)+ LF (Line Feed)帧结束,回车换行。
⑴ GPGGA
GPS固定数据输出语句,是一帧GPS定位的主要数据,也是使用最广的数据。
样例:
$GPGGA, 1661229.478 , 3723.2475 , N, 12158.3416 , W, 1 , 07 , 1.0 , 9.0 , M, 7.3 , M, , 0000*18
格式:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15><CR><LF>
解析:
$--GGA 消息ID, $GPGGA,GGA协议头。
<1> UTC时间,1661229.478, 格式为hhmmss.sss。
<2> 纬度, 3723.2475,格式:ddmm.mmmm(前导位数不足则补0)。
<3> N/S指示,纬度半球,N,格式:N或S(北纬或南纬)。
<4> 经度,12158.3416,格式:ddmm.mmmm(前导位数不足则补0)。
<5> E/W指示,经度半球,W,格式:E或W(东经或西经)。
<6> 定位质量指示,1, 0=定位无效, 1=定位有效。
<7> 可用卫星数目,07,范围:0~24(GPS+BDS)。
<8> HDOP(水平精确度),1.0,范围:0.5~99.9。
<9> 天线离海平面的高度,9.0,范围:-9999.9到9999.9