便携式ROV搭建系列(三):通信之树莓派与Arduino通信

便携式ROV搭建系列(三):通信之树莓派与Arduino通信


1 可行方案

  • USB 参考这篇
  • GPIO
  • IIC 参考这篇

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

你可能感兴趣的:(ROV,系统开发)