You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中通过USB接口解析串口数据?附相关代码示例

串口报警数据读取与解析实现

下面是针对RS-232串口报警数据读取的Python代码方案,当报警触发时,设备会通过串口推送报警信息,我们可以用pyserial库来处理:

完整代码示例

import serial

# 初始化串口连接
port = serial.Serial(
    "/dev/ttyUSB0",
    baudrate=9600,
    parity=serial.PARITY_EVEN,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.SEVENBITS,
    timeout=None,
    xonxoff=1
)

while True:
    rcv = []
    beta = []
    # 读取一行串口数据
    rcv = port.readline()
    # 将字节数据解码为UTF-8字符串
    rcv = rcv.decode("UTF-8")
    beta = rcv
    # 定义需要清理的无用字符
    replacements = (' ', '/', '\r', '\n')
    # 循环移除无用字符
    for r in replacements:
        beta = beta.replace(r, '')
    # 这里可以添加处理清洗后报警数据的逻辑,比如打印或存储
    print(f"处理后的报警数据: {beta}")

代码关键部分解析

  • 串口初始化:这里指定了串口设备路径/dev/ttyUSB0(Windows环境下通常是COMx格式),同时配置了串口通信的核心参数:9600波特率、偶校验、1个停止位、7位数据位,开启xonxoff流控且设置无超时,确保能稳定接收设备推送的报警信息。
  • 数据读取与解码:用readline()读取一行完整的串口数据,再通过decode("UTF-8")将字节流转换为可读的字符串格式。
  • 数据清洗:定义了需要移除的冗余字符(空格、斜杠、回车换行),通过循环替换的方式清理掉这些干扰字符,得到整洁的报警数据,方便后续的业务逻辑处理。

内容的提问来源于stack exchange,提问作者Muhammad Yousuf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:59:33