陈拓 2022/05/07-2022/05/09
1. 简介
本文以GPS+北斗卫星定位授时导航模块HT1818Z3G5L为例,在Win10下读数据。
2. 连接PC机和HT1818Z3G5L模块
如图,用CH340G USB转串口线连接PC和HT1818Z3G5L模块。
3. Win10使用CH340 USB-SERIAL串口读数据
https://blog.csdn.net/chentuo2000/article/details/112323488?spm=1001.2014.3001.5501
打开串口调试助手,设置波特率为9600,就能读到HT1818Z3G5L模块的数据了。
HT1818Z3G5L模块每秒发送一次数据。每次发送若干行组成一帧,一帧数据样例:
$GNGGA,132506.000,2233.87430,N,11407.13740,E,1,13,1.0,103.3,M,-2.8,M,,*5E
$GNGLL,2233.87430,N,11407.13740,E,132506.000,A,A*4E
$GNGSA,A,3,02,05,15,23,24,29,195,,,,,,1.6,1.0,1.3,1*07
$GNGSA,A,3,07,10,16,21,34,42,,,,,,,1.6,1.0,1.3,4*33
$GPGSV,3,1,09,02,34,134,15,05,40,044,14,15,71,308,25,18,32,326,26,0*68
$GPGSV,3,2,09,20,25,074,,23,13,293,37,24,32,174,31,29,45,251,37,0*6B
$GPGSV,3,3,09,195,50,158,31,0*6A
$BDGSV,3,1,11,03,,,28,07,13,193,27,10,14,207,32,12,,,35,0*71
$BDGSV,3,2,11,16,66,191,29,21,47,308,41,22,41,027,,34,33,309,25,0*74
$BDGSV,3,3,11,40,,,33,42,12,265,36,44,,,28,0*4B
$GNRMC,132506.000,A,2233.87430,N,11407.13740,E,0.00,244.71,080522,,,A,V*0A
$GNVTG,244.71,T,,M,0.00,N,0.00,K,A*27
$GNZDA,132506.000,08,05,2022,00,00*44
$GPTXT,01,01,01,ANTENNA OPEN*25
4. 数据格式和解析
HT1818Z3G5L模块使用NMEA-0183协议的报文,详细说明见《CASIC多模卫星导航接收机协议规范》
https://download.csdn.net/download/chentuo2000/85317996
每帧数据由若干行组成,每行从标识符和消息名开始。
$:起始符
接下来的2个字母
接下来的3个字母
第1行
$GNGGA,132506.000,2233.87430,N,11407.13740,E,1,13,1.0,103.3,M,-2.8,M,,*5E
$GNGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,*CS
GGA接收机定位数据。GN是GPS+北斗双模式
<1> 132506.000:UTC时间,hhmmss.sss(时分秒.毫秒)格式
<2> 2233.87430:纬度ddmm.mmmm(度分)格式(前导位数不足补0)
<3> N:纬度半球N(北半球)或S(南半球)
<4> 11407.13740:经度dddmm.mmmm(度分)格式(前导位数不足补0)
<5> E:经度半球E(东经)或W(西经)
<6> 1: GPS状态:0=未定位,1=非差分定位,2=差分定位,3=PPS模式
<7> 13:正在使用解算位置的卫星数量(00~24)(前导位数不足补0)
<8> 1.0:HDOP水平精度因子(0.5~99.9)
<9> 103.3:海拔高度(-9999.9~99999.9)
<10> M:高度单位
<11> -2.8:地球椭球面相对于海平面的高度
<12> M:高度单位
<13> :差分修订时间。如果不是差分定位,此项为空
<CS> *5E:校验和,$和*之间(不包括$和*)所有字符的异或结果
第2行
$GNGLL,2233.87430,N,11407.13740,E,132506.000,A,A*4E
$GNGLL,<1>,<2>,<3>,<4>,<5>,<6>,*CS
GLL地理位置-经度/纬度
<1> 2233.87430:纬度ddmm.mmmm(度分)格式(前导位数不足补0)
<2> N:纬度半球N(北半球)或S(南半球)
<3> 11407.13740:经度dddmm.mmmm(度分)格式(前导位数不足补0)
<4> E:经度半球E(东经)或W(西经)
<5> 132506.000:UTC时间,hhmmss.sss(时分秒.毫秒)格式
<6> A: 定位状态,A=定位,V=未定位
<CS> A*4E:校验和
第3行、第4行(当接收机处于多系统联合工作时,每个系统的可用卫星对应一条 GSA语句, 每条GSA语句都包含根据组合卫星系统得到的PDOP、HDOP 和VDOP。当前接收机处于GPS+BD联合工作,所有有2条GSA语句)
$GNGSA,A,3,02,05,15,23,24,29,195,,,,,,1.6,1.0,1.3,1*07
$GNGSA,A,3,07,10,16,21,34,42,,,,,,,1.6,1.0,1.3,4*33
$GNGSA,<1>,<2>,<3>,<4>~<14>,<15>,<16>,<17>,*CS
GSA精度因子与有效卫星
<1> A:定位模式,M:手动;A:自动
<2> 3:定位类型,1 无定位信息;2 二维定位;3 三维定位
<3> 02:第1信道正在使用的卫星PRN编号,01~32,最多可接收12颗卫星信息
<4>~<14> 第2信道~第12信道正在使用的卫星PRN码
<15> 1.6:PDOP综合位置精度因子,范围:0.5–99.9
<16> 1.0:HDOP水平精度因子,范围:0.5–99.9
<17> 1.3:VDOP垂直精度因子,范围:0.5–99.9
<CS> 1*07:校验和
第5行、第6行、第7行(每条GSV语句最多输出 4 颗可见卫星信息,因此,当该系统可见卫星多于4颗时,将需要多条GSV语句。)
$GPGSV,3,1,09,02,34,134,15,05,40,044,14,15,71,308,25,18,32,326,26,0*68
$GPGSV,3,2,09,20,25,074,,23,13,293,37,24,32,174,31,29,45,251,37,0*6B
$GPGSV,3,3,09,195,50,158,31,0*6A
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>~<11>,<12>~<15>,<16>~<19>,*CS
GSV可见卫星
<1> 3:本次GSV语句的总数目,范围:1-3
<2> 1:当前GSV语句序号,范围:1-3
<3> 09:当前可见卫星总数
<4> 02:卫星PRN码编号,范围:01-32
<5> 34:卫星仰角,单位:度,范围:00-90
<6> 134:卫星方位角,单位:度,范围:000-359
<7> 15:信噪比,单位:dbHz,范围:00-99
<8>~<11>、<12>~<15>、<16>~<19>同<4>~<7>,共09(当前可见卫星总数)组数据
<CS> 0*68、0*6B\0*6A:校验和
第8行、第9行、第10行
$BDGSV,3,1,11,03,,,28,07,13,193,27,10,14,207,32,12,,,35,0*71
$BDGSV,3,2,11,16,66,191,29,21,47,308,41,22,41,027,,34,33,309,25,0*74
$BDGSV,3,3,11,40,,,33,42,12,265,36,44,,,28,0*4B
北斗GSV:参数说明与GPGSV相同。
第11行
$GNRMC,132506.000,A,2233.87430,N,11407.13740,E,0.00,244.71,080522,,,A,V*0A
$GNRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,*CS
RMC推荐的最少专用导航数据
<1> 132506.000:定位点的UTC时间,hhmmss.sss(时分秒.毫秒)格式
<2> A: 定位状态,A=定位,V=未定位
<3> 2233.87430:纬度ddmm.mmmm(度分)格式(前导位数不足补0)
<4> N:纬度半球N(北半球)或S(南半球)
<5> 11407.13740:经度dddmm.mmmm(度分)格式(前导位数不足补0)
<6> E:经度半球E(东经)或W(西经)
<7> 0.00:对地航速,单位:Knots,范围:000.0-999.9
<8> 244.71:对地航向,单位:度,以真北为参考基准,二维方向指向,相当于二维罗盘
<9> 080522:定位到UTC日期,格式:ddmmyy(日月年)
<10> :磁偏角,单位:度,范围:000-180
<11> :磁偏角方向,E:东,W:西
<12> A:定位模式标志,A:自主模式,E:估算模式,N:数据无效,D:差分模式
<13> V:导航状态标志,V表示系统不输出导航状态信息
<CS> *0A:校验和
第12行
$GNVTG,244.71,T,,M,0.00,N,0.00,K,A*27
$GNVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,*CS
VTG对地速度与航向
<1> 244.71:对地航向,单位:度,以真北为参考基准,二维方向指向,相当于二维罗盘
<2> T:真北参考系
<3> :磁偏角
<4> M:磁北参考系
<5> 0.00:对地航速,单位:Knots,范围:000.0-999.9
<6> N:航速单位:节
<7> 0.00:水平运动速度
<8> K:速度单位:公里/时,km/h
<CS> A*27:校验和
第13行
$GNZDA,132506.000,08,05,2022,00,00*44
$GNZDA,<1>,<2>,<3>,<4>,<5>,<6>,*CS
ZDA时间与日期
<1> 132506.000:定位时的UTC时间,hhmmss.sss(时分秒.毫秒)格式
<2> 08:日day,固定2位数字,范围:01-31
<3> 05:月month,固定2位数字,范围:01-12
<4> 2022:年year,固定4位数字
<5> 00:本时区小时,不支持,固定位00
<6> 00:本时区分钟,不支持,固定位00
<CS> *44:校验和
第14 行
$GPTXT,01,01,01,ANTENNA OPEN*25
$GPTXT,<1>,<2>,<3>,<4>,*CS
TXT天线状态
<1> 01:当前消息的语句总数01-99,如果某个消息过长,需要分为多条信息显示
<2> 01:语句编号01-99
<3> 01:文本识别符,固定位01
<4> ANTENNA OPEN:文本信息,ANTENNA OPEN=天线开路,ANTENNA OK=天线良好,ANTENNA SHORT=天线短路
<CS> *25:校验和
5. 经纬度转换及地图验证
原始数据:
2233.87430:纬度ddmm.mmmm度分.分格式
11407.13740:经度dddmm.mmmm度分.分格式
转换为度的十进制
22+33.87430/60 = 22.564571666666667
114+07.13740/60 = 114.118956666666667
用百度服务器转换:
https://api.map.baidu.com/geoconv/v1/?coords=114.118956666666667, 22.564571666666667&from=1&to=5&ak=yBeph9or2paaHVyhddaCvGWQ44SSVUjA
结果:
{"status":0,"result":[{"x":114.13049746053471,"y":22.568222248485843}]}
https://api.map.baidu.com/lbsapi/getpoint/index.html
输入坐标:
114.13049746053471,22.568222248485843
勾选坐标反查,点击放大镜按钮:
参考文档
- GPS坐标转化为百度坐标
https://blog.csdn.net/zjj084/article/details/123197553
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)