因为最近玩树莓派和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