对于接收到的GPS信息详解

时间:2023-01-03 23:35:59

最近一直在做gps驱动方面的东西,对于底层接收到的gps信息不是很了解,查询了资料对这些信息做出总结:

对于接收到的GPS信息详解

对于接收到的GPS信息详解



由于在室内,所以信号不是很好,接收不到卫星信号,必须站到窗口或者空旷的地方,这是gps的debug信息,里面有显示接收到的信息,并且逐条解析的过程。


GPS 接收信号输出信息

NMEA-0183 Ver3.0协议的输出信息有如下6种
GPGLL 地理位置和经纬度信息
GPGGA 位置信息
GPGSA GPS DOP和活动卫星信息
GPGSV 当前GPS卫星状态信息
GPRMC 推荐的最简定位信息
GPVTG 地面速度信息
//yyyy-MM-dd HH:mm:ss, SSS
// 年 月 日 时 分 秒 毫秒


1.位置信息(GPGGA)
例:$$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F
$ $GPGGA ,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M, <11>,<12>*hh
字段0:$$GPGGA,语句ID,表明该语句为GlobalPositioning System Fix Data(GGA)GPS定位信息
字段1:UTC 时间,hhmmss.sss,时分秒格式
字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段3:纬度N(北纬)或S(南纬)
字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段5:经度E(东经)或W(西经)
字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算
字段7:正在使用的卫星数量(00 -12)(前导位数不足则补0)
字段8:HDOP水平精度因子(0.5 - 99.9)
字段9:海拔高度(-9999.9 - 99999.9)
字段10:地球椭球面相对大地水准面的高度
字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
字段12:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)
字段13:校验值



2、地理位置和经纬度信息(GPGLL)
例:$$GPGLL,3232.1234,N,12121.3322,W,121212.456,A*2C
$ $GPGLL 、<1>,<2>,<3>,<4>,<5>,<6>*hh
<1>纬度:ddmm.mmmm格式
<2>纬度方向:N(北纬)或S(南纬)
<3>经度:dddmm.mmmm格式
<4>经度方向:E(东经)或W(西经)
<5>UTC时间(定位点):hhmmss.sss格式
<6>状态:A-数据有效? V-数据无效



3、GPS DOP和活动卫星信息(GPGSA)
例:$$GPGSA,A,3,07,09,15,27,02,04,26,, , , , ,1.8,1.0,1.5*25
$ $GPGSA ,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh
<1>模式:M—手动,A—自动
<2>当前状态:1—无定位信息,2—2D 3—3D
<3>使用卫星号:01~32
<4>位置精度
<5>垂直精度
<6>水平精度



4、当前GPS卫星状态信息(GPGSV)
例:$$GPGSV,2,1,07,09,25,305,42, 07,68,058,42,27,38,235,41, 04,15,168,42*40
$ $GPGSV ,2,2,07,02,48,067,41, 15,21,048,42, 05,33,105,40*68
$ $GPGSV ,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<4>,<5>,<6>,<7>*hh
<1>GSV语句的总数目:1~3
<2>当前GSV语句数目:1~3
<3>显示卫星的总数目 :一共7颗卫星
<4>卫星的ID号(星号):01~32
<5>卫星仰角(单位:度):<90
<6>卫星旋角(单位:度):0~359
<7>信噪比(单位DB/Hz):0~99
语句共两条,最多包括4颗星的信息。每个星有4个数据,即<4>—星号 <5>—仰角<6>—方位<7>—信噪比



5、推荐的最简定位信息(GPRMC)
例:$$GPRMC,121212.456,A,3232.1234,N,12121.3322,W,0.15,305.12,121299, ,*22
$ $GPRMC ,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,*hh
<1>UTC时间(定位点):hhmmss.sss 格式
<2>状态:A=定位V=导航
<3>纬度:ddmm.mmm 格式
<4>纬度方向:N 或S
<5>经度:dddmm.mmmm 格式
<6>经度方向:E或W
<7>对地航速(单位:哩/小时)
<8>对地航向(二维方向指向,相当于二维罗盘,单位:度)
<9>当前UTC日期(定位点):ddmmyy 格式
<10>磁偏角(单位:度)



6、地面速度信息(GPVTG)
例:$$GPVTG,305.12,T,,M,0.15,N,0.3,K*5C?
$ $GPVTG ,<1>,T,<2>,M,<3>,N,<4>K*hh
<1>对地航向(单位:度)
<2>磁偏角(单位:度)
<3>对地航速(单位:哩/小时)
<4>对地航速(单位:公里/小时)