Bash在屏幕上回显

时间:2013-05-20 15:19:47

标签: bash arduino serial-communication

我有这个bash文件:

#!/bin/bash
stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -imaxbel -opost -onlcr -isig -icanon -         iext en -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts

screen /dev/ttyACM0 9600
echo "1"

这基本上是连接到我的Ubuntu PC的Arduino,我可以完全运行代码,直到echo "1"部分。

我可以......

  1. 建立连接
  2. 查看串行连接的屏幕
  3. 键入"1"并看到我的灯泡亮起,当我键入"0"时,灯泡会熄灭。
  4. 我现在遇到的问题是我想控制代码中的开/关(没有我手动输入),这似乎几乎不可能。逻辑是正确的但是当我启动screen时,代码就会停在那里并运行屏幕等待我输入。直到我插上Arduino,echo终于出来了。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

之前我遇到过这样的问题,这是我的解决方法:

我有更多的运气与cu然后与stty

开始一个屏幕会话:

screen -S arduino -dmS cu -l /dev/ttyACM0 -s 9600

现在有一个名为arduino

的屏幕会话

您可以从脚本发送命令:

screen -S arduino -X stuff 1

这将像您的示例一样将1发送到串行连接

如果您想使用其他用户控制此操作,请确保权限允许此操作,并使用将向屏幕会话发送命令的同一用户创建屏幕会话。

如果您有更多问题,请问我。