- 前言
本周学习内容主要是实现在arduino上读取北斗+GPS双模定位模块的数据
- 烧录程序及查看数据
1.打开示例程序,选择arduino uno,串口号填USB的COM端口
2.上传示例示例程序到uno板子上,点击右箭头就好。
注意,这个时候不要接定位模块的串口,就是不要接线,会导致烧录失败。因为程序中和模块连接的串口和下载的串口是同一个。如果你接了,那很不幸,会出现下面的报错,别问我怎么知道的()
3.打开串口调试助手,查看输出数据
这里我使用的是vofa+,任意一个串口调试助手都行。
然后,不出意外,就是要出意外了。这里显示的数据是无效数据。不过,这个问题应该是模块搜星失败,应该是我的位置还是里窗户太远啦。找舍友的电脑看看串口。
输出成功!
- 模块拓展知识
1.模块输出的原始数据:
我们可以看到,上面一长串的字母和数字,那就是模块输出的原始数据。
看不懂对吧,我也看不懂,然后就是借助伟大的互联网爸爸的时候了。
上面的数据是NMEA-0183协议的报文,大多数常见的GNSS接收机、GNSS数据处理软件、导航软件都遵守或者至少兼容这个协议。
根据NMEA-0183协议的规定,$XXGGA报文是关于时间、经纬度位置、解算状态、卫星颗数等相关信息。XX的不同代表模式的不同,比如$GPGGA表示单GPS模式,$BDGGA表示单北斗模式,$GNGGA表示多星联合定位。具体的含义我们对应查表就行了:
还有其他的报文都有对应的含义:
$XXGSA 显示的是当前的卫星信息:
$XXGSV 显示的是可见卫星的信息:
每条GSV语句最多可以显示4个可见卫星的信息,其他的卫星都会在下一条语句中输出显示。每种卫星系统都会单独显示,一般GPS有3条GSV报文,北斗有2条GSV报文。
$XXVTG包含地面速度信息:$XXGLL包含基本的地理定位信息:
$XXRMC包含位置、速度、时间等最简定位信息:
- 总结
本次使用arduino uno开发板接入北斗加GPS双模定位模块读取经纬度数据由于有之前的经验,过程比较顺利,另外了解了一些协议。
不过需要改进的是定位的精度,后续需要了解更多的知识来写优化算法来提高定位精度。
参考链接:http://t.csdn.cn/8ZLGi
标签:定位,双模,arduino,北斗,模块,串口,GPS From: https://www.cnblogs.com/wanta1cm/p/17657095.html