使用 echo 与 screen 会话发送串行命令

使用 echo 与 screen 会话发送串行命令

我有一个由显示驱动器控制的小型 LED 矩阵,该驱动器接受串行命令来更新显示。我成功地通过节点与节点串行包控制它,但是我希望能够使用 echo 更新它,以便我可以在启动过程的早期使用 shell 脚本控制它。

为了开始测试这个新方法,我将其设置为:

chmod o+rw /dev/ttyUSB0
stty /dev/ttyUSB0 115200

我可以使用屏幕向它发送命令:

screen -F /dev/ttyUSB0 115200

但是当我尝试使用时:

echo -e 'title \r' > /dev/ttyUSB0

它不起作用,当我在另一个窗口中监视响应时

cat -v < /dev/ttyUSB0

我看到它收到了消息,但它似乎支离破碎,并且不断响应错误,就好像我发送了很多错误和/或空白命令一样。

如何使用 echo 模仿从屏幕发送的命令?

答案1

我能够配置串行端口,因此回显的行为就像屏幕一样。这是我的设置:

stty -F /dev/ttyUSB0 115200 raw -echo -echoe -echok -echoctl -echoke

并回应:

echo -e -n 'command_here\r'  > /dev/ttyUSB0 

相关内容