中间件与驱动
Ser2net / Socat
厂商/来源:
SourceForge / Linux Man Page
核心功能:
远程调试串口设备、将 USB 串口共享给局域网内的 Windows 电脑 (虚拟串口)、Docker 容器内访问宿主机串口
| 架构支持 | 任何 Linux 环境 (OpenWrt 路由器里通常都有) |
| 资源开销 | 忽略不计。 |
| 核心功能 | TCP 转 Serial:监听一个 TCP 端口(如 5001),把收到的数据原样发给串口 (/dev/ttyUSB0),反之亦然。 |
| 对接情报 | RFC 2217 支持:Ser2net 支持 RFC 2217 协议,允许远程客户端动态修改波特率。这对调试非常有价值。 |
| 避坑指南 | [USB 漂移与粘包] 1. 设备名漂移:插两个 USB 转串口线,重启后 ttyUSB0 和 ttyUSB1 可能会互换,导致控制错设备。对策:必须写 udev rules 规则,根据 USB ID 绑定固定的软链接 (如 /dev/tty_sensor)。 2. 粘包问题:TCP 是流式协议,串口是字节流。透传时,可能会把两条 Modbus 指令粘在一起发出去,导致 PLC 不响应。对策:在应用层配置字节间隔时间 (Inter-byte timeout),或使用专门支持 Modbus 拆包的网关软件,不要盲目裸传。 |
| 推荐搭配 | [Moxa 接口卡] [USB 转 RS485 转换器] [OpenWrt 路由器] |