GPS ,其实也没啥可好奇。

来源:互联网 发布:土建工程预算软件 编辑:程序博客网 时间:2024/04/30 02:25

 

 

    GPS只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送进来,若要对GPS进行信息提取必须首先明确其帧结构,然后才能根据其结构完成对各定位信息的提取。
    NMEA0183协议是美国国家海洋电子协会(NationaIMarine Electronlcs Association)制定的GPS接口协议标准。NMEA0183定义了若干代表不同含义的语句,每个语句实际上是一个ASCII码串。这种码直观,易于识别和应用。在分析中,不需要了解NMEA0183通信协议的全部信息,仅需要从中挑选出需要的那部分定位数据,其余的信息忽略掉。

 

 

 

 

GPS数据格式:


GPS DOP and Active Satellites(GSA)当前卫星信息
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF>
<1>模式:M = 手动, A = 自动。
<2>定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。
<3>PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收12 颗卫星信息。
<4> PDOP 位置精度因子(0.5~99.9)
<5> HDOP 水平精度因子(0.5~99.9)
<6> VDOP 垂直精度因子(0.5~99.9)
<7> Checksum.(检查位).


2 GPS Satellites in View(GSV)可见卫星信息
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8><CR><LF>
<1> GSV 语句的总数
<2> 本句GSV 的编号
<3> 可见卫星的总数,00 至 12。
<4> 卫星编号, 01 至 32。
<5>卫星仰角, 00 至 90 度。
<6>卫星方位角, 000 至 359 度。实际值。
<7>讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。
<8>Checksum.(检查位).
第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。

 

3 Global Positioning System Fix Data(GGA)GPS 定位信息
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>
<1> UTC 时间,hhmmss(时分秒)格式
<2> 纬度ddmm.mmmm(度分)格式(前面的0 也将被传输)
<3> 纬度半球N(北半球)或S(南半球)
<4> 经度dddmm.mmmm(度分)格式(前面的0 也将被传输)
<5> 经度半球E(东经)或W(西经)
<6> GPS 状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算
<7> 正在使用解算位置的卫星数量(00~12)(前面的0 也将被传输)
<8> HDOP 水平精度因子(0.5~99.9)
<9> 海拔高度(-9999.9~99999.9)
<10> 地球椭球面相对大地水准面的高度
<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
<12> 差分站ID 号0000~1023(前面的0 也将被传输,如果不是差分定位将为空)

 

4 Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
<1> UTC 时间,hhmmss(时分秒)格式
<2> 定位状态,A=有效定位,V=无效定位
<3> 纬度ddmm.mmmm(度分)格式(前面的0 也将被传输)
<4> 纬度半球N(北半球)或S(南半球)
<5> 经度dddmm.mmmm(度分)格式(前面的0 也将被传输)
<6> 经度半球E(东经)或W(西经)
<7> 地面速率(000.0~999.9 节,前面的0 也将被传输)
<8> 地面航向(000.0~359.9 度,以真北为参考基准,前面的0 也将被传输)
<9> UTC 日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0 度,前面的0 也将被传输)
<11> 磁偏角方向,E(东)或W(西)
<12> 模式指示(仅NMEA0183 3.00 版本输出,A=自主定位,D=差分,E=估算,N=
数据无效)


5 Track Made Good and Ground Speed(VTG)地面速度信息
$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> 模式指示(仅NMEA0183 3.00 版本输出,A=自主定位,D=差分,E=估算,N=数
据无效)__

 

 

 

 


 

 

 

GPS接收的数据Log:


$GPRMC,073550.000,A,3959.2134,N,11619.6676,E,1.19,180.54,180310,,*00
$GPGGA,073551.000,3959.2129,N,11619.6675,E,1,05,3.7,49.2,M,-6.5,M,,0000*7B
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073551.000,A,3959.2129,N,11619.6675,E,0.95,178.90,180310,,*04
$GPGGA,073552.000,3959.2120,N,11619.6674,E,1,05,3.7,49.0,M,-6.5,M,,0000*72
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073552.000,A,3959.2120,N,11619.6674,E,0.96,178.68,180310,,*0B
$GPGGA,073553.000,3959.2122,N,11619.6674,E,1,05,3.7,49.0,M,-6.5,M,,0000*71
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073553.000,A,3959.2122,N,11619.6674,E,0.27,156.04,180310,,*04
$GPGGA,073554.000,3959.2121,N,11619.6674,E,1,05,3.7,48.9,M,-6.5,M,,0000*7D
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPGSV,3,1,12,18,87,063,24,26,69,341,43,09,62,058,41,27,53,051,39*7F
$GPGSV,3,2,12,22,52,310,45,24,45,272,,31,38,208,,15,34,199,*7E
$GPGSV,3,3,12,21,32,203,,14,08,263,,30,04,168,,10,03,125,*7F
$GPRMC,073554.000,A,3959.2121,N,11619.6674,E,0.69,173.63,180310,,*0C
$GPGGA,073555.000,3959.2115,N,11619.6673,E,1,05,3.7,48.8,M,-6.5,M,,0000*7D
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073555.000,A,3959.2115,N,11619.6673,E,1.00,179.14,180310,,*09
$GPGGA,073556.000,3959.2115,N,11619.6674,E,1,05,3.7,48.7,M,-6.5,M,,0000*76
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073556.000,A,3959.2115,N,11619.6674,E,0.72,174.63,180310,,*04
$GPGGA,073557.000,3959.2118,N,11619.6674,E,1,05,3.7,48.7,M,-6.5,M,,0000*7A
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073557.000,A,3959.2118,N,11619.6674,E,0.30,157.08,180310,,*02
$GPGGA,073558.000,3959.2129,N,11619.6676,E,1,05,3.7,48.8,M,-6.5,M,,0000*7A
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073558.000,A,3959.2129,N,11619.6676,E,0.35,35.31,180310,,*37
$GPGGA,073559.000,3959.2143,N,11619.6678,E,1,05,3.7,48.9,M,-6.5,M,,0000*78
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPGSV,3,1,12,18,87,063,24,26,69,341,43,09,62,058,41,27,53,051,39*7F
$GPGSV,3,2,12,22,52,310,45,24,45,272,,31,38,208,,15,34,199,*7E
$GPGSV,3,3,12,21,32,203,,14,08,263,,30,04,168,,10,03,125,*7F
$GPRMC,073559.000,A,3959.2143,N,11619.6678,E,0.43,30.56,180310,,*31
$GPGGA,073600.000,3959.2149,N,11619.6680,E,1,05,3.7,49.0,M,-6.5,M,,0000*72
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073600.000,A,3959.2149,N,11619.6680,E,0.17,119.93,180310,,*01
$GPGGA,073601.000,3959.2159,N,11619.6681,E,1,05,3.7,49.1,M,-6.5,M,,0000*72
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073601.000,A,3959.2159,N,11619.6681,E,0.16,75.84,180310,,*3C
$GPGGA,073602.000,3959.2165,N,11619.6682,E,1,05,3.7,49.2,M,-6.5,M,,0000*7E
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073602.000,A,3959.2165,N,11619.6682,E,0.18,70.13,180310,,*36
$GPGGA,073603.000,3959.2166,N,11619.6682,E,1,05,3.7,49.2,M,-6.5,M,,0000*7C
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073603.000,A,3959.2166,N,11619.6682,E,0.21,141.70,180310,,*08
$GPGGA,073604.000,3959.2153,N,11619.6680,E,1,05,3.7,49.0,M,-6.5,M,,0000*7D
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPGSV,3,1,12,18,87,063,24,26,69,341,43,09,62,058,41,27,53,051,39*7F
$GPGSV,3,2,12,22,52,310,45,24,45,272,,31,38,208,,15,34,199,*7E
$GPGSV,3,3,12,21,32,203,,14,08,263,,30,04,168,,10,03,125,*7F
$GPRMC,073604.000,A,3959.2153,N,11619.6680,E,0.84,177.27,180310,,*03
$GPGGA,073605.000,3959.2140,N,11619.6678,E,1,05,3.7,48.8,M,-6.5,M,,0000*70
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073605.000,A,3959.2140,N,11619.6678,E,1.39,181.38,180310,,*07
$GPGGA,073606.000,3959.2135,N,11619.6677,E,1,05,3.7,48.7,M,-6.5,M,,0000*71
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073606.000,A,3959.2135,N,11619.6677,E,0.75,176.70,180310,,*04
$GPGGA,073607.000,3959.2123,N,11619.6675,E,1,05,3.7,48.5,M,-6.5,M,,0000*77
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073607.000,A,3959.2123,N,11619.6675,E,0.74,176.95,180310,,*0A
$GPGGA,073608.000,3959.2132,N,11619.6677,E,1,05,3.7,48.6,M,-6.5,M,,0000*79
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPRMC,073608.000,A,3959.2132,N,11619.6677,E,0.18,61.27,180310,,*33
$GPGGA,073609.000,3959.2134,N,11619.6677,E,1,05,3.7,48.7,M,-6.5,M,,0000*7F
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.9,3.7,1.0*3C
$GPGSV,3,1,12,18,87,063,23,26,69,341,42,09,62,058,41,27,53,051,39*79
$GPGSV,3,2,12,22,52,310,45,24,45,272,,31,38,208,,15,34,199,*7E
$GPGSV,3,3,12,21,32,203,,14,08,263,,30,04,168,,10,03,125,*7F
$GPRMC,073609.000,A,3959.2134,N,11619.6677,E,0.28,153.30,180310,,*01
$GPGGA,073610.000,3959.2143,N,11619.6679,E,1,05,3.7,48.8,M,-6.5,M,,0000*76
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.8,3.7,1.0*3D
$GPRMC,073610.000,A,3959.2143,N,11619.6679,E,0.21,54.47,180310,,*38
$GPGGA,073611.000,3959.2149,N,11619.6680,E,1,05,3.7,48.9,M,-6.5,M,,0000*7A
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.8,3.7,1.0*3D
$GPRMC,073611.000,A,3959.2149,N,11619.6680,E,0.21,52.48,180310,,*3C
$GPGGA,073612.000,3959.2159,N,11619.6681,E,1,05,3.7,49.1,M,-6.5,M,,0000*70
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.8,3.7,1.0*3D
$GPRMC,073612.000,A,3959.2159,N,11619.6681,E,0.31,35.71,180310,,*35
$GPGGA,073613.000,3959.2165,N,11619.6682,E,1,05,3.7,49.2,M,-6.5,M,,0000*7E
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.8,3.7,1.0*3D
$GPRMC,073613.000,A,3959.2165,N,11619.6682,E,0.53,23.22,180310,,*3D
$GPGGA,073614.000,3959.2175,N,11619.6684,E,1,05,3.7,49.4,M,-6.5,M,,0000*78
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.8,3.7,1.0*3D
$GPGSV,3,1,12,18,87,067,23,26,69,341,42,09,61,057,40,27,53,051,39*70
$GPGSV,3,2,12,22,52,310,46,24,45,271,,31,38,208,,15,34,199,*7E
$GPGSV,3,3,12,21,32,202,,14,08,263,,30,07,164,,10,03,125,*71
$GPRMC,073614.000,A,3959.2175,N,11619.6684,E,0.99,16.51,180310,,*39
$GPGGA,073615.000,3959.2170,N,11619.6683,E,1,05,3.7,49.3,M,-6.5,M,,0000*7C
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.8,3.7,1.0*3D
$GPRMC,073615.000,A,3959.2170,N,11619.6683,E,0.16,96.19,180310,,*39
$GPGGA,073616.000,3959.2179,N,11619.6685,E,1,05,3.7,49.5,M,-6.5,M,,0000*76
$GPGSA,A,3,09,22,26,27,18,,,,,,,,3.8,3.7,1.0*3D
$GPRMC,073616.000,A,3959.2179,N,11619.6685,E,0.32,160.55,180310,,*03
$PSRFTXT,Version:GSW3.2.4_3.1.00.12-SDK003P1.00a
$PSRFTXT,Version2:F-GPS-03-0701231
$PSRFTXT,WAAS Disable
$PSRFTXT,TOW:  372971
$PSRFTXT,WK:   1575 

 

 

gps信息

 

 

   为了给用户简明清晰的定位和导航信息,我们必须将GPS数据进行转换,再显示出来。

 


   比如,在我的地图定位中,地图坐标(0,0)的点即为GPS的(3136.4227 ,11994.8942),单个像素纬度/经度(0.03211387*0.05595)。

 

   GPS信息转换为地图坐标满足

  (GPS经纬度–原点经纬度)/ 单个像素经纬度

还有第三方地图库的支持

地图

 


 

 

 


 串口测试用c实现:

 

 

 

 

    刚刚捣腾完GPS,因为网上的资料七零八碎的,好不容易才折腾清楚,在这简单做个总结。

原创粉丝点击