Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc

Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc

ID:27472448

大小:60.00 KB

页数:5页

时间:2018-12-04

Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc_第1页
Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc_第2页
Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc_第3页
Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc_第4页
Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc_第5页
资源描述:

《Dragonboard 410c开发板应用:使用Python脚本解析GPS报文位置信息.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Dragonboard410c开发板应用:使用Python脚本解析GPS报文位置信息  dragonboard410c是一款非常强大的开发板,其自带了GPS,wifi和高性能的图形处理单元,可以方便的实现物联网中的各项功能需求,GPS作为物联网设备中常用的功能,可以方便的实现对设备的定位,是许多物联网应用的基础,这篇blog将向大家简单的介绍如何使用Python脚本在dragonboard410c上解析GPS报文数据。    首先我们需要了解GPS报文格式,这里我们介绍和使用的是目前行业推荐的常用的GPS报文

2、格式,如下:  d.推荐定位信息(RMC)  $GPRMC,,,,,,,,,,,,*hh  UTC时间,hhmmss(时分秒)格式  定位状态,A=有效定位,V=无效定位  纬度ddmm.mmmm(度分)格式(前面的0也将被传输)  纬度半球N(北半球)或S(南半球)  经度dddmm.mmmm(度分)格式(前面的0也将被传输)  经度半球E(东经)或W(西经)  地面速率(000.0~999.9节,前面的0也将被传输)  地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)  UTC日

3、期,ddmmyy(日月年)格式  磁偏角(000.0~180.0度,前面的0也将被传输)  磁偏角方向,E(东)或W(西)  模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)  e.地面速度信息(VTG)  $GPVTG,,T,,M,,N,,K,*hh  以真北为参考基准的地面航向(000~359度,前面的0也将被传输)  以磁北为参考基准的地面航向(000~359度,前面的0也将被传输)  地面速率(000.0~999.9节,前面的0也将被传输)  地面速率(0

4、000.0~1851.8公里/小时,前面的0也将被传输)  模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)  看到上面的格式后,结合前面几篇blog中有关的XML文件的解析和python脚本消息的操作,这就非常简单了,我们如果需要读取GPS报文中的位置信息和时间信息,就可以设计下面的函数来完成:  classgpsDataProcessing:def__init__(self,gpsFrame):  self.gpsData=gpsFrame#getlaTItu

5、deandlongitudedatefromgpsFrame#EastLongitudeandNorthlaTItudeisabsposiTIvenumber+#WestlongtudeandsouthlaTItudeisnegative-#return(longitudeandlatitude)defgetPosition(self):  #whengpsFrameisGPRMC  longitude=0.0  latitude=0.0  dataList=self.gpsData.split(‘,’)  

6、utcTime=dataList[1]  ifdataList[0]==‘$GPRMC’ordataList[0]==‘$gprmc’:  ifdataList[6]==‘E’ordataList[6]==‘e’:  longitude=float(dataList[5])  elifdataList[6]==‘W’ordataList[6]==‘w’:  longitude=0-float(dataList[5])  else:  return-1  ifdataList[4]==‘N’ordataList

7、[4]==‘n’:  latitude=float(dataList[3])  elifdataList[4]==‘S’ordataList[4]==‘s’:  latitude=0-float(dataList[3])  else:  return-1  elifdataList[0]==‘$GPGGA’ordataList[0]==‘$gpgga’:  ifdataList[5]==‘E’ordataList[5]==‘e’:  longitude=float(dataList[4])  elifdata

8、List[5]==‘W’ordataList[5]==‘w’:  longitude=0-float(dataList[4])  else:  return-1  ifdataList[3]==‘N’ordataList[3]==‘n’:  latitude=float(dataList[2])  elifdataList[3]==‘S’ordataList[3]==‘s’:  latitude=0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。