我有多个用于家庭自动化系统的串行设备服务器。我需要能够创建多个(5 或 6 个)虚拟 com 端口。我猜有一种方法可以用 socat 来实现这一点,但到目前为止我还没有弄清楚或找到任何示例。
以下命令运行良好,但仅适用于一个虚拟端口。作为测试,我尝试使用不同的终端创建多个实例,但第二个实例失败了。
socat -d -d pty,link=/dev/ttyV00,raw,echo=0 tcp:192.168.0.16:9100
理想情况下,我可以让另一个实例链接到 ttyV01 以获取不同的 IP。例如
socat -d -d pty,link=/dev/ttyV02,raw,echo=0 tcp:192.168.12.85:5200
答案1
经过大量搜索我找到了一些例子这里在 Homeseer 网站上。
据我所知,您可以在 socat 命令末尾添加 &,它将在后台运行 socat。我相信这是 Ubuntu 使用 && ; 和 & 评估命令的方式。
以下是当前将 2 个虚拟 pty 端口重定向到不同 IP 地址并在后台成功运行的 2 个命令。
sudo socat PTY,link=/dev/ttyV00,mode=777,echo=0,ignoreeof,b115200,raw TCP:192.168.0.16:9100 &
sudo socat PTY,link=/dev/ttyV01,mode=777,echo=0,ignoreeof,b115200,raw TCP:192.168.0.85:5002 &