尝试在raspberry pi上使用gps时出现Python代码错误

时间:2015-12-12 17:28:36

标签: python gps raspberry-pi gpsd

我正在尝试制作一个机器人并且正在遵循我在网上找到的教程。 当我设置gps时,我把它设置得正确,当我运行gps客户端时。 cgps -s它工作了,它找到了连接!

然而,我按照本教程的其余部分进行操作,它希望我在系统启动时启动gps守护程序,然后使用python gps创建一个日志文件,然后我可以将其导入谷歌地图或地球。我使用了它所说的代码,这是我的错误。

这是我在程序中使用的python代码:

from gps import *
import time
import threading

f = open("locations.csv", "w")

gpsd = None
class GpsPoller(threading.Thread):
  def __init__(self):
    threading.Thread.__init__(self)
    global gpsd
    gpsd = gps(mode=WATCH_ENABLE)
    self.current_value = None
    self.running = True

  def run(self):
    global gpsd
    while gpsp.running:
      gpsd.next()

  if __name__ == '__main__':
    gpsp = GpsPoller()
    try:
      gpsp.start()
      while True:
          f.write(str(gpsd.fix.longitude)
          + "," + str(gpsd.fix.latitude)
          + "\n")
          time.sleep(30)
    except(KeyboardInterrupt, SystemExit):
      f.close()
      gpsp.running = False
      gpsp.join()

这是我运行该程序时遇到的错误,该程序名为gps.py:

Traceback (most recent call last):
  File "gps.py", line 9, in <module>
    class GpsPoller(threading.Thread):
  File "gps.py", line 23, in GpsPoller
    gpsp = GpsPoller()
  File "/home/pi/Robot/gps.py", line 13, in __init__
    gpsd = gps(mode=WATCH_ENABLE)
NameError: global name 'gps' is not defined

0 个答案:

没有答案