我正在尝试制作一个机器人并且正在遵循我在网上找到的教程。 当我设置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