Ssh

使用遠端串口作為本地串口

  • March 7, 2019

我正在嘗試為我的充電控制器開發一些軟體,但我可以使用它的唯一設備是我的樹莓派(只是因為我不希望我的電腦在樓下),無論如何它通過遠端設備上的 /dev/ttyUSBX 進行通信。

我希望我可以在本地機器上創建一個虛擬串列埠並通過 SSH 連接它,否則未加密也可以。此外,如果它可以是一個守護程序也很好,這樣它就會像一個完整的直通一樣。

我研究了 socat 和 ser2net,但要麼沒有數據通過,要麼在發送一個命令後 socat 會關閉。我也四處尋找教程,但它通常只顯示客戶端的範例,而不是遙控器。因此,如果您可以為伺服器和客戶端提供範例,將不勝感激。

請注意,“虛擬串口”是 Windows 術語;Linux 沒有“虛擬串口”。

Linux 擁有的是一個支持附加ioctls 的文件;如果您不需要這些,可以嘗試使用socat.

如果您確實需要這些,我不知道解決方案。但是,您可以做的是使案例如usbip在網路上透明地轉發 USB 設備。大多數 Linux 發行版都會將 usbip 作為軟體包包含在內。

所以你把遠端設備上的USB串口當作本地USB設備,然後/dev/ttyUSBX在本地設備上訪問。

這還將在兩個方向上轉發代表 DTR、RTS 等操作的 USB 數據包。

引用自:https://unix.stackexchange.com/questions/504621