串口数据可视化工具: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 作为一个成熟稳定的串口数据可视化工具,已经在众多硬件开发项目和科研实验中得到了广泛应用。其简洁的界面设计、强大的功能特性和稳定的性能表现,使其成为串口数据监控领域的首选解决方案。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00

