BT-308蓝牙GPS的测试失败了,不知道是不是BT-308自身的问题,蓝牙加载成功,但是连接测试时总是无法的定位(参阅:树莓派通过命令行工具配置蓝牙设备)……于是找出了前期做穿越机用的串口GPS,GPS数据通过UART接口传输,下面是测试步骤和方法。
1、硬件平台
Raspberry Pi 3 B+加了块DVK512扩展板,扩展板能延伸出UART端口、USB to UART接口、8I/OS端口、I2C接口、GPIO接口、SPI接口、LCD1602接口和四个按键,这样对于调测传感器、GPS等设备来说方便太多了。
GPS模块采用的是某宝产品,ATGM332D-5N。
2、硬件连接
将GPS模块上的VCC、GND、TX、RX引出,分别连接至树莓派扩展板的UART数据接口上,其中VCC——3.3V、GND——GND、TX——RX、RX——TX。
3、软件设置
我还是用Putty来进行测试的。
- 安装支持软件包:
- pi@raspberrypi:~$ sudo apt-get install gpsd gpsd-clients python-gps
- 禁用gpsd系统服务:
- pi@raspberrypi:~$ sudo systemctl stop gpsd.socket
- pi@raspberrypi:~$ sudo systemctl disable gpsd.socket
- 编辑/boot/cmdline.txt文件:
- pi@raspberrypi:~$ sudo mv /boot/cmdline.txt /boot/cmdline.txt.orig #做下备份
- pi@raspberrypi:~$ sudo nano /boot/cmdline.txt
修改或添加内容为:dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait 之后Ctrl+O保存,Ctrl+X退出。
- 禁用串口getty服务(getty是什么呢?):
- pi@raspberrypi:~$ sudo systemctl stop serial-getty@ttyS0.service
- pi@raspberrypi:~$ sudo systemctl disable serial-getty@ttyS0.service #这里树莓派2是AMA0,树莓派3是ttyS0。注意区分一下版本。
- 修改/boot/config.txt文件,在最后添加:
- pi@raspberrypi:~$ sudo nano /boot/config.txt
- 重启树莓派:
- pi@raspberrypi:~$ sudo reboot now
- 连接gpsd至UART接口进行测试:
- pi@raspberrypi:~$ sudo killall gpsd #先结束掉所有进程
- pi@raspberrypi:~$ sudo gpsd /dev/ttyS0 -F /var/run/gpsd.sock #连接设备
- pi@raspberrypi:~$ cgps #测试
至此,UART串口GPS模块测试成功。