基于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 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
- 🔖其他配置指令信息可以根据需求,自行按照上述所介绍的方法获取。