树莓派 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,拷贝如下程序:

  1. from gps import *   
  2. import time   
  3. session =gps(mode=WATCH_ENABLE)   
  4. try:   
  5. while True:   
  6.     report = session.next()    
  7.     if report['class'] == 'VERSION':   
  8.         print 'connect GPS successfully'   
  9.     if report['class'] == 'DEVICES':   
  10.         print'searching satellite ....'   
  11.     if report['class'] == 'WATCH':   
  12.         print'search satellite successfully'   
  13.     if report['class'] == 'TPV':   
  14.         print 'Latitude:   ' , report.lat   
  15.         print 'Longitude:  ' , report.lon   
  16.     if report['class'] == 'SKY':   
  17.         print 'satellites NO.',len(report.satellites)   
  18.     time.sleep(3)   
  19. exceptStopIteration:   
  20.         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,拷贝如下程序:

  1. from gps import *   
  2. import time   
  3. session =gps(mode=WATCH_ENABLE)   
  4. try:   
  5. while True:   
  6.     report = session.next()    
  7.     if report['class'] == 'VERSION':   
  8.         print 'connect GPS successfully'   
  9.     if report['class'] == 'DEVICES':   
  10.         print'searching satellite ....'   
  11.     if report['class'] == 'WATCH':   
  12.         print'search satellite successfully'   
  13.     if report['class'] == 'TPV':   
  14.         print 'Latitude:   ' , report.lat   
  15.         print 'Longitude:  ' , report.lon   
  16.     if report['class'] == 'SKY':   
  17.         print 'satellites NO.',len(report.satellites)   
  18.     time.sleep(3)   
  19. exceptStopIteration:   
  20.         print "GPSD has terminated"  


        


  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值