标签:python linux serial-port pyserial virtual-serial-port
我有两个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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。