Windows USB串口接收GPS北斗模块数据和数据说明

2023-05-16

陈拓 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

勾选坐标反查,点击放大镜按钮:

参考文档

  1. GPS坐标转化为百度坐标
    https://blog.csdn.net/zjj084/article/details/123197553

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows USB串口接收GPS北斗模块数据和数据说明 的相关文章

随机推荐

  • http parser库的使用方法

    include 34 http parser h 34 include lt stdio h gt include lt stdlib h gt include lt string h gt include lt assert h gt i
  • PIXhawk4飞控学习笔记(一)开发环境

    PIXhawk4飞控学习笔记 xff08 一 xff09 开发环境 PIX4简介开发环境准备PIX4控制板MDK Keil5STM32CUBEMAXQGroundControl地面站 总结 PIX4简介 PX4是Dronecode平台的一部
  • Git常用命令

    1 Git全局设置 当安装Git后首先要做的事情是设置用户名称和email地址 这是非常重要的 xff0c 因为每次Git提交都会使用该用户信息 在Git 命令行中执行下面命令 xff1a 设置用户信息 git config global
  • 在PX4下更换pixhawk的IMU

    写在前面 出于一些原因 xff0c 这篇文章不给出具体的源码 xff0c 因此博主试着将这篇写成了一篇科普性质的文章 xff0c 如果你认真读的话 xff0c 应该会有收获的 为什么要更换pixhawk的传感器 xff1f 大多数的玩家拿到
  • 存储卡插上电脑时显示文件名变乱码请问怎样才能修复???

    存储卡在使用的过程中会出现各种奇怪的错误 xff0c 比如小编今天碰到的一个 xff0c 打开分区提示文件名变乱码 xff01 存储卡插上电脑时显示文件名变乱码请问怎样才能修复 存储卡在使用的过程中会出现各种奇怪的错误 xff0c 比如小编
  • putty使用python模块tkinter显示对话框出现_tkinter.TclError: no display name and no $DISPLAY environment variable

    问题描述 xff1a putty不能显示对话框 出现错误提示 xff1a tkinter TclError no display name and no DISPLAY environment variable 解决办法 xff1a 下载安
  • 有关于ValueError: Variable rnn/basic_lstm_cell/kernel already exists, disallowed.的问题

    很简单 xff0c 重新跑一篇程序 xff0c 我理解为重启核 xff1f xff1f xff1f jupyter中有kernel选项 xff0c 点击选择 Restart amp RunAll xff0c 即可解决问题 Mark
  • 从尾到头打印链表

    题目描述 xff1a 输入一个链表 xff0c 按链表值从尾到头的顺序返回一个ArrayList 分析 xff1a 1 xff0c 新建两个arraylist xff0c 2 xff0c 遍历链表 xff0c 存入第一个arraylist
  • Win10的Linux子系统Ubuntu安装图形界面

    Win10 的 Linux 子系统 Ubuntu 安装图形界面 陈拓 2021 07 25 2021 07 26 1 概述 Win10的linux子系统Windows Subsystem for Linux xff08 简称 WSL xff
  • 得到斐波那契数列的第n个数

    题目 xff1a 现在要求输入一个整数n xff0c 请你输出斐波那契数列的第n项 xff08 从0开始 xff0c 第0项为0 xff09 n lt 61 39 分析 xff1a 1 xff0c 1 xff0c 2 xff0c 3 xff
  • ModuleNotFoundError: No module named 'scipy._lib.decorator'问题解决

    问题来源 xff1a 在导入sklearn库时 xff0c 出现 usr lib python3 dist packages scipy sparse linalg isolve iterative py in 8 9 from scipy
  • 二叉搜索树的后序遍历序列

    题目 输入一个整数数组 xff0c 判断该数组是不是某二叉搜索树的后序遍历的结果 如果是则输出Yes 否则输出No 假设输入的数组的任意两个数字都互不相同 分析 碰到二叉树 xff0c 优先想递归 这里 xff0c 后序数组 xff0c 最
  • 二叉树中和为某一值的路径

    题目 输入一颗二叉树的跟节点和一个整数 xff0c 打印出二叉树中结点值的和为输入整数的所有路径 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 注意 在返回值的list中 xff0c 数组长度大的数组靠前 分析 二叉树
  • 复杂链表的复制(java)

    题目 输入一个复杂链表 xff08 每个节点中有节点值 xff0c 以及两个指针 xff0c 一个指向下一个节点 xff0c 另一个特殊指针指向任意一个节点 xff09 xff0c 返回结果为复制后复杂链表的head xff08 注意 xf
  • CMake学习-添加头文件路径,库路径,库

    CMake中 xff0c 添加头文件路径 xff0c 对应的函数叫include directories 然后在参数中 xff0c 把所有需要添加的路径 xff0c 加进去就可以了 添加库路径 xff0c 对应的函数叫LINK DIRECT
  • Docker Run 命令

    docker run 参数 xff1a e xff1a 向容器内传递环境变量 xff0c 启动容器时用户可以动态传参 v 挂载文件 xff0c 把该容器的数据保存到挂载文件上 p 端口映射 xff08 p 8888 3306 8888宿主机
  • 如何复现论文?什么是论文复现?

    参考资料 xff1a 学习篇 顶会Paper复现方法 知乎 如何读论文 xff1f 复现代码 xff1f 复现代码是什么意思 CSDN 我是如何复现我人生的第一篇论文的 知乎 在我看来 xff0c 论文复现应该有一个大前提和分为两个层次 大
  • Kinect 获取深度图计算距离,并进行彩色图和深度图之间的映射

    Kinect 获取深度图计算距离 xff0c 并进行彩色图和深度图之间的映射 最近所进行的项目需要利用KINECT获取深度距离 xff0c 需要得到彩色图中某一点的位置 xff0c 在网上找了很多资料 xff0c 都不是很好 xff0c 碰
  • 十一个顶级的Git 客户端,绝对很实用!

    导读Git是一种免费开源的分布式版本控制系统 xff0c 可用于处理软件开发及另外几种版本控制任务 它旨在处理大大小小的各种项目 xff0c 并确保速度 效率和数据完整性 Linux用户主要可以通过命令行来管理Git xff0c 不过外面有
  • Windows USB串口接收GPS北斗模块数据和数据说明

    陈拓 2022 05 07 2022 05 09 1 简介 本文以GPS 43 北斗卫星定位授时导航模块HT1818Z3G5L为例 xff0c 在Win10下读数据 产品参数 引脚定义 2 连接PC机和HT1818Z3G5L模块 如图 xf