4

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

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

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

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

4

1 回答 1

1

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

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

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

如果这还不够,您需要更高级的工具,例如tty0ttyorser2netsercd(基于RFC 2217)等。看到这个帖子。

于 2015-07-18T15:32:20.537 回答