树莓派 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"  


        


你可能感兴趣的:(树莓派 GPS模块(USB))