6320| 0
|
DFR0044 GPS Shield使用指南 |
楼主一直想做一下Arduino的GPS应用。楼主第一次先购买了一个GPS/GPRS/GSM模块,使用的时候发现该模块的功能超出了我的需要,而且在GSM和GPS之间需要通过AT指令来切换,在使用上难度较大。于是楼主又换了一块纯的GPS模块,即DFRduino GPS Shield(DFR0044)也就是今天的主角了。 该GPS模块使用了NMEA-0813的信息输出,其介绍详见度娘。在使用的时候楼主先查看了该产品的维库资料,发现该产品通过I2C传输信息,而且其分析代码堪称复杂。楼主试着用这种方法用了两天,开发难度颇大。后来才在接口类型里发现他其实是支持串口通信的。楼主不由得内牛满面啊。改用串口通信后楼主先使用一个极其简单的程序来读取接收到的信息。程序和收集到的信息如下图: 你们可以发现楼主使用了两个串口通信,一个是Serial,另一个是Serial1。这是因为楼主在使用的时候发现,如果通过串口给GPS模块发送信息的话,GPS模块会反馈一行乱码,不利于信息的读取。楼主在改用Leonardo主控板之后这个问题就迎刃而解了。接下来就是楼主收集到的GPS信息,其发送格式是按照GPRMC的格式进行输出的。 由于楼主主要是要用于地点的信息收集,所以楼主只关心第一行GPRMC的推荐定位信息中的经纬度信息。由于解析部分比较复杂,楼主使用了国外的Arduino玩家开发出的一个叫做TinyGPS++的库文件。通过这个库理论上可以提取出NEMA协议中的所有信息。附件中即为库文件和样例代码。需要注意的是该样例代码只可以在Leonardo平台上运行,在UNO上使用时需要进行相应的更改。 |
40.92 KB, 下载次数: 1968
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed