Windows / Linux socat通过IP共享一个串口设备

我有一个场景,我向我的团队展示了如何使用socat共享一个插入Raspberry Pi(Debian)的非常昂贵的USB患者模拟器。 该组织希望能够通过以太网与串行设备进行按需双向连接。 目前我有通过Telnet广播的设备。

 socat tcp-l:23,reuseaddr,fork,crlf file:/dev/ttyUSB0,echo=0,b115200,raw,crnl,icanon=1 

我需要设置用户端,Windows用户连接到Telnet端口,但将I / Oredirect到其机器上的可用COM端口。 我想在Windows端Cygwin& socat ,但我不是一个非常熟练的Windows人。

有任何想法吗?

我明白你的问题,所以你想要一个Windows PC能够共享串行端口的方式,你可以使一个Linux的箱子共享端口使用socat。

例如在sourceforge.net中有开放源代码的应用程序,可以将Windows套接字与串口相连接。 此外,只是谷歌“串行到IP”或“IP到串行”。 一个简单的例子是“SerialToIP” http://sourceforge.net/projects/serialtoip/?source=directory它是用C#开发的。 它有命令行和GUI版本可用,但串行端口控制是最小的,但这可能足以满足您的需求基于socat-example。

根据串口控制需求的详细程度,以及如果您的应用程序需要运行Windows用户是否login,您应该select适合您的需求的应用程序。 Windows中的GUI应用程序默认要求用户login才能工作。

顺便说一下,你的socat-command与Telnet协议无关。 你只是创build一个简单的TCP / IP“pipe道”,连接到一个串行端口。 任何可能的“pipe道”内携带的顶层协议都与问题和答案无关。

您可以使用战术软件中的软件redirect器Serial / IP来完成此操作。

串行/ IP将创build一个可以链接到端点的TCP / IP地址的虚拟COM端口。

安装Serial / IP后,select一个虚拟的COM端口号,然后inputRaspberry PI的IP地址,TCP端口(在这种情况下为23),然后selectTelnet作为协议。

现在,当Windows PC上的应用程序打开虚拟COM端口时,它将连接到USB模拟器。