树莓派 GPS模块(USB)
1.目的:树莓派用串口连接GPS+BD模块获取位置信息
2.材料:树莓派3b,GPS+BD模块,GPS有源天线,杜邦线
以下方法在运行后还是不能用,建议重启树莓派几次,亲身经历,重启后就可以用了
步骤:(方法一)
1. 用杜邦线连接上图三个器件,GPS模块与USB转接头相连时PPS一端不连,两模块TXD和RXD交叉相连,即GPS模块的TXD连接USB转接模块的RXD,连好后将天线放到窗外
2. lsusb 查看是否识别该模块 (我自己在识别的时候很容易在插拔后ttyUSB0会变成ttyUSB1或者其他,所以在无法定位的时候查看一下有没有变)
3. 使用GPS读取软件cgps
(1)sudo apt-get install gpsd gpsd-clients Python-gps(安装相应软件)
(2) sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock (此句用来连接gpsd用)
(3)sudo cgps -s
效果图如下所示:
4. 如果第三步能正常实现,我们就可以使用python读取信息为我们所用啦
在选定路径下,执行命令vi test.py,拷贝如下程序:
- from gps import *
- import time
- session =gps(mode=WATCH_ENABLE)
- try:
- while True:
- report = session.next()
- if report['class'] == 'VERSION':
- print 'connect GPS successfully'
- if report['class'] == 'DEVICES':
- print'searching satellite ....'
- if report['class'] == 'WATCH':
- print'search satellite successfully'
- if report['class'] == 'TPV':
- print 'Latitude: ' , report.lat
- print 'Longitude: ' , report.lon
- if report['class'] == 'SKY':
- print 'satellites NO.',len(report.satellites)
- time.sleep(3)
- exceptStopIteration:
- print "GPSD has terminated"
步骤:(方法二)
1. 用杜邦线连接上图三个器件,GPS模块与USB转接头相连时PPS一端不连,两模块TXD和RXD交叉相连,即GPS模块的TXD连接USB转接模块的RXD,连好后将天线放到窗外
2. lsusb 查看是否识别该模块 (我自己在识别的时候很容易在插拔后ttyUSB0会变成ttyUSB1或者其他,所以在无法定位的时候查看一下有没有变)
3.直接使用命令即可:
sudo cat /dev/ttyUSB0
4. 如果第三步能正常实现,我们就可以使用python读取信息为我们所用啦
在选定路径下,执行命令vi test.py,拷贝如下程序:
- from gps import *
- import time
- session =gps(mode=WATCH_ENABLE)
- try:
- while True:
- report = session.next()
- if report['class'] == 'VERSION':
- print 'connect GPS successfully'
- if report['class'] == 'DEVICES':
- print'searching satellite ....'
- if report['class'] == 'WATCH':
- print'search satellite successfully'
- if report['class'] == 'TPV':
- print 'Latitude: ' , report.lat
- print 'Longitude: ' , report.lon
- if report['class'] == 'SKY':
- print 'satellites NO.',len(report.satellites)
- time.sleep(3)
- exceptStopIteration:
- print "GPSD has terminated"