使用Python,如何在Linux上创建虚拟串行端口?
作者:互联网
我有两个python程序需要通过pySerial API从同一个串口读取.
据我所知,你不能有两个程序从同一个串口读取.所以我打算做的是从物理串口读取一个python程序,然后将它从串口接收的EXACT数据复制到虚拟串口,其他python程序可以通过pySerial API读取它.
在将使用pySerial的两个python程序中,只有其中一个会响应任何东西.
任何想法如何做到这一点?
解决方法:
根据您的要求,创建虚拟串行端口可能很简单或很复杂.
如果您只需要将数据从实际端口传播到虚拟端口(反之亦然),则可以使用socat
,remserial
或conserver
等工具.请参阅此处的用法示例:1,2,3.
这些工具在两个方向上创建pty(伪tty)并在真实端口和pty之间传输数据.但是,它们不会传播其他API,包括特定于串行端口的各种termios和ioctl()调用.
如果还不够,则需要更高级的工具,如tty0tty
或ser2net
和sercd
(基于RFC 2217)和其他工具.见this帖子.
标签:python,linux,serial-port,pyserial,virtual-serial-port 来源: https://codeday.me/bug/20190708/1399986.html