串口数据可视化工具:Serial Port Plotter 完全指南
Serial Port Plotter 是一个功能强大的 Windows 应用程序,专门用于实时显示来自串行端口的数据。该应用基于 Qt 框架和 QCustomPlot 库构建,为嵌入式开发者、硬件爱好者和实验研究人员提供了直观的数据可视化解决方案。
核心功能特性
- 无坐标轴限制:未知/新的通道数据会自动创建新图表并使用(14种循环颜色调色板)
- 无数据点限制:所有接收到的数据都会被保留,用户可以随时查看历史数据
- 无波特率限制:测试支持高达 912600 bps 的传输速率
- 鼠标缩放和拖拽:使用鼠标滚轮或点击进行缩放(仅限X轴)
- 实时坐标显示:在绘图区域移动鼠标时,状态栏会显示图表中对应点的X和Y值
- 通道名称图例:双击可修改通道名称
- 通道选择功能:点击图例文本即可选择对应通道
- 支持正负整数和浮点数
- PNG格式导出:可将图表保存为高质量PNG图片
- CSV格式导出:支持将采集数据导出为CSV格式进行后续分析
- 自动缩放可见图表:一键自动调整Y轴显示范围
应用界面展示
快速使用指南
数据发送格式要求
要向应用程序发送数据,必须遵循特定的格式以便区分不同数值。每条消息必须以'$'开始,以';'(分号)结束,内部整数需要用空格分隔。
C语言示例代码:
/* 示例:绘制两个数值 */
printf ("$%d %d;", data1, data2);
操作要点说明
- 在控件上使用鼠标滚轮可以改变其数值,在绘图区域使用滚轮可以进行缩放
- 当停止/暂停时,绘图区域可以被拖拽,文件保存功能会被启用
- 要启用文件保存功能,在开始绘图前点击文档按钮
通道管理技巧
在图形控制面板中双击通道可以隐藏/显示特定通道,这在进行多通道数据分析时特别有用。
项目架构解析
核心技术组件
- Qt框架:提供跨平台的GUI应用程序开发能力
- QCustomPlot库:专业的2D绘图库,支持高性能数据可视化
- 多线程处理:独立的串口读取和图形更新线程确保流畅性能
数据处理流程
应用程序采用状态机模式处理串口数据:
- 等待开始状态:检测数据流中的'$'起始符
- 消息处理状态:接收并解析有效数据
- 数据可视化:实时更新图表显示
安装与构建
获取源代码
git clone https://gitcode.com/gh_mirrors/se/serial_port_plotter
cd serial_port_plotter
项目依赖
- Qt 5.11.1 或更高版本
- QCustomPlot 2.0.1 库
- qDarkStyle 2.5.4 主题
构建说明
项目提供完整的 Qt 项目文件 SerialPortPlotter.pro,用户可以使用 Qt Creator 打开并构建项目。对于不想自行构建的用户,项目中包含独立的可执行文件。
实际应用场景
硬件开发调试
- 传感器数据实时监控(温度、湿度、压力等)
- 嵌入式系统输出数据可视化(Arduino、Raspberry Pi等)
- 产品原型验证过程中的数据趋势分析
科研与教育应用
- 实验室数据采集与实时显示
- STEM教学中的数据可视化演示
- 自动化测试系统中的关键指标记录
性能优化建议
根据要显示的数据量,可以调整数据点的数量。例如,如果从 mbed 的串口每 10 毫秒(100 Hz)发送数据,并且绘图仪设置为显示 500 个点,它将包含 5 秒的数据信息。
版本演进历史
项目自 2014 年发布以来,经历了多个重要版本的迭代:
-
1.3.0版本(2018-08-01):新增COM端口刷新按钮、通道可见性控制、自动缩放功能和CSV保存支持。
-
1.2.2版本(2018-07-26):新增UART调试文本框和文本过滤功能。
-
1.2.1版本(2017-09-24):增加了对浮点数/双精度数的支持。
项目资源
图标资源
项目包含丰富的图标资源,位于 res/icons 目录下,包括:
- Line Icon Set 图标包(三种颜色变体)
- Lynny 图标包(三种颜色变体)
样式主题
提供多种界面样式选择,包括 qDarkStyle 暗色主题和自定义样式表,用户可以根据个人偏好进行选择。
Serial Port Plotter 作为一个成熟稳定的串口数据可视化工具,已经在众多硬件开发项目和科研实验中得到了广泛应用。其简洁的界面设计、强大的功能特性和稳定的性能表现,使其成为串口数据监控领域的首选解决方案。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0151- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112

