Linux使用python调用串口方式
作者:WeekendLife
时间:2026-05-25
浏览:0
想在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库提供了清晰、稳定的接口。从安装到编写收发循环,整个过程逻辑清晰,是入门嵌入式通信或设备调试的一个不错起点。
作者最新文章
打印机暂停打印的解决方法及恢复正常打印步骤
2026-09-22 14:32
华强北手机全线涨价:涨幅400-1500元,存储成本推高售价
2026-09-08 19:22
PDF转XML操作步骤与在线工具使用指南
2026-09-03 10:06
如何把多个PPT转成PDF?批量转换PDF的方法有哪些?
2026-09-02 19:32
CorelDRAW 2021图片虚化与边缘处理教程
2026-09-02 15:44
上一篇:
虚拟环境:别让包打架
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































