声明:虽然内容大部分为作者引用(均已附上原址链接),但是未经作者允许,谢绝整版转载。
1.安装pyserial模块
>>wget http://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
>>tar -zxaf pyserial-2.7.tar.gz解压默认在pyserial-2.7目录下
>>cd pyserial-2.7
>>python setup.py install
这种手动安装方式会出现很多问题,可能和环境有关,最后换用pip安装(pip是最初和python一起安装的)
>>pip install pyserial(安装成功)可能会出现大片红色报错,多试几次就ok了
参见https://blog.csdn.net/testcs_dn/article/details/53178076
2.使用arduino和树莓派usb通信,测试串口
(1)arduino写串口通信,并测试通过
https://www.cnblogs.com/aiyauto/p/7071712.html
Serial.begin()函数默认8N1
int i;
void setup()
{
Serial.begin(115200);
pinMode(13,OUTPUT);
}
void loop()
{
if(Serial.read()=='o')
{
for(i=0;i<5;i++)
{
digitalWrite(13,HIGH);
delay(300);
digitalWrite(13,LOW);
delay(300);
}
Serial.println("Hello World!");
}
}
(2)树莓派usb口写通信协议
参看https://blog.csdn.net/fhqlongteng/article/details/80417028
>>lsusb 查看usb设备能否识别(可通过拔插判断)
>>ls -l /dev/tty* 查看所有设备,tty是指终端设备https://blog.csdn.net/a746742897/article/details/52302394
可知是识别成了/dev/ttyUSB1,可以通过拔插来判断或日期来判断
>>stty -F /dev/ttyUSB1 查询波特率
可以修改波特率和通讯格式,参看https://blog.csdn.net/panfengsoftware/article/details/7942051
>>stty -F /dev/ttyUSB1 speed 115200 cs8 -parenb -cstopb
(3)开始测试
参看https://blog.csdn.net/u012611644/article/details/79125234
>>import serial
>>ser=serial.Serial("/dev/ttyUSB1",115200,timeout=0.5)
>>ser.open
>>ser.write('o')
>>ser.read(11)
看到13口LED灯闪烁5次,并且读取回发信息“Hello World”,通信成功!