文章目录
一、NMEA0183协议
NMEA0183协议协议解析,详细 NMEA协议标准参考 http://www.nmea.org/,NMEA详细协议下载链接:链接:https://pan.baidu.com/s/14dkAlVcFhPjCho5t37GRQw ,提取码:uxss 。图1是接收到一包GPS数据,包含30行数据。
1、NMEA基本框架·
以第1行数据为例:$GNGGA,081729.804,,,,,0,0,,,M,,M,,*5F<CR><LF>
$
是起始符,所有的语句都是以$
开始
<CR><LF>
是回车换行符为结束序列,所有的语句都是以<CR><LF>
结束
<CR>
:ASCII 13, \r
<LF>
:ASCII 10, \n
*5F
,*
后面跟的是校验和,其中5F
代表校验和,对$
和*
之间的数据(不包括这两个字符)按字节进行异或运算的结果,以十六进制表示。

2、常用语句
1)GNGGA
以第1行数据为例:$GNGGA,081729.804,,,,,0,0,,,M,,M,,*5F<CR><LF>
。GNGGA的GN
是发送器的标识符,表示是GNSS,定义如下:
发送器 | 标识符 |
---|---|
北斗导航卫星系统(BDS) | BD |
全球定位系统(GPS、SBAS、QZSS) | GP |
全球导航卫星系统(GLONASS) | GL |
全球导航卫星系统(GNSS) | GN |
自定义信息 | P |
GGA
:输出接收机时间、位置及定位相关的数据。
格式:$--GGA,UTCtime,Lat,uLat,Lon,uLon,FS,numSv,HDOP,Msl,uMsl,Sep,uSep,DiffAge,DiffSta*CS<CR><LF>

081729.804
表示UTC时间8h:17min:29.804s,UTC时间格式是hhmmss.sss,北京时间需要在此基础上+8h
。
因为这一包数据是未定位数据,所以有,,,,,
少了四个数据对应经纬度信息。
,0,0
,第一个0表示当前定位不可用或无效,第2个0表示用于定位的卫星数量为0。
,M,,M
,这2个M都是固定字符,高度的单位米。
2)GNGLL
$GNGLL,,,,,081729.804,V,N*6D<CR><LF>
。
同上因为未定位,无经纬度信息,多以有5个,
。