因为最近玩树莓派和arduion,自己为了一个通信弄了很多天,看了很多网上的教程,都是东拼西凑,所以希望这篇文章能够帮到大家。

如果树莓派没有安装serial,首先进行命令安装,用于串口通信和USB通信。

sudo apt-get install python-serial

然后通过线插拔,看是哪一个串口。我的是ACM0

ls /dev/tty*

 

最后就是两边的测试,使用树莓派向arduino发送s,arduion收到后返回一串指令。

void setup() 
{
  serial.begin(9600); // 9600 bps
}
void loop()
{
  if ( serial.available())
    {
      if('s' == serial.read())
        serial.println("Hello Raspberry,I am Arduino.");
     }
}

树莓派端

import serial    #import serial module
ser = serial.Serial('/dev/ttyACM0', 9600,timeout=1);   #open named port at 9600,1s timeot

#try and exceptstructure are exception handler
try:
  while 1:
    ser.write('s'.encode());#writ a string to port
    response = ser.readall();#read a string from port
    print(response);
except:
  ser.close();

最后在运行程序,如果权限不足,就用命令运行,如sudo a.py

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐