本项目采用的是微科的VK2828U7G5LF,根据NMEA0183协议,打算采用反馈GPGLL语句来进行数据的处理。
1. 首先,本GPS模块默认的波特率是9600,因此,我们仅需要设置打开GPGLL语句并关闭其余所有语句即可。通过串口发送
24 45 49 47 50 51 2c 47 4c 4c 2a 32 31 0d 0a b5 62 06 01 03 00 f0 01 01 fc 12
来打开GPGLL语句 。关闭其他语句的命令详见VK2828U7G5LF用户手册。
2. GPS模块将会返回GLL语句的数据
样例数据: $GPGLL,2236.91284,N,11403.24705,E,060826.00,A,D*66
序号 |
名称 |
样例 |
描述 |
0 |
消息 ID |
$GPGLL |
GLL 协议头 |
1 |
纬度 |
2236.91284 |
ddmm.mmmmm |
2 |
N/S 指示 |
N |
N=北, S=南 |
3 |
经度 |
11403.24705 |
dddmm.mmmmm |
4 |
E/W 指示 |
E |
W=西, E=东 |
5 |
UTC 位置 |
060826.00 |
hhmm.mmmm |
6 |
状态 |
A |
A=数据有效; V=数据无效 |
7 |
模式指示 |
D |
A=自主定位, D=差分, E=估算, N=数据无效 |
8 |
校验和 |
*18 |
$与*之间所有字符 ASCII 码的校验和 |
9 |
<CR><LF> |
|
消息结束 |
其中序号1和序号3不是标准的经纬度信息。通过转化,我们将得到标准的经纬度信息。
”2236.91284"前两位是度,其余位数为分。因此要将后面位数的分转化为度,即36.91284除以60。得出来的结果再加上22,最终结果为22.6152367度。
同理经度“11403.24705”前三位是度,其余位数是分。因此要将后面位数的分转化为度,即3.24705除以60。 得出来的结果再加上114,最终结果为114.05411167度。
这样,经纬度的信息就可以正常在地图上准确显示。