QtSerialMonitor 详细使用教程
目录
- [快速上手(5分钟入门)](#快速上手5分钟入门)
- [串口基础收发操作](#串口基础收发操作)
- [UDP 网络通信](#udp-网络通信)
- [数据绘图与曲线](#数据绘图与曲线)
- [数据滤波](#数据滤波)
- [数据日志导入导出](#数据日志导入导出)
- [打印与图片保存](#打印与图片保存)
- [窗口布局调整](#窗口布局调整)
- [配置管理](#配置管理)
- [常见问题与故障排查](#常见问题与故障排查)
快速上手(5分钟入门)
1.1 启动程序
# 进入目录
cd D:\工业协议\商业产品\开源工具包\QtSerialMonitor\deploy
# 双击运行
QtSerialMonitor.exe
- 首次运行自动生成配置文件
- 界面默认中文,顶部菜单:`文件` `设置` `工具` `帮助`
1.2 打开串口(最基础操作)
- 选择端口:顶部下拉框 `端口` → 选择目标 COM 口(如 `COM3`)
- 设置参数:
- 波特率:`9600`(默认,按设备手册修改)
- 数据位:`8`
- 停止位:`1`
- 校验位:`None`
- 打开:点击 `打开串口` 按钮 → 状态灯变绿
- 测试发送:
- 发送区选择 `HEX` 模式
- 输入:`01 03 00 00 00 01`(标准 Modbus 读保持寄存器示例)
- 点击 `发送` → 接收区显示返回报文
成功标志:接收区出现数据行,含时间戳和收发数据
串口基础收发操作
2.1 编码模式切换
| 模式 |
适用场景 |
发送输入示例 |
接收显示示例 |
| ASCII |
文本协议、AT 指令 |
`AT\r\n` |
`OK\r\n` |
| TEXT |
中文/多语言文本 |
`你好设备` |
`设备就绪` |
2.2 收发区功能
| 功能 |
操作 |
说明 |
| 自动滚动 |
勾选 `自动滚动` |
新数据自动滚到底部 |
| 时间戳 |
勾选 `显示时间戳` |
每条数据附带时间 |
| 清空 |
点击 `清空` |
仅清界面,不影响日志 |
2.3 发送区功能
| 功能 |
操作 |
说明 |
| 发送历史 |
上/下方向键 |
最近命令自动记忆 |
| 定时发送 |
设置 `发送间隔(ms)` |
按间隔循环发送 |
UDP 网络通信
3.1 UDP 发送
- 菜单 `工具` → `UDP` → `UDP Client`
- 配置目标地址:`IP:Port`(如 `192.168.1.200:9000`)
- 点击 `连接` → 开始发送 UDP 数据
- 接收区显示返回数据
3.2 UDP 监听
- 切换 `UDP Server` 模式
- 绑定本地端口 `9000`
- 点击 `开始监听`
- 收到数据后显示在接收区
数据绘图与曲线
4.1 打开绘图窗口
- 菜单 `视图` → `数据绘图`(或快捷键 `F3`)
- 独立可停靠窗口显示曲线图
4.2 添加数据通道
- 曲线窗口右键 `添加通道` → 配置:
- 通道名:`温度`
- 数据源:串口接收解析 / 手动输入
- 解析规则:正则表达式提取数据值
- 数据类型:整数 / 浮点数
- 单位:°C / mV 等
- 颜色/线型:自动分配或手动指定
- `确定` → 曲线实时绘制
4.3 曲线操作
| 操作 |
方法 |
| 平移 |
中键拖拽 |
| 读数 |
悬停显示数值 |
| 暂停 |
工具栏 `暂停` 按钮 |
| 截图 |
`导出 PNG` |
| 导出数据 |
`导出 CSV` |
4.4 多曲线显示
- 支持同时显示多条数据曲线
- 每条曲线独立配置颜色、线型、数据源
- 曲线图例可显示/隐藏
数据滤波
5.1 启用滤波
- 曲线窗口右键 `数据滤波` → 启用
- 选择滤波方式:
- 移动平均:平滑数据波动
- 峰值滤波:去除异常峰值
- 阈值滤波:超出阈值的数据过滤
5.2 滤波参数配置
| 参数 |
说明 |
示例 |
| 阈值 |
峰值滤波的阈值 |
`50` |
| 滤波类型 |
选择的滤波算法 |
移动平均 |
数据日志导入导出
6.1 导出数据日志
- 菜单 `文件` → `导出日志` → 选择格式:
- CSV:表格格式,可用 Excel 打开
- TXT:纯文本格式
- 选择保存路径
- 数据包含时间戳、方向、数据值
6.2 导入历史数据
- 菜单 `文件` → `导入日志` → 选择 `.csv` 或 `.txt` 文件
- 数据自动加载到曲线图和表格中
- 可对历史数据进行分析和回放
6.3 日志文件结构
data/
├─ 20260115_083000_COM3.csv # CSV格式,含时间戳和数据
├─ 20260115_083000_COM3.txt # TXT格式
└─ index.json # 索引文件
打印与图片保存
7.1 保存曲线图片
- 在曲线窗口点击右键
- 选择 `导出图片` → 选择格式(PNG/JPG/BMP)
- 选择保存路径
7.2 打印输出
- 菜单 `文件` → `打印`
- 选择打印范围(当前视图/全部数据)
- 选择打印机 → 点击 `打印`
窗口布局调整
8.1 调整组件大小
- 拖动面板边框调整组件大小
- 支持多个面板自由排列
- 布局自动保存
8.2 面板停靠与浮动
- 面板可停靠到主窗口边缘
- 也可浮动为独立窗口
- 拖拽面板标题栏切换状态
8.3 保存/恢复布局
- 菜单 `设置` → `窗口布局` → `保存布局`
- 给布局命名(如 `默认布局`、`调试布局`)
- 需要时 `加载布局` 选择已保存的布局
配置管理
9.1 保存配置
- 菜单 `设置` → `保存配置`
- 配置文件自动保存至 `settings.ini`
- 包含串口参数、窗口布局、绘图设置等
9.2 加载配置
- 菜单 `设置` → `加载配置`
- 选择配置文件
- 所有设置自动恢复
9.3 配置文件位置
QtSerialMonitor/
├─ QtSerialMonitor.exe
├─ settings.ini # 用户设置
├─ plots.cfg # 图表配置
└─ data/ # 数据日志目录
常见问题与故障排查
| 现象 |
可能原因 |
解决方法 |
| 收到乱码 |
波特率/校验不匹配 |
1. 对照设备手册核对 2. 尝试常见组合 |
| 曲线不显示 |
数据解析失败 |
1. 检查解析规则 2. 确认数据源正确 |
| UDP连不上 |
防火墙/IP错/端口错 |
1. ping 目标IP 2. 确认端口监听 |
| 程序崩溃 |
Qt 运行库缺失 |
1. 确认 deploy 目录完整 2. 重新解压 |
| 绘图卡顿 |
数据量过大 |
1. 减小窗口显示点数 2. 启用降采样 |
| 中文显示乱码 |
字体设置问题 |
1. 设置中切换字体 2. 使用支持中文的字体 |
进阶技巧
10.1 快捷键
| 快捷键 |
功能 |
| `F3` |
打开/关闭绘图窗口 |
| `Ctrl+O` |
打开串口 |
| `Ctrl+Shift+O` |
关闭串口 |
| `Enter` |
发送数据 |
| `Ctrl+L` |
清空接收区 |
| `Ctrl+E` |
导出数据日志 |
| `Ctrl+P` |
打印 |
10.2 多实例运行
- 复制整个目录 → 重命名 → 同时运行多实例
- 各实例监控不同设备
10.3 批量数据处理
- 导入大量 CSV 数据
- 使用绘图窗口进行批量分析
- 导出分析结果
附录:典型应用场景
Arduino 项目调试
- 连接 Arduino 到 COM 口
- 打开串口,波特率 `9600`
- 上传串口监视代码
- 查看实时数据和曲线
- 使用数据滤波平滑曲线
传感器数据采集
- 连接传感器到串口
- 配置数据解析规则
- 实时绘制温度/压力等曲线
- 导出 CSV 进行后续分析
- 打印或保存曲线图片
通信协议分析
- 选择 HEX 模式
- 发送特定指令
- 分析返回数据
- 保存日志用于回溯
提示:本教程基于 QtSerialMonitor v1.53 编写,界面细节可能随版本微调。遇到未覆盖场景,请参考程序内 `帮助` → `在线文档` 或 GitHub Issues: https://github.com/mich-w/QtSerialMonitor/issues