如何将一个串行连接拆分成两个

如何将一个串行连接拆分成两个

我需要让应用程序和监视器从同一个串行端口读取,应用程序将是唯一能够读取/写入串行端口的程序,而监视器只能读取。

我希望实现这个目标:

                                      /----->(Application)
---(/dev/ttyUSB0 Serial connection)---
                                      \----->(Monitor)

我听说 socat 可能可以做到这一点。但我不确定如何做到这一点。

我该怎么做呢?这是一个以 192K 波特率运行的串行连接,我在 Debian Linux 系统上运行它。

答案1

有一个名为的小实用程序,可以tee将其拆分stdinstdout任意文件(可能是管道),可以由两个或多个不同的应用程序读取。

cat /dev/ttyUSB0 | tee somefile1.txt somefile2.txt | application &
tail -F somefile1.txt | monitor &
tail -F somefile2.txt | parser &

相关内容