自动化xmodem文件上传

时间:2013-07-12 12:24:09

标签: ruby bash serial-port xmodem

我有一个设备,通过xmodem上传文件来完成软件更新。

我可以使用lrzsz(http://ohse.de/uwe/software/lrzsz.html)包以两种方式执行此操作。

1)使用屏幕

screen /dev/tty.myserialdevice 115200

然后

^A:exec !! sz -X file.bin

2)使用cu

cu -l /dev/tty.myserialdevice -s 115200

然后

~+lsz -X file.bin

现在我想编写一个脚本(最好是ruby或bash脚本)来自动上传文件。

有没有办法将文件传输到屏幕或cu或使用标准输入? 当我尝试编写脚本时,我只能打开连接。 但即便如此,我仍有问题要再次正确关闭此连接。

1 个答案:

答案 0 :(得分:4)

不确定你是否还有这个问题,但我最近不得不拼凑一些类似的情况。

我使用screen来自动化这部分,因为它有一些命令行选项可以在后台运行。首先,我创建一个分离的屏幕会话,如下所示:

    screen -d -m /dev/tty.myserialdevice 115200

然后,我可以使用-p0选项引用我创建的会话,并给它一个命令来执行-X,在这种情况下是一个命令来屏蔽自己以启动xmodem文件传输。

    screen -p0 -X exec \!\! sz -X filetosend

我在网上的其他地方注意到了。\!\!有时候也会使用它,所以请记住这一点,如果你仍有问题,请记住。