socat 实现串口转网络(监听)

1、首先建立虚拟串口,命令如下:#socat  -d  -d  PTY  PTY

       返回如下:

2019/08/02 11:07:08 socat[57130] N PTY is /dev/pts/9
2019/08/02 11:07:08 socat[57130] N PTY is /dev/pts/10
2019/08/02 11:07:08 socat[57130] N starting data transfer loop with FDs [5,5] and [7,7]

    设备名"/dev/pts/9"和"/dev/pts/10"就是虚拟出来的串口,然后两个的通信为双向数据流

2、建立串口和网络的双向数据流,命令如下UDP监听方式:

#socat -d -d /dev/pts/10,raw,nonblock,ignoreeof,cr,echo=0 udp-listen:5555,reuseaddr

#socat -d -d /dev/pts/10,raw,nonblock,ignoreeof,echo=0 udp-listen:5555,reuseaddr

此命令的区别: 命令中的cr会将数据中的“0x0D”换成“0x0A”

TCP监听方式

#socat -d -d /dev/pts/10,raw,nonblock,ignoreeof,cr,echo=0 TCP4-LISTEN:5555,reuseaddr

TCP客户端方式(/dev/pts/10  与  172.16.100.18:8803服务器建立一个双向数据流)

#socat -d -d /dev/pts/10   TCP:172.16.100.18:8803

如此"/dev/pts/10"就和udp的5555端口建立了双向通信链接

3、使用“minicom  -D  /dev/pts/9   -b  9600",打开一个minicom终端

4、使用调试助手"TCP&UDP测试工具",创建一个到5555端口的连接。

此时调试助手"TCP&UDP测试工具"和minicom终端就可以相互通信了。

       

你可能感兴趣的:(linux系统工具和应用)