Ssh
無緩衝的 socat 命令連接遠端機器的串口並記錄數據
我目前正在使用以下命令。它從本地機器中的串列 ttyUSB0 讀取,並通過兩個用於記錄的 tee 命令雙向連接到 ssh。在遠端端,socat 將 stdio 連接到遠端 ttyUSB0:
stty -F /dev/ttyUSB0 raw 3000000 ssh admin@remote.local stty -F /dev/ttyUSB0 raw 3000000 socat /dev/ttyUSB0,raw,echo=0 SYSTEM:'"tee -a log_l2r | ssh admin@remote.local socat - /dev/ttyUSB0,raw,echo=0 | tee -a log_r2l"',pty,echo=0
- 我想確保緩沖不會破壞兩個機器人控制器之間的實時通信。行緩衝是可以的,但僅此而已。
上面的命令中有很多連接,我不確定潛在的緩衝管道/套接字。你能幫我找出它們嗎? 2. 我還需要刪除任何翻譯或迴聲(我相信
stty ... raw ...
已經這樣做了)。 3. 是否有其他首選方法來解決此通信問題?即其他命令?執行 Debian GNU/Linux - Ubuntu
如果您獲得 stdio 緩衝,則將該
stdbuf
命令用作實際命令的前綴。
stty
可能需要一個明確的-echo
.作為替代方案,如果您不需要 ssh 加密,請查看usbip模組以使一台機器上的 USB 設備在另一台機器上可見。
為避免
tee
日誌記錄,只需使用socat -v
在 stderr 上獲取兩個數據流的副本。