便携式ROV搭建系列(三):通信之树莓派与Arduino通信
1 可行方案
2 USB方式
1 安装必要的支持库
(1) 更新软件源和系统软件
sudo apt-get update
sudo apt-get upgrade
(2)安装serial,用于串口通信及USB通信
sudo apt-get install python-serial
(3)验证是否安装成功
新建一个test.py文件
sudo nano test.py
写入下面两行代码
import serial
import RPi.GPIO
运行以下语句,若没有报错说明安装成功
python test.py
2 USB端口查询
将arduino与树莓派通过usb线连接,并在树莓派终端输入以下命令,查看两者连接端口的名字,查看有没有ttyACM0,若有则表明连接成功可进行通信了
ls /dev/tty*
3 通信代码
arduino 端:
void setup()
{
Serial.begin(9600); // 9600 bps
}
void loop()
{
if ( Serial.available())
{
if('s' == Serial.read()) // 输入为 s 则输出以下语句
Serial.println("Hello Raspberry,I am Arduino.");
}
}
树莓派端:
新建一个名为communication.py的文件,并复制以下内容
import serial
ser = serial.Serial('/dev/ttyACM1', 9600,timeout=1); #open named port at 9600,1s timeot
#try and exceptstructure are exception handler
try:
while 1:
ser.write('s'); # 向串口内写入字符 s
response = ser.readall(); # 读取串口输出并打印在窗口
print response;
except:
ser.close();
在终端输入以下命令运行程序,并观察结果
sudo python communication.py