通过Bash打开与Arduino的串行连接

时间:2013-08-15 13:10:46

标签: bash shell serial-port arduino

我已经设置了我的Arduino,所以当我通过串行监视器发送“0”时,步进电机会转动给定的数量。

我想在bash脚本中包含它,但是我只能在arduino串口监视器打开并在bash中输入echo 0 > /dev/tty.usbserial641时才能使用它。我认为这是因为串口监视器正在为我打开连接。

在我用bash打开连接的努力中(没有打开串行监视器)我已经尝试了stty -f /dev/tty.usbserial641的各种选项,并尝试使用10uF电容将复位连接到地。

可以帮助我在不使用arduino串口监视器的情况下在bash中打开连接吗?

系统: Arduino Uno rev3 OS X 10.8.4

非常感谢, hcaw

2 个答案:

答案 0 :(得分:5)

以下命令是否适合您。

 # stty -F /dev/ttyUSB0 9600 cs8 -cstopb
 # sleep 0.1
 # echo "0" > /dev/ttyUSB0

值0和ascii char 0(48)之间存在差异。你试图发送哪一个,你想收到哪一个?

如果你想从终端读取端口,你可以这样做

head -n 1 /dev/ttyUSB0  //the number after n is how many lines you want to read

最后一点,我是pySerial的粉丝。我宁愿在python中编写一个接口而不是shell脚本。

答案 1 :(得分:2)

我发现用C编写的一个很棒的二进制文件解决了我的Arduino-serial问题。这是the link. 我希望这可以帮助有类似问题的人!