使用Python,如何在Linux上创建虚拟串行端口?

时间:2015-06-29 17:41:18

标签: python linux serial-port pyserial virtual-serial-port

我有两个python程序需要通过pySerial API从同一个串口读取。

根据我的理解,您不能从同一个串口读取两个程序。所以我打算做的是从物理串口读取一个python程序,然后将它从串口接收的EXACT数据复制到虚拟串口,其他python程序可以通过pySerial API读取它。

在将使用pySerial的两个python程序中,只有其中一个将回复任何内容。

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:1)

根据您的要求,创建虚拟串口可能很简单或很复杂。

如果您只需要将数据从实际端口传播到虚拟端口(反之亦然),则可以使用socatremserialconserver等工具。请参阅此处的使用示例:123

这样的工具创建了一个pty(伪tty),并在两个方向上在真实端口和pty之间传输数据。但是,它们不会传播其他API,包括特定于串行端口的各种termiosioctl()调用。

如果还不够,您需要更多高级工具,例如tty0ttyser2netsercd(基于RFC 2217)等。请参阅this帖子。