SerialTool

SerialTool

开源项目 开源工具包

跨平台串口调试工具的Windows安装版,适合常规串口通信调试,支持多种串口参数配置和数据收发。

核心特性

  • 跨平台串口调试
  • 多种参数配置
  • 数据收发

产品介绍

SerialTool 功能详细介绍

概述

SerialTool 是一款跨平台串口调试工具 (Windows/Linux/macOS),由 gztss / skiars 开发 (GitHub: https://github.com/skiars/SerialTool)。Windows 版提供安装包 `SerialTool1.4.0a_Win32_Setup.exe`,基于 C/C++ 开发 (Qt 或原生 Win32)。遵循 GPL-3.0 许可证 (强 Copyleft)。

  • 当前版本:v1.4.0 alpha
  • Windows 部署:安装包 (含卸载入口、开始菜单快捷方式) 或 7-Zip/Universal Extractor 解压为绿色版
  • 跨平台:源码支持 Linux/macOS 编译 (本包仅含 Win32 版)
  • 许可证:GNU General Public License v3.0 (GPL-3.0) 强传染性

核心功能 (基于 v1.4.0 alpha 典型特性)

1. 串口通讯基础

  • 多端口同时打开:标签页管理多个串口会话
  • 参数全配置:波特率 (自定义值)、数据位/停止位/校验/流控 (RTS/CTS/DTR/DSR/Xon/Xoff)
  • 编码显示:HEX / ASCII / UTF-8 / GBK / Big5 / 自定义编码
  • 时间戳:精度 ms/μs、相对/绝对时间、行号
  • 数据过滤:关键字高亮、正则过滤、指定字节隐藏/替换

2. 发送增强

  • 发送区:多行编辑、HEX/文本切换、发送历史 (上下键翻阅)
  • 快捷命令:自定义按钮/菜单、参数化模板 (如 `{CRC16}` `{TIMESTAMP}` `{COUNTER}`)
  • 循环/定时发送:毫秒级间隔、发送次数限制、条件停止
  • 文件发送:逐行/逐字节发送文本/二进制文件、发送进度/速率控制
  • 协议辅助:Modbus RTU/ASCII 帧自动构造 (功能码/地址/数据/CRC 自动填充)

3. 接收与分析

  • 双视图:原始流 / 解析帧 (可切换)
  • 帧解析规则:自定义帧头/长度/校验/帧尾、自动拆包、字段映射表
  • 统计面板:字节数/帧数/错误帧/吞吐率/波特率利用率
  • 搜索/定位:历史缓冲区全文搜索、跳转到帧/时间/错误

4. 日志与导出

  • 自动记录:按会话/按天/按大小 (默认 50MB) 分卷
  • 格式:原始二进制 `.bin` / HEX 文本 `.txt` / CSV (时间/方向/数据/解析字段)
  • 导出向导:时间范围/端口/过滤器/格式/编码 可选

5. 终端模拟 (VT100/ANSI)

  • 光标控制/颜色/滚动区域 支持
  • 适配设备:路由器/交换机/服务器 Console 口、Modbus 终端、自定义 CLI 设备

6. 扩展与脚本 (规划中/部分实现)

  • Lua/Python 脚本 (Linux/macOS 版完整,Windows 版 alpha 可能缺失)
  • 插件接口:协议插件/导出插件/UI 扩展

安装与运行

安装包方式


SerialTool1.4.0a_Win32_Setup.exe
# 向导:选择安装目录、创建快捷方式、文件关联 (.stlog)

绿色版 (解压安装包)


# 使用 7-Zip / Universal Extractor
7z x SerialTool1.4.0a_Win32_Setup.exe -oSerialTool_Portable
cd SerialTool_Portable
SerialTool.exe

命令行参数 (典型)


SerialTool.exe --port=COM3 --baud=115200 --config=myconfig.ini --log=auto

配置文件

文件 说明
`session_*.stlog` 会话日志 (二进制/文本)
`plugins/` 插件目录 (如支持)

依赖与技术栈

  • C/C++ + Qt 5/6 (或 Win32 API + 自绘 UI)
  • 运行时依赖:Qt Core/Gui/SerialPort/Widgets DLL (随安装包分发)
  • 跨平台抽象:串口层封装 `libserialport` / Qt SerialPort / 原生 termios/Win32 API

适用场景

场景 适配度
复杂协议分析 ⭐⭐⭐⭐ 自定义帧解析、字段映射、统计
终端设备管理 ⭐⭐⭐⭐ VT100 模拟、多会话标签页
自动化测试集成 ⭐⭐⭐ 命令行参数、脚本扩展 (Linux/macOS 完整)

产品明细图

SerialTool

详细使用教程

SerialTool 详细使用教程

概述

SerialTool 是一款跨平台串口通信调试工具,由 gztss / skiars 开发(GitHub: https://github.com/skiars/SerialTool),当前版本 v1.4.0 alpha。基于 C/C++ 开发,支持 Windows/Linux/macOS 多平台。本包提供 Windows 安装版,也可用 7-Zip 提取为绿色版。遵循 GPL-3.0 许可证。

  • 技术:C/C++(跨平台)
  • 平台:Windows(提供 Win32 安装程序)
  • 运行方式:安装 `SerialTool1.4.0a_Win32_Setup.exe` 或解压绿色版

快速开始

1. 安装程序方式


双击 SerialTool1.4.0a_Win32_Setup.exe

按向导提示选择安装目录、创建开始菜单快捷方式、设置文件关联(`.stlog`)。

2. 绿色版方式


# 使用 7-Zip 解压安装包
7z x SerialTool1.4.0a_Win32_Setup.exe -oSerialTool_Portable
cd SerialTool_Portable
SerialTool.exe

3. 命令行启动


SerialTool.exe --port=COM3 --baud=115200 --config=myconfig.ini --log=auto

4. 连接串口

  1. 在端口列表中选择目标 COM 口
  2. 设置波特率、数据位、停止位、校验、流控
  3. 点击 "打开" 按钮开始通信

核心功能详解

串口参数配置

参数 说明
波特率 支持自定义值
数据位 5/6/7/8
停止位 1/1.5/2
校验 None/Even/Odd/Mark/Space
流控 RTS/CTS/DTR/DSR/Xon/Xoff

多端口同时打开

  • 标签页管理:支持同时打开多个串口会话
  • 每个标签页独立配置串口参数
  • 可在不同端口间快速切换

编码显示

支持多种编码格式切换:

  • HEX:十六进制显示
  • ASCII:ASCII 文本
  • UTF-8:UTF-8 编码
  • GBK / Big5:中文编码支持
  • 自定义编码:可指定 CodePage

时间戳

  • 精度可选:毫秒/ms 或 微秒/μs
  • 显示模式:绝对时间 / 相对时间
  • 支持行号显示

数据过滤

  • 关键字高亮:设定关键字在接收数据中高亮显示
  • 正则过滤:使用正则表达式过滤数据
  • 指定字节隐藏/替换:隐藏或替换特定字节内容

发送增强

发送区

  • 多行编辑:支持多行文本输入
  • HEX/文本切换:自由切换发送模式
  • 发送历史:上下键翻阅历史发送记录

快捷命令与模板

  • 自定义按钮/菜单
  • 参数化模板:支持 `{CRC16}`、`{TIMESTAMP}`、`{COUNTER}` 等变量
  • 循环/定时发送:毫秒级间隔、发送次数限制、条件停止

文件发送

  • 逐行或逐字节发送文本/二进制文件
  • 发送进度和速率控制

协议辅助

  • Modbus RTU/ASCII 帧自动构造:功能码/地址/数据/CRC 自动填充
  • 自动生成完整 Modbus 请求帧

接收与分析

双视图模式

  • 原始流视图:显示原始收发数据
  • 解析帧视图:按自定义规则解析显示

帧解析规则

  1. 自定义帧头 / 长度 / 校验 / 帧尾
  2. 自动拆包
  3. 字段映射表配置
  4. 解析结果显示在独立面板

统计面板

  • 字节数 / 帧数 / 错误帧数
  • 吞吐率
  • 波特率利用率

搜索与定位

  • 历史缓冲区全文搜索
  • 跳转到指定帧 / 时间 / 错误位置

日志与导出

自动记录

  • 按会话 / 按天 / 按大小(默认 50MB)分卷
  • 格式支持:原始二进制 `.bin`、HEX 文本 `.txt`、CSV(含时间/方向/数据/解析字段)

导出向导

  1. 选择时间范围
  2. 选择端口 / 过滤器
  3. 选择导出格式和编码
  4. 执行导出

终端模拟(VT100/ANSI)

  • 支持光标控制、颜色、滚动区域
  • 适配路由器/交换机/服务器 Console 口
  • 适用于 Modbus 终端、自定义 CLI 设备

配置文件

文件 说明
`session_*.stlog` 会话日志(二进制/文本)
`plugins/` 插件目录

键盘快捷键

快捷键 功能
`Ctrl+C` 关闭串口
`Ctrl+S` 发送数据
`Ctrl+F` 搜索/过滤
`Ctrl+L` 清空接收区
`Ctrl+N` 新建标签页
`Ctrl+W` 关闭当前标签页
`F1` 帮助

常用操作流程

场景一:通用串口调试

  1. 安装/解压 SerialTool
  2. 连接目标设备
  3. 选择 COM 口,设置参数(9600 8N1 等)
  4. 打开串口,发送测试指令
  5. 观察接收数据,使用过滤/高亮功能分析
  6. 导出会话日志

场景二:Modbus 协议调试

  1. 选择"Modbus RTU/ASCII"协议辅助
  2. 填入从站地址和功能码
  3. 自动构造完整帧并发送
  4. 在解析帧视图查看返回数据
  5. 导出 CSV 分析

场景三:多端口监控

  1. 打开多个标签页,分别连接不同 COM 口
  2. 在各标签页设置不同参数
  3. 同时监控多个设备数据
  4. 切换到任意标签页查看详细数据

故障排查

现象 可能原因 解决方案
程序无法启动 缺少 Qt 运行时 确保安装目录完整,或重新安装
串口打不开 端口被占用 / 权限不足 关闭其他程序,以管理员身份运行
数据乱码 编码设置不匹配 切换到正确的编码格式
绿色版缺失 DLL 解压不完整 重新解压或使用安装版

适用场景

场景 适配度
复杂协议分析 ⭐⭐⭐⭐
终端设备管理 ⭐⭐⭐⭐
自动化测试集成 ⭐⭐⭐

技术栈

跨平台框架

相关产品

×