本博客为作者自我学习所整理,若对读者有帮助,不胜荣幸
利用Python实现串口通信——以Arduino UNO为例
实现原理
- 利用Python实现串口通信本质上是利用python给出一个信号(只能是ASCII码),通过串口(COM)传送给硬件设备,例如:Arduino、STM32等。硬件设备接收到该信号,通过已经烧录好的程序自行处理。
- 因此,在实现过程中,主要关注点便是:①Arduino如何发出信号到串口、python如何从串口读取信息;②python如何发送信号到串口、Arduino如何从串口读取信号。
基础内容
Python部分
- 第三方库
Serial
- 安装:
pip install pyserial
- 主要函数介绍:
import serial
port_list = list(serial.tools.list_ports.comports()) # 获取当前可用的串口列表
serialPort = "COM4" # 定义/设置串口名称(在‘我的电脑’设备管理器中可以查到)
baudRate = 9600 # 定义/设置串口波特率(要确保和设备的波特率相同)
timeout = 1 # 定义/设置超时时间(单位:s)
ser = serial.Serial(serialPort, baudRate, timeout)
# 当然,这样也可以:ser=serial.Serial("COM4", 9600, 1)
string = ser.readline().decode('utf-8') # 读取一列数据
str_lines = ser.readlines() # 读取所有数据
Arduino部分
Arduino==>Python
Python==>Arduino
应用案例
参考文章: