为了进入MICICOM并保存日志,我使用“SUDO MICOM—C NAMEOFILE”,但是我想在一个循环中完成这一过程,打开MICICOM可以使用子过程来完成,但是我找不到任何在我的循环中退出MICICOM并继续循环的东西,因为您需要输入“CTRL A,X”或“CTRL A”,然后q“和之后必须按enter确认这一点。有人有什么想法或建议吗?
最佳答案
第一个(显而易见的)解决方案
可能需要更多的努力(或者不是你决定的),最好的方法可能是open the device yourself using pySerial(and here's an example),然后对数据做任何你喜欢的事情-将其写入一个文件,解析它,发送到nasa或以上所有。:)
如果你坚持要解决这个问题:
我能想到的一个可能性是…
正在通过管道将minicom命令发送到tee
。当您通过tee
管道时,您可以给它一个文件名(要登录)并将tee
管道作为您自己的二进制/脚本的输入。它应该负责记录和分析输入。(我还没有用MICICOM尝试过,我不确定你将如何退出你的管道程序。)
我能想到的另一种可能性是…
重定向到一个文件(>
),然后编写一个不同的二进制/脚本,在写入文件时读取该文件(就像tail -f
那样)。
Here's在编写python文件时读取该文件的示例。
因为它是串行数据,我猜它相当慢(特别是NMEA),所以我认为如果你将它写入一个文件并使用不同的二进制/脚本读取它,不会有太大的延迟。