树莓派+4G模块获取gps坐标
EC20模块是移远通信推出的基于4G的无线通信模块,它自带4g卡槽(直接插4g卡,用4g卡上网),免驱动(省去了很多事情),能够很方便的帮助我们获取gps坐标信息。
一、开启EC20(4G模块)的GPS功能
1.打开console,执行lsusb,查看是否正常显示usb
2.新开console,执行ls -l /dev/ttyUSB*命令,查看串口转usb是否正常
3.console执行sudo minicom -D /dev/ttyUSB2,打开ttyUSB2串口
minicom是一个linux串口调试工具,可以通过sudo apt-get install minicom进行安装。
4.当前console界面继续输入AT+QGPS=1,启动GPS功能
二、查看GPS数据
新开console,执行sudo minicom -D /dev/ttyUSB1,打开ttyUSB1串口,就可以获取gps了。
三、通过gpsd查看gps数据
minicom查看gps数据不太好看(数据没有格式化显示),有gpsd工具帮助我们更好的观察数据变化。
1.安装gpsd
sudo apt-get install gpsd gpsd-clients python-gps
2.配置gpsd
sudo gpsd /dev/ttyUSB1 -N -D 9 -F /var/run/gpsd.sock -S 3333
其中3333是端口号,可以自行定义
3.监听gpsd
新开一个终端,执行cgps -s localhost:3333
启动之后,如果出现短时间收不到数据的情况,请耐心等待几分钟。一般过个1分钟左后会收到gps数据的。
最后,读者可以自己写程序监控ttyUSB1串口输出,解析数据就可以得到gps信息了。然后上传gps坐标,可以通过socket或其它形式与服务器通信(前提已配置4G卡无线上网),把坐标信息保存到服务器数据库。
效果截图:
接线截图:
PS:实际测试对比了一下,gps定位大概有1公里的误差。
参考资料:
1.https://blog.csdn.net/hzxiao1981/article/details/108295789
2.https://zhuanlan.zhihu.com/p/107458906
3.Quectel_EC20_R2.1_AT_Commands_Manual_V1.0(自行搜索下载)