注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

细节决定成败,决定做了,就全力以赴

 
 
 

日志

 
 

GPS数据包解析  

2016-05-02 17:23:36|  分类: 硬件 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
$GPGGA,121252.000,3937.3032,N,11611.6046,E,1,05,2.0,45.9,M,-5.7,M,,0000*77 
$GPRMC,121252.000,A,3958.3032,N,11629.6046,E,15.15,359.95,070306,,,A*54 
$GPVTG,359.95,T,,M,15.15,N,28.0,K,A*04 
$GPGGA,121253.000,3937.3090,N,11611.6057,E,1,06,1.2,44.6,M,-5.7,M,,0000*72 
$GPGSA,A,3,14,15,05,22,18,26,,,,,,,2.1,1.2,1.7*3D 
$GPGSV,3,1,10,18,84,067,23,09,67,067,27,22,49,312,28,15,47,231,30*70 

 

 

 

GPS上电后,每隔一定的时间就会返回一定格式的数据,数据格式为:

$信息类型,xxxxxxxxxxxxx

每行开头的字符都是‘$’,接着是信息类型,后面是数据,以逗号分隔开。一行完整的数据如下:

    $GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809,,,A*60

 

信息类型为:

GPGSV:可见卫星信息

GPGLL:地理定位信息

GPRMC:推荐最小定位信息

GPVTG:地面速度信息

GPGGAGPS定位信息

GPGSA:当前卫星信息

 

这里我们只解析GPRMCGPGGA的信息

 

GPRMC数据详解:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

<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=数据无效)

 

解析内容:

1.   时间,这个是格林威治时间,是世界时间(UTC),我们需要把它转换成北京时间(BTC),BTCUTC差了8个小时,要在这个时间基础上加8个小时。

2.   定位状态,在接收到有效数据前,这个位是‘V’,后面的数据都为空,接到有效数据后,这个位是‘A’,后面才开始有数据。

3.   纬度,我们需要把它转换成度分秒的格式,计算方法:

如接收到的纬度是:4546.40891

4546.40891 / 100  =  45.4640891   可以直接读出45

4546.40891–45 * 100 = 46.40891   可以直接读出46

46.40891–46 = 0.40891 * 60 = 24.5346  读出24

所以纬度是:454624秒。

4.   南北纬,这个位有两种值‘N’(北纬)和‘S’(南纬)

5.   经度的计算方法和纬度的计算方法一样

6.   东西经,这个位有两种值‘E’(东经)和‘W’(西经)

7.   速率,这个速率值是 海里/时,单位是节,要把它转换成千米/时,根据:1海里 = 1.85公里,把得到的速率乘以1.85

8.   航向,指的是偏离正北的角度

9.   日期,这个日期是准确的,不需要转换

 

GPGGA数据详解:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF>

$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据)

<1>  UTC时间,格式为hhmmss.sss

<2>  纬度,格式为ddmm.mmmm(第一位是零也将传送)

<3>  纬度半球,NS(北纬或南纬)

<4>  经度,格式为dddmm.mmmm(第一位零也将传送)

<5>  经度半球,EW(东经或西经)

<6>  定位质量指示,0=定位无效,1=定位有效;

<7>  使用卫星数量,从0012(第一个零也将传送)

<8>  水平精确度,0.599.9

<9>  天线离海平面的高度,-9999.99999.9  指单位米

<10> 大地水准面高度,-9999.99999.9  M    指单位米

<11> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量

<12>  差分参考基站标号,从00001023(首位0也将传送)

 

解析内容:

    910个字段,海平面高度和大地水准面高度,单位是米

  评论这张
 
阅读(38)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017