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

基于树莓派实现串口UART数据自动录制与文件分割方案咨询

树莓派串口录制方案建议

Python pyserial库:最优选择之一

这绝对是靠谱且灵活的方案,完全适配你的需求:

  • 树莓派预装Python,无需额外折腾环境部署;
  • 实际要用的是pyserial库(注意不是你提到的serial,安装命令是pip install pyserial),它能轻松实现串口连接、数据读取,配合Python的时间处理模块,定时分割存储的逻辑写起来毫无压力;
  • 你有Python基础,自定义扩展(比如过滤特定数据、异常重连、按文件大小分割)的成本极低,比CLI工具灵活得多。

替代方案对比(供参考)

  • screen命令:树莓派预装,支持串口连接和日志记录,比如执行screen /dev/ttyUSB0 115200 -L -Logfile serial_log_$(date +%Y%m%d_%H%M%S).txt就能开始记录,但定时分割需要结合shell脚本+crontab定时任务,自定义逻辑远不如Python方便;
  • minicom:需要手动安装(sudo apt install minicom),也支持日志存储,但同样,定时分割得依赖外部脚本,灵活性不足。

实操建议

  1. 先安装依赖:pip install pyserial
  2. 核心代码示例(实现串口连接+定时分割存储):
import serial
import time
from datetime import datetime

# 配置参数
SERIAL_PORT = "/dev/ttyUSB0"  # 树莓派上USB串口一般是ttyUSB0/ttyACM0,用ls /dev/tty*确认
BAUD_RATE = 115200
SPLIT_INTERVAL = 3600  # 分割间隔,单位秒,示例为1小时

def main():
    ser = serial.Serial(SERIAL_PORT, BAUD_RATE, timeout=1)
    current_log = None
    last_split_timestamp = time.time()

    try:
        while True:
            # 检查是否需要切换新日志文件
            if time.time() - last_split_timestamp >= SPLIT_INTERVAL or current_log is None:
                if current_log:
                    current_log.close()
                # 按时间戳命名日志文件
                log_filename = f"serial_rec_{datetime.now().strftime('%Y%m%d_%H%M%S')}.txt"
                current_log = open(log_filename, 'ab')
                last_split_timestamp = time.time()
                print(f"已切换至新日志: {log_filename}")
            
            # 读取串口数据并写入文件
            raw_data = ser.readline()
            if raw_data:
                current_log.write(raw_data)
                current_log.flush()  # 确保数据实时写入,避免缓存丢失
    except KeyboardInterrupt:
        print("录制已停止")
    finally:
        if current_log:
            current_log.close()
        ser.close()

if __name__ == "__main__":
    main()
  1. 后台运行:可以用nohup python3 serial_recorder.py &让脚本在后台执行,或者写成systemd服务实现开机自启。

内容的提问来源于stack exchange,提问作者Jenya Darby

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:10:01