如何使用python从串行设备读取命令输出
我有一个嵌入式 Linux 设备,这是我想使用 python 执行的操作:
通过串行端口获取设备控制台。我可以这样做:
<代码>>>> ser = serial.Serial('/dev/ttyUSB-17', 115200, timeout=1)
现在我想在嵌入式设备命令行上运行
tail
命令,像这样:# tail -f /var/log/messages
并捕获 o/p 并显示在我的 python 上 >>>安慰。
我该怎么做?
I have an embedded linux device and here's what I would like to do using python:
Get the device console over serial port. I can do it like this:
>>> ser = serial.Serial('/dev/ttyUSB-17', 115200, timeout=1)
Now I want to run a
tail
command on the embedded device command line, like this:# tail -f /var/log/messages
and capture the o/p and display on my python >>> console.
How do I do that ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只需在 python 中打开文件并继续读取它即可。如果需要,在另一个线程中:
在任何程序循环内,只需执行以下操作:
如果您希望它在继续执行其他操作时在控制台上打印,请输入
像这样:
Just open the file inside python and keep readign from it. If needed be, in another thread:
And inside any program loop, just do:
If you want it to just go printing on the console as you keep doing other stuff, type
in something like:
首先您需要登录设备。
然后您可以在该设备上运行指定的命令。
注意:您要运行的命令必须受该设备支持。
现在,使用 open() 打开串行端口后,您需要使用 Read() 找到登录提示,然后使用 write() 写入用户名,对密码重复同样的操作。
登录后,您现在可以运行您需要执行的命令
very first you need to get log-in into the device.
then you can run the specified command on that device.
note:command which you are going to run must be supported by that device.
Now after opening a serial port using open() you need to find the login prompt using Read() and then write the username using write(), same thing repeat for password.
once you have logged-in you can now run the commands you needed to execute