23 gnu-screen serial-port kermit
我通过 GNU 使用 RS-232 设备screen。
$ screen /dev/ttyUSB0 115200
Run Code Online (Sandbox Code Playgroud)
在某些时候,我需要使用xmodem或kermit协议将本地文件发送到设备。在 Windows 上,我使用具有相应菜单项的 TeraTerm。我怎样才能在 GNU 屏幕中实现这一点?
小智 29
通过 xmodem 传递文件的最佳方法是使用sx. 在 debian 中,这个应用程序是 'lrzsz' 包的一部分。
在 debian 中:
apt-get 安装屏幕 lrzsz 屏幕 /dev/ttyUSB0 115200
然后按Ctrl-A后跟:并键入:
执行!!sx yourbinary.bin
这将通过 xmodem 协议将文件发送到 ttyUSB0
小智 5
我需要使用 xmodem 自动将 .bin 文件串行传输到 xbee,所以我使用了这个草率的 bash 代码:
echo "Starting connection..."
screen -d -m -S uart_con /dev/ttyO1 115200
sleep 1
screen -S uart_con -X stuff 'F'$(echo -ne '\015')
sleep 1
screen -S uart_con -X exec \!\! sz -X /home/file_directory/example.abs.bin
echo "now transfering... "
sleep 20
pkill screen
Run Code Online (Sandbox Code Playgroud)
第三行向另一端(xbee)发送命令以开始侦听文件传输。所以你可能只擅长:
screen -d -m -S uart_con /dev/ttyUSB0 115200
screen -S uart_con -X exec \!\! sz -X /path_to_file/example.file
Run Code Online (Sandbox Code Playgroud)