Python实现树莓派USB串口通讯

作者:MIRIII    提交时间:2020-02-27    点击:4685    TAGS:树莓派

 → USB串口通讯 


树莓派上自带一个串口,用于连接蓝牙或是串口命令行,串口资源很少,对于嵌入式的应用来说串口设备很多,需要的串口数量也很多,因为通过USB外接串口是一个不错的选择。


1、 我手中的USB转串口芯片是FTDI公司的FT203XS,把它插入树莓派的USB接口中,命令行使用lsusb查看设备能否识别。


2、查看识别成的串口号ls -l /dev/tty*   根据列表看到了识别成了ttyUSB0,查看串口的波特率 stty -F /dev/ttyUSB0


3、查看串口的连接信息 命令行输入dmesg | grep ttyUSB0


5、树莓派默认安装了python 和pyserial, 使用pip命令查看一下有没有 命令行输入pip list,查看到安装pyserial 版本号为3.4


6、命令python查看安装到系统上的串口,命令行输入python -m serial.tools.list_ports


7、python脚本测试串口


# coding=utf-8
import binascii
import serial  
import time
#while True:  #循环重新启动串口
t = serial.Serial('/dev/ttyUSB0',9600)  
a='010300000012c5c7'
print("发送:" + a)
a_list = []
for i in a.split():
a_list.append(binascii.a2b_hex(i))
t.writelines(a_list)
time.sleep(1)     #sleep() 与 inWaiting() 最好配对使用
num=t.inWaiting()
if num:
data= str(binascii.b2a_hex(t.read(num)))[2:-1] #十六进制
print("接收:" + data)
t.close()


实现自发自收的测试脚本如下:

python
import serial
ser = serial.Serial(’/dev/ttyUSB0’,9600,timeout=0.5)
ser.isOpen()
ser.write(‘12345’)
ser.inWaiting()
ser.read(5)