我有一个Linux应用程序(我可以访问其代码),它必须通过串口与windows one(第三方无法访问代码)进行通信。 Windows应用程序在Wine中运行,因此我想将Wine的com1设置为某些东西并使我的软件从那里读取和写入。我想最好的方法是使用伪终端,就是这样吗?
有没有办法在Linux中从命令行简单地创建一个伪终端对?我已经知道如何使用API执行此操作,但有没有办法从bash执行此操作?
也许与socat或类似的东西?
答案 0 :(得分:1)
你可以使用这样的东西(未经测试):
socat PTY,link=$HOME/.wine/dosdevices/com1,raw,echo=0 PTY,link=$HOME/tmp/dev/myserial,raw,echo=0
这将创建两个背靠背的PTY,这有点矫枉过正,但socat将在它们之间复制数据。 wine程序将打开链接的一侧作为COM1,您的程序将打开$ HOME / tmp / dev / myserial与COM1进行通信。