Linux使用python调用串口方式
想在Ubuntu系统上通过/dev/ttyUSB0这个串口设备收发数据?用Python配合pyserial库来实现,是个既简单又高效的选择。 这套方案上手门槛不高,能应对绝大多数基础的串行通信需求。下面就来拆解一下具体的实现步骤和代码。 步骤 1: 安装 PySerial 万事开头先装库。你得确保系
想在Ubuntu系统上通过/dev/ttyUSB0这个串口设备收发数据?用Python配合pyserial库来实现,是个既简单又高效的选择。

这套方案上手门槛不高,能应对绝大多数基础的串行通信需求。下面就来拆解一下具体的实现步骤和代码。
步骤 1: 安装 PySerial
万事开头先装库。你得确保系统里已经安装了pyserial,这是Python生态里处理串口通信的“标配”工具。
pip install pyserial
步骤 2: 编写串口收发代码
库装好了,接下来就是写代码。下面这个脚本演示了如何打开/dev/ttyUSB0串口,配置好波特率等参数,并实现数据的收发循环。
import serial
import time
def open_serial(port, baud_rate):
"""打开串口并配置基本参数"""
try:
ser = serial.Serial(port, baud_rate, timeout=1,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS)
if ser.is_open:
print(f"Serial port {port} opened successfully")
return ser
except Exception as e:
print(f"Failed to open serial port: {e}")
return None
def read_from_serial(ser):
"""从串口读取数据"""
try:
data = ser.readline() # 读取一行数据
if data:
print(f"Received: {data.decode().strip()}")
except Exception as e:
print(f"Failed to read data: {e}")
def write_to_serial(ser, data):
"""向串口发送数据"""
try:
ser.write(data.encode())
print(f"Sent: {data}")
except Exception as e:
print(f"Failed to send data: {e}")
def main():
port = "/dev/ttyUSB0"
baud_rate = 9600
# 打开串口
ser = open_serial(port, baud_rate)
if ser and ser.is_open:
try:
# 循环接收和发送数据
while True:
read_from_serial(ser)
time.sleep(1)
write_to_serial(ser, "Hello from Python!")
time.sleep(1)
finally:
ser.close()
print("Serial port closed")
if __name__ == "__main__":
main()
程序说明
- 打开串口:
open_serial函数负责连接指定串口,并完成波特率等关键参数的配置。 - 读取数据:
read_from_serial函数从串口读取一行数据,解码后打印出来。 - 发送数据:
write_to_serial函数则负责将字符串编码后发送到串口。 - 主循环:
main函数里的循环展示了如何持续地进行读取和发送操作。
注意事项
- 首先,得确认你有权限访问
/dev/ttyUSB0这个设备文件。如果遇到权限错误,要么用sudo提权运行脚本,要么把你的用户加到dialout用户组里。 - 其次,波特率、校验位这些串口参数,务必和你通信的另一端设备设置保持一致,否则数据就是乱码。
这个例子虽然简单,但已经搭建起了使用Python和PySerial进行串口通信的基本框架。
总结
总的来说,在Linux环境下用Python操作串口,pyserial库提供了清晰、稳定的接口。从安装到编写收发循环,整个过程逻辑清晰,是入门嵌入式通信或设备调试的一个不错起点。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















