使用远程串口作为本地串口

Tre*_*ery 2 ssh serial-port

我正在尝试为我的充电控制器开发一些软件,但我唯一可以使用它的设备是我的树莓派(只是因为我不想让我的电脑在楼下)无论如何它通过远程设备上的 /dev/ttyUSBX 进行通信。

我希望我可以在本地计算机上创建一个虚拟串行端口并通过 SSH 连接它,最好是否则未加密也可以。另外,如果它可以是一个守护进程也很好,这样它就可以像一个完整的直通一样。

我研究过 socat 和 ser2net,但要么没有数据通过,要么 socat 在发送一个命令后会关闭。我也四处寻找教程,但它通常只显示客户端的示例,而不是远程的示例。因此,如果您能为服务器和客户端提供一个示例,我们将不胜感激。

dir*_*rkt 5

请注意,“虚拟串口”是 Windows 术语;Linux 没有“虚拟串口”。

Linux拥有的是支持附加s的文件ioctl;如果您不需要这些,您可以尝试使用诸如 之类的工具进行重定向socat

如果您确实需要这些,我不知道解决方案。然而,您可以做的是使用usbip通过网络透明地转发 USB 设备。大多数 Linux 发行版都会将 usbip 作为软件包包含在内。

因此,您将远程设备上的USB串口视为本地USB设备,然后/dev/ttyUSBX在本地设备上进行访问。

这还将双向转发代表 DTR、RTS 等操作的 USB 数据包。