代码

Arduino 

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

需要先在编译器中编译上传 

如果读到树莓派传输过来的‘s’就会打印"Hello Raspberry,I am Arduino."

python程序(comm.py)


# -*- coding:UTF-8 -*-
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');#writ a string to port
    response = ser.readall();#read a string from port
    print response;
except:
  ser.close();

 树莓派写入‘s’,运行comm.py,如果读到树莓派传输过来的‘s’就会打印"Hello Raspberry,I am Arduino."

运行结果

 会发现有传输延时

可能遇到的python2 python3编码问题,这个问题在我的博客有记

【传感器&&填坑】Arduino和树莓派通信读取Arduino的距离,解决版本编码问题_dujuancao11的博客-CSDN博客

# -*- coding:UTF-8 -*-
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('utf-8'));#writ a string to port
    response = ser.readall().decode()#read a string from port
    print(response)
except:
  ser.close();
  print(111)

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐