问题描述
现在我有一个示例脚本,它从 python 中的 gps3 获取数据
from gps3 import agps3
gps_socket = agps3.GPSDSocket()
data_stream = agps3.DataStream()
gps_socket.connect()
gps_socket.watch()
for new_data in gps_socket:
if new_data:
data_stream.unpack(new_data)
print('Altitude = ',data_stream.alt)
print('Latitude = ',data_stream.lat)
效果很好。
def getdata()
ch = port.readline(); #this gets the data
data_stream.unpack(new_data)
thetime = datastream.time; # I want to get the gps time right after the function call
return ch,thetime
我想要做的是在调用 readline 函数后立即获取 gps 时间(readline 在这种情况下与 gps 无关,它是不同的 uart)。
我想获取一个 new_data 对象或从 gps3 获取一批新的 gpsd 数据。
编辑: 我也在 while 循环中尝试过这个,但我不确定如何解压缩它不起作用的数据。
while 1==1:
time.sleep(1)
newdata = gps_socket
print(newdata)
data_stream.unpack(newdata)
print('Altitude = ',data_stream.alt)
print('Latitude = ',data_stream.lat)
print('Time = ',str(data_stream.time))
但这不起作用,我不知道为什么,这是我得到的错误:
<gps3.agps3.GPSDSocket object at 0xb5c85bf0>
Traceback (most recent call last):
File "/home/pi/gpsmag3.py",line 19,in <module>
data_stream.unpack(newdata)
我知道我正在从类中得到一个指针,我只是不明白为什么 unpack 无法获取数据。
我如何在我的函数调用中从 gps_socket 获取一个 new_data 对象来获取 gps 时间?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)