我有一个嵌入式linux设备,这就是我想用python做的事情:
通过串口获取设备控制台。我可以这样做:
>>> ser = serial.Serial('/dev/ttyUSB-17', 115200, timeout=1)
现在我想在嵌入式设备命令行上运行tail
命令,如下所示:
# tail -f /var/log/messages
并捕获o / p并显示在我的python>>>控制台。
我该怎么做?
答案 0 :(得分:0)
只需打开python中的文件并保持从它的readign。如果需要,在另一个帖子中:
>>> ser = serial.Serial('/dev/ttyUSB-17', 115200, timeout=1)
>>> output = open("/var/log/messages", "rb")
在任何程序循环中,只需执行:
data = output.read()
print(data)
如果您希望它只是在控制台上打印,因为您继续做其他事情,请键入 在类似的事情:
from time import sleep
from threading import Thread
class Display(Thread):
def run(self):
while True:
data = self.output.read()
if data: print(data)
sleep(1)
t = Display()
t.output = output
t.start()
答案 1 :(得分:0)
首先,您需要登录设备。 然后您可以在该设备上运行指定的命令。 注意:该设备必须支持您要运行的命令。
现在使用open()打开串口后,你需要使用Read()找到登录提示,然后使用write()写入用户名,同样重复密码。
登录后,您现在可以运行执行所需的命令