系统相关
首页 > 系统相关> > 使用Python,如何在Linux上创建虚拟串行端口?

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

作者:互联网

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

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

在将使用pySerial的两个python程序中,只有其中一个会响应任何东西.

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

解决方法:

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

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

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

如果还不够,则需要更高级的工具,如tty0ttyser2netsercd(基于RFC 2217)和其他工具.见this帖子.

标签:python,linux,serial-port,pyserial,virtual-serial-port
来源: https://codeday.me/bug/20190708/1399986.html