[英]Run bash command in python script for X seconds
我在树莓派上连接了一个gps,并试图用它对来自传入相机的照片进行地理标记。 通过发出命令“ gpsd -nND2 / dev / ttyUSB0”,我可以获得连续gps数据的bash回显输出,以后可以对其进行解析。 我只需要平均10个左右的数据点(在10秒钟内收集),然后在那之后关闭gpsd。
我一般的游戏中时光倒流程序是用python编写的,这就是我到目前为止的内容:
(stdout, stderr) = Popen(["gpsd","-nND2,"/dev/ttyUSB0"], stdout=PIPE).communicate()
不幸的是,这会输出到变量stdout无限数量的我无法解析的数据点。 输出非常像永无止境的ping例程。 如何停止数据收集以进行合理/可分析的数据转储?
谢谢您的帮助。
根据该文件 ,你不应该看控制台输出,而是使用gps d
作为d aemon,通过TCP它沟通:
客户端应用程序将通过TCP / IP端口(默认为2947)与gpsd通信)。
这样行吗? 我还没有测试。
proc = Popen(["gpsd","-nND2","/dev/ttyUSB0"], stdout=PIPE)
samples = []
for _ in range(10):
samples.append(proc.stdout.readline())
proc.terminate()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.