Skip to content

laolaolulu/debug-comm

Repository files navigation

debug-comm

一个基于 Tauri 2 + React + TypeScript + Rust 的桌面通信调试工具。

debug-comm 以可视化工作流的方式组织通信链路,支持串口、TCP 客户端、TCP 服务端、发送窗口和接收窗口等节点。你可以在设计器里拖拽节点、连接数据流,然后在工作台启动任务、发送数据、查看接收日志。

功能特性

  • 可视化工作流设计:基于 React Flow 进行节点拖拽、连接和参数配置。
  • 串口通信:支持串口号、波特率、数据位、停止位、校验位、流控和结束符配置。
  • TCP 客户端:主动连接远端 TCP 服务,支持收发数据。
  • TCP 服务端:监听本地端口,接收客户端连接并广播下行数据。
  • 发送数据窗口:支持 UTF-8 和 HEX 输入模式,HEX 模式支持大小写、空格和分隔符。
  • 接收数据窗口:以日志列表展示接收数据,支持 UTF-8 / HEX 切换、本地持久化和历史加载。
  • 任务运行管理:启动、停止、查询当前运行任务,停止时释放后台任务和 socket 资源。
  • 本地持久化:工作流配置、语言设置和接收日志保存在本地应用数据目录。
  • 自动更新:从 GitHub Releases 检查、下载并安装新版本。
  • 中英文界面:基于 react-intl 的国际化支持。

技术栈

  • 桌面框架:Tauri 2
  • 前端:React 19、TypeScript、Vite
  • UI:Ant Design、Ant Design Pro Components
  • 工作流画布:@xyflow/react
  • 状态管理:Zustand
  • 后端:Rust、Tokio、serialport
  • 本地能力:Tauri Store、Dialog、FS、Opener 插件
  • 自动更新:Tauri Updater、Process 插件

发布与自动更新

自动更新使用 GitHub Releases 中的 latest.json。推送 v* 标签后,GitHub Actions 会构建安装包、生成 updater artifacts 并发布 Release;应用检测到新版本后会下载、安装并重启。

这不需要 Windows/macOS 代码签名证书,但 Tauri updater 必须使用更新包签名密钥来校验下载内容。首次启用前需要在仓库 Settings -> Secrets and variables -> Actions 中添加:

  • TAURI_SIGNING_PRIVATE_KEYC:\Users\lipeng\.tauri\debug-comm.key 的完整内容。
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD:签名私钥密码;填写生成私钥时设置的密码。

当前应用内置的 updater 公钥位于 src-tauri/tauri.conf.json,Release 端点为:

https://github.com/laolaolulu/debug-comm/releases/latest/download/latest.json

使用说明

  1. 打开应用后进入工作台或设计器。
  2. 在设计器中创建通信工作流:
    • 添加发送数据窗口。
    • 添加串口 / TCP 客户端 / TCP 服务端节点。
    • 添加接收数据窗口。
    • 按数据流方向连接节点。
  3. 配置每个通信节点的参数。
  4. 保存工作流。
  5. 回到工作台,点击启动。
  6. 在发送窗口输入 UTF-8 或 HEX 数据并发送。
  7. 在接收窗口查看接收日志。
  8. 点击停止释放任务、串口和 socket 资源。

节点类型

节点 说明
发送数据窗口 人工输入数据,并向下游通信节点发送
接收数据窗口 展示相邻通信节点返回的数据,并持久化为本地日志
串口通信 打开串口,接收下行数据写入串口,并将串口返回数据发布出去
TCP 客户端 主动连接远端 TCP 服务,支持读写
TCP 服务端 监听本地端口,接收客户端数据并支持广播写回

项目结构

.
├── src/                    # React 前端
│   ├── pages/              # 工作台、设计器和布局页面
│   ├── models/             # Zustand 状态管理
│   ├── locales/            # 国际化文案
│   └── appStore.ts         # Tauri Store 封装
├── src-tauri/              # Tauri / Rust 后端
│   ├── src/
│   │   ├── step/           # 工作流和各通信步骤实现
│   │   ├── receive_log.rs  # 接收日志持久化
│   │   └── lib.rs          # Tauri 命令入口
│   ├── capabilities/       # Tauri 权限配置
│   └── tauri.conf.json     # Tauri 应用配置
├── public/                 # 静态资源
├── scripts/                # 工具脚本
└── package.json

开发计划

  • [√] 基础通信:TCP、串口
  • [×] JavaScript 脚本 通信报文模拟
  • [×] Lua 脚本 通信报文模拟
  • [×] 通信报文模拟 脚本编写AI能力 'Pro'
  • [×] Modbus 通信调试
  • [×] MQTT 协议调试
  • [×] 虚拟串口 Pro
  • [×] 串口监控,不占用当前串口
  • [×] 任务配置文件云端同步功能,换个环境一键同步 Pro
  • [×] C# (.NET 8) Runtime 开发

许可证

本项目基于 MIT License 开源。

About

通信调试,TCP调试,串口调试,通信协议调试,设备通信仿真

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors