基于u-box GPS模块通过串口指令调整输出信息

基于u-box GPS模块通过串口指令调整输出信息


  • ✨当然借助u-center_v22.07上位机软件,可以很方便的修改和调整输出信息以及配置,本次主要是通过该软件提取对应的配置指令,用于给单片机来配置GPS模块提供方便,从而不依赖通过电脑上位机软件来配置,方便模块的二次开发使用。

🛠指令解析原理和实现方法介绍

📝其实实现方法很简单,就是在GPS模块通过USB-串口连接到电脑,在电脑端打开u-center_v22.07上位机软件,在发送配置指令给模块时,通过另外一个USB-串口工具,将接收端连接到GPS模块的RXD接收端,也就是一发多收模式,电脑端u-center_v22.07上位机软件所绑定的串口端口,发送什么数据,那么另外一个USB-串口就接收到什么数据回传到电脑的另外一个串口端口上。
  • 🔖当然你也可以去翻阅对应的数据手册,来查阅相关配置信息,应该也可以找到,只不过没有这种方式来的这么直接。

🔨协议指令启用配置

  • 👉🏻关于NMEA-0183 协议指令介绍可以去阅读本论坛的《NMEA-0183 协议简介》这篇文章。
  • 🚩一下介绍的指令都是以Hex(十六进制格式)发送指令。
  • ⚡通过串口发送配置指令,结尾需要添加\r\n
  • 🏳‍🌈如果是通过电脑端的串口调试助手发送指令,需要勾选加回车换行,没有此选项的串口调试助手,需要自行输入完指令后回车换行。
  • 🍭通过上位机软件u-center_v22.07查看所有的开启情况:
- 🍁$GPGSV(可见卫星数,GPS Satellites in View)启用和关闭指令
  • 📜以$GPGSV帧头数据输出的信息内容:
c 复制代码
15:27:13  $GPGSV,3,1,12,02,43,040,,03,27,128,15,06,04,216,,07,43,200,19,0*61
15:27:13  $GPGSV,3,2,12,08,18,062,,13,00,288,,14,51,331,23,17,39,290,14,0*61
15:27:13  $GPGSV,3,3,12,19,18,269,22,21,31,040,,22,34,321,34,30,53,247,19,0*63
15:27:13  $GBGSV,4,1,16,01,43,128,,02,42,229,,03,56,187,,04,30,114,,0*78
15:27:13  $GBGSV,4,2,16,05,21,250,31,06,31,201,,07,65,354,22,08,28,171,,0*71
15:27:13  $GBGSV,4,3,16,09,40,217,,10,57,324,26,11,18,245,33,12,63,288,08,0*7A
15:27:13  $GBGSV,4,4,16,13,21,180,,24,72,287,20,25,18,319,33,26,49,160,11,0*7F
  • 🌿启用信息头为$GPGSV数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 03 01 FE 16
  • 🔗不启用信息头为$GPGSV数据信息输出指令:
c 复制代码
B5 62 0A 04 00 00 0E 34
  • 🔖在上位机软件中,u-center_v22.07不启用GPGSV数据信息,下面的这个信息不显示


- 🍂$GNZDA(当前时间信息)启用和关闭指令
  • 📜以$GNZDA帧头数据输出的信息内容:
c 复制代码
$GNZDA,163633.00,31,10,2023,00,00*7A
  • 🌿启用信息头为$GNZDA数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 08 01 03 20
  • 🔗不启用信息头为$GNZDA数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 08 00 02 1F
- 🍂$GNGLL(定位地理信息,Geographic Position)启用和关闭指令
  • 📜以$GNGLL帧头数据输出的信息内容:
c 复制代码
$GNGLL,2750.91825,N,11342.51458,E,165443.00,A,A*79
  • 🌿启用信息头为$GNGLL数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 01 01 FC 12
  • 🔗不启用信息头为$GNGLL数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 01 00 FB 11
- 🍂$GNVTG(地面速度信息,Track Made Good and Ground Speed)启用和关闭指令
  • 📜以$GNVTG帧头数据输出的信息内容:
c 复制代码
$GNVTG,,T,,M,0.060,N,0.111,K,A*3A
  • 🌿启用信息头为$GNVTG数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 05 01 00 1A
  • 🔗不启用信息头为$GNVTG数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 05 00 FF 19
- 🍂$GNRMC(推荐定位信息,Recommended Minimum Specific GPS/Transit Data)启用和关闭指令
  • ✨该指令数据信息不推荐把它关闭掉。✨
  • 📜以$GNRMC帧头数据输出的信息内容:
c 复制代码
$GNRMC,165444.00,A,2750.91825,N,11342.51454,E,0.066,,311023,,,A*69
  • 🌿启用信息头为$GNRMC数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 04 01 FF 18
  • 🔗不启用信息头为$GNRMC数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 04 00 FE 17
- 🍂$GNGSA(当前卫星信息)启用和关闭指令
  • 📜以$GNGGA帧头数据输出的信息内容:
c 复制代码
$GNGGA,165426.00,2750.91785,N,11342.51319,E,1,07,1.01,104.7,M,-9.9,M,,*50
$GNGSA,A,3,14,22,17,03,19,06,30,,,,,,1.88,1.01,1.59*1D
  • 🌿启用信息头为$GNGGA数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 02 01 FD 14
  • 🔗不启用信息头为$GNGGA数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 02 00 FC 13
- 🍂$GNGSA(当前卫星信息)启用和关闭指令
  • 📜以$GNGGA帧头数据输出的信息内容:
c 复制代码
$GNGGA,165426.00,2750.91785,N,11342.51319,E,1,07,1.01,104.7,M,-9.9,M,,*50
$GNGSA,A,3,14,22,17,03,19,06,30,,,,,,1.88,1.01,1.59*1D
  • 🌿启用信息头为$GNGGA数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 02 01 FD 14
  • 🔗不启用信息头为$GNGGA数据信息输出指令:
c 复制代码
B5 62 06 01 03 00 F0 02 00 FC 13

⛳开启北斗卫星支持协议

  • 🔖注意:仅u-box M8型号的或以上的版本模块才支持。
  • 📜北斗数据信息:
c 复制代码
17:25:04  $GBGSV,5,1,20,01,43,128,,02,43,229,,03,57,187,,04,31,113,,0*7A
17:25:04  $GBGSV,5,2,20,05,22,250,27,06,08,197,,07,76,024,13,08,56,192,,0*77
17:25:04  $GBGSV,5,3,20,09,13,210,,10,67,336,20,11,41,298,26,12,50,021,17,0*7E
17:25:04  $GBGSV,5,4,20,13,46,199,,16,05,190,,21,30,124,31,22,21,068,,0*77
17:25:04  $GBGSV,5,5,20,23,12,317,,24,38,196,11,25,44,275,27,26,02,163,,0*71
  • 🌿通过上位机软件配置NMEA-0183 协议版本:4.1,才能支持接收北斗卫星数据。

    • 🔖NMEA Verison协议版本:
  • 🌿启用接收北斗卫星数据信息输出指令:(也就是配置NMEA-0183 协议版本为:4.1

c 复制代码
B5 62 06 17 14 00 00 41 00 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 75 57 B5 62 06 17 00 00 1D 5D
  • 🌿配置NMEA-0183 协议版本为:4.0,不支持接收北斗卫星数据
c 复制代码
B5 62 06 17 14 00 00 40 00 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 74 44 B5 62 06 17 00 00 1D 5D

🔧数据信息更新频率

  • ✨有时候不需要那么频繁更新,可以配置具体的更新频率,这个根据个人使用场景而定,这里以设置1Hz更新频率为例,也就是每间隔一秒钟,输出一次数据。
  • 🌿0- GPS数据更新频率
    0 UTC time 1000ms 1Hz
bash 复制代码
B5 62 06 08 06 00 E8 03 01 00 00 00 00 37 B5 62 06 08 00 00 0E 30
  • 🌿1- GPS time 1000ms 1Hz
bash 复制代码
B5 62 06 08 06 00 E8 03 01 00 01 00 01 39 B5 62 06 08 00 00 0E 30
  • 🌿2-GLO time 1000ms 1Hz
bash 复制代码
B5 62 06 08 06 00 E8 03 01 00 02 00 02 3B B5 62 06 08 00 00 0E 30
  • 🌿3-BDS time 1000ms 1Hz
bash 复制代码
B5 62 06 08 06 00 E8 03 01 00 03 00 03 3D B5 62 06 08 00 00 0E 30
  • 🌿4- GAL time 1000ms 1Hz
bash 复制代码
B5 62 06 08 06 00 E8 03 01 00 04 00 04 3F B5 62 06 08 00 00 0E 30
  • 🔖其他配置指令信息可以根据需求,自行按照上述所介绍的方法获取。