串口数据可视化工具: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 StartedRust078- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
Hy3-previewHy3 preview 是由腾讯混元团队研发的2950亿参数混合专家(Mixture-of-Experts, MoE)模型,包含210亿激活参数和38亿MTP层参数。Hy3 preview是在我们重构的基础设施上训练的首款模型,也是目前发布的性能最强的模型。该模型在复杂推理、指令遵循、上下文学习、代码生成及智能体任务等方面均实现了显著提升。Python00

