Serial-Port
在沒有 kermit 和 lrzsz 的情況下通過串列檢索文件
我在定制板上有一個嵌入式 Linux,我想通過其串列埠發送和接收文件。
與此設備通信的唯一方法是通過串列埠,並且該設備在此串列埠上提供了一個控制台。
這塊板
kermit
既沒有busybox rx
也沒有lrzsz
。- 發送文件到遠端
我能夠按照這個執行緒將文件發送到董事會。
Host side Remote side cat file | base64 > file_b64 cat > file_b64 minicom's ctrlA-S => send 'file_b64' cat file_b64 | base64 --decode > file
- 從遠端獲取文件
現在我想從遠端系統中檢索一個文件。
Minicom 有一個接收文件的工具,但由於我只有串列埠的控制台,使用 minicom 在遠端端發出命令,我找不到如何去做。
我曾嘗試在主機端使用 kermit,但似乎我還需要在遠端端使用 kermit。
編輯:
我也嘗試反轉發送方法,但沒有成功,因為我沒有從主機端的串列埠收到任何東西。
Host side Remote side cat file | base64 > file_b64 (sleep 10; cat file_b64 > /dev/ttyS0) & minicom's ctrlA-X => exit minicom cat /dev/ttyUSB0 > file_b64
不能使用 minicom 的接收工具,因為它只支持
xmodem
,ymodem
,zmodem
和kermit
傳輸,不支持 ascii。有沒有辦法從遠端檢索文件而無需在其控制台中鍵入命令?
最後發現我在接收方發出了錯誤的命令。
接收命令應為:
cat < /dev/ttyUSB0 > file_b64
概括
從遠端接收:
Host side | Remote side | | #Encode to base64 | cat file | base64 > file_b64 | | #Send after timeout | (sleep 10; cat file_b64 > /dev/ttyS0) & | ############################################################# ### Exit minicom but keep configuration (ctrlA-Z, then Q) ### ############################################################# | #Receive file | cat < /dev/ttyUSB0 > file_b64 | | #Decode file | cat file_b64 | base64 -di > file |