通过网络桥接串口
Bridge Serial-Ports over network
对于使用串行端口进行通信(确切地说是 Modbus RTU)的应用程序,我需要通过网络桥接串行端口以进行测试。
所以我想进行以下设置:
Device | Network | PC
SerialPort |------------------| SerialPort
Map Serialport| | Map network to Serialport
to Network | |
我已经使用 socat
完成了第一部分。
我用
在 PC 上打开了 TCP 端口
nc -l 8080
在我的设备上,我使用了
socat pty,link=/dev/virtualcom0 tcp:PC-IP:8080
将写在 /dev/virtualcom0
上的所有内容映射到端口 8080 上的 PC-IP。
但现在我无法将套接字映射回串行端口。
socat tcp:PC-IP:9123 pty,link=/dev/virtualport0
这让我得到了 Connection Refused
,这很明显,因为我使用了 TCP 并且端口已被设备使用。
所以我尝试了
socat pty,link=/dev/virtualcom0,raw udp:PC-IP:8080
并将其他所有内容也更改为 UDP。
但是我的 /dev/virtlalcom0/
电脑上什么也没有收到。
tcp 连接的一侧需要监听端口(您启动的第一个),第二侧连接到它。
第一面做:
socat tcp-listen:8080 pty,link=/dev/virtualport0
对于第二面做:
socat pty,link=/dev/virtualcom0 tcp:IP-of-other-machine:8080
忘记 netcat,你不需要它。
对于使用串行端口进行通信(确切地说是 Modbus RTU)的应用程序,我需要通过网络桥接串行端口以进行测试。
所以我想进行以下设置:
Device | Network | PC
SerialPort |------------------| SerialPort
Map Serialport| | Map network to Serialport
to Network | |
我已经使用 socat
完成了第一部分。
我用
在 PC 上打开了 TCP 端口nc -l 8080
在我的设备上,我使用了
socat pty,link=/dev/virtualcom0 tcp:PC-IP:8080
将写在 /dev/virtualcom0
上的所有内容映射到端口 8080 上的 PC-IP。
但现在我无法将套接字映射回串行端口。
socat tcp:PC-IP:9123 pty,link=/dev/virtualport0
这让我得到了 Connection Refused
,这很明显,因为我使用了 TCP 并且端口已被设备使用。
所以我尝试了
socat pty,link=/dev/virtualcom0,raw udp:PC-IP:8080
并将其他所有内容也更改为 UDP。
但是我的 /dev/virtlalcom0/
电脑上什么也没有收到。
tcp 连接的一侧需要监听端口(您启动的第一个),第二侧连接到它。
第一面做:
socat tcp-listen:8080 pty,link=/dev/virtualport0
对于第二面做:
socat pty,link=/dev/virtualcom0 tcp:IP-of-other-machine:8080
忘记 netcat,你不需要它。