我有一个由显示驱动器控制的小型 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