创建空调制解调器对 linux

创建空调制解调器对 linux

我正在寻找在 Debian 6 scrape 上创建虚拟串行端口。基本要求是:

  1. 能够像端口是真正的串行端口一样进行连接(IE能够设置波特率、停止位等)

  2. com 端口对需要保持不变

  3. com 端口对名称在重新启动时必须是静态的。我不想每次重新启动计算机时都更改代码设置

我今天简单地尝试了 socat,使用socat -d -d pty, raw, echo=1 pty, raw, echo=1成功创建的/dev/pts/5/dev/pts/6作为一对。然而,一旦我关闭运行 socat 的终端,该对就会终止。我还想知道 tty0tty 是否是一个选项?我用过com0com过去,Windows 取得了巨大成功。

我的问题是创建空调制解调器对以便我可以在 Linux 中模拟多个 com 端口的最佳方法是什么?

答案1

如果你关闭终端,你也会杀死 socat。

尝试运行它

socat -d -d pty, raw, echo=1 pty, raw, echo=1 &
disown

然后你应该能够关闭终端

答案2

我认为这个解决方案不会是“持久的”,但名称将是静态的,即使它们是象征性的。感谢 Kotte 的回答,socat 将在终端关闭后继续运行

socat -d -d PTY,link=/home/someuser/COM0 PTY,link=/home/someuser/COM1 & disown

答案3

仅当您有实际的 UART 时才存在停止位,因此无需进行模拟。波特率只是传输数据速度的上限,因此当您编写模拟程序时,只需将其数据速率限制为适当的速度即可。然后,您可以使用普通的旧管道或 fifo 将模拟器连接到消费程序。

没有理由为伪 tty 烦恼,因为它们实际上不对波特率和其他参数执行任何操作,它们只是将其传递以实现向后兼容性。

相关内容