# protocol-parser **Repository Path**: road0329/protocol-parser ## Basic Information - **Project Name**: protocol-parser - **Description**: DL/T 645-2007 / 376.1 / CJT 188 协议报文在线解析工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-13 - **Last Updated**: 2026-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🔌 协议报文在线解析工具 > **完全免费 · 开源 · 纯前端 · 数据不上传** 一站式电力、水务、燃气行业通信协议报文解析工具。支持 **DL/T 645-2007**、**Q/GDW 376.1**、**CJ/T 188-2004** 等主流协议,无需后端服务,所有解析在浏览器本地完成,**数据零泄露**。 ## ✨ 特性 - ✅ **多协议支持** — DL/T 645-2007(完整 DI 编码表)、Q/GDW 376.1(AFN/FN 全覆盖)、CJ/T 188-2004 - 🔬 **逐字段解析** — 帧头、地址、控制域、数据标识、校验和……逐字节展开,一目了然 - 📊 **数据块细分** — 多费率电能、三相变量、冻结数据、事件记录……解析到每个子字段 - 🔗 **点击联动** — 点击解析树节点,自动高亮报文中对应的十六进制字节 - 🔍 **示例报文库** — 30+ 条预置示例,支持模糊搜索,按协议分类 - 🧩 **框架可扩展** — 协议引擎采用 Schema 驱动架构,可快速接入新协议 - 🔒 **零隐私风险** — 纯前端运行,不发送任何数据到服务器 - 🆓 **完全开源** — MIT 协议,可自由使用、修改、分发 ## 📋 支持的协议 | 协议 | 版本 | 解析能力 | |------|------|---------| | **DL/T 645** | 2007 | 完整帧结构、控制码(主站/从站)、DI3~DI0 编码表(电能量/需量/变量/事件/参变量/冻结/负荷记录)、减33解密、数据块多费率展开、校验和验证 | | **Q/GDW 376.1** | 2012 | 完整帧结构、控制域(DIR/PRM/FCB/ACD)、AFN(0x00~0x0E)、FN编码表(1类/2类/3类/参数)、30+数据格式(A1~A32)、费率展开 | | **CJ/T 188** | 2004 | 帧结构、仪表类型(水/气/热)、控制码、数据标识(901F/8504/A017等)、累积流量/时间/状态解析、校验和验证 | | **🔥 天溯 MMI** | V1.3 | 完整帧结构、类型码(E1充值记录/E2充值记录扩展/A6遥控/B2费率/B3时段/B4参数/B5保电/B7变比)、命令码(C1-C6/E1-E2/E7)、充值记录逐条展开(时间/次数/金额)、费率电价解析(×10000)、时段参数解析、参数设置(透支/告警额度)、保电状态、变比查询 | | **🔥 DL/T 698** | — | 即将支持 | | **🔥 DLMS/COSEM** | — | 即将支持 | ## 🚀 快速使用 ### 在线体验 直接访问:**http://www.zfh-iot.cn/protocol-parser/** ### 本地运行 ```bash # 克隆仓库 git clone https://gitee.com/road0329/protocol-parser.git cd protocol-parser # 安装依赖 npm install # 启动开发服务器 npm run dev # 浏览器访问 http://localhost:5173 # 构建生产版本 npm run build # 产出在 dist/ 目录,可直接部署到 Nginx / GitHub Pages / 任意静态服务器 ``` ### 使用流程 1. 下拉选择协议(或选择"自动识别"让工具自动判断) 2. 在示例搜索框选择预置报文,或直接粘贴十六进制报文 3. 点击 **解析** 或按 `Ctrl+Enter` 4. 查看右侧解析树,点击节点可联动高亮报文对应字节 5. 展开数据块节点查看明细字段 ## 🏗️ 项目结构 ``` src/ ├── parser/ # 协议解析引擎 │ ├── types.ts # 核心类型定义 │ ├── byte-stream.ts # 字节流处理工具 │ ├── checksum.ts # 校验和计算 │ ├── protocol-detector.ts # 协议自动识别 │ ├── examples.ts # 示例报文库 & 报文构建 │ ├── index.ts # 引擎入口 │ ├── schema-driver.ts # Schema 驱动框架 │ └── protocols/ │ ├── dlt645.ts # DL/T 645-2007 协议 │ ├── dlt645-di.ts # DI 编码表 & 数据值解析 │ ├── dlt3761.ts # Q/GDW 376.1 协议 │ ├── cjt188.ts # CJ/T 188-2004 协议 │ ├── jynbiot.ts # 炬源智能 NB-IoT 协议 │ ├── jhcharging.ts # 炬华充电桩/插座协议 │ └── tiansuMMI.ts # 天溯 MMI 协议 ⭐新增 ├── components/ # Vue 3 组件 │ ├── HexInput.vue # 十六进制输入框(自动格式化) │ ├── ProtocolSelector.vue # 协议选择下拉 │ ├── ExampleSelector.vue # 示例搜索下拉(模糊过滤) │ ├── ParseTree.vue # 解析结果树容器 │ └── ParseTreeNodeView.vue # 树节点视图(递归) ├── stores/ │ └── parser.ts # Pinia 状态管理 ├── App.vue # 主界面 └── main.ts # 入口 ``` ## 🛠️ 技术栈 | 技术 | 用途 | |------|------| | **Vue 3** (Composition API) | 响应式 UI | | **TypeScript** | 类型安全 | | **Vite 8** | 极速构建 & HMR | | **Tailwind CSS** | 工具化样式 | | **Pinia** | 状态管理 | | **无后端依赖** | 纯静态,可直接部署 | ## 📖 协议文档参考 - DL/T 645-2007《多功能电能表通信协议》 - Q/GDW 376.1-2012《电力用户用电信息采集系统通信协议》 - CJ/T 188-2004《户用计量仪表数据传输技术条件》 ## 🤝 贡献 欢迎提交 Issue 和 PR!如果你有新的协议需求或发现了 Bug,请到 [Gitee Issues](https://gitee.com/road0329/protocol-parser/issues) 反馈。 ### 开发计划 - [x] 天溯 MMI 协议支持 - [ ] DL/T 698.45 协议支持 - [ ] DLMS/COSEM 协议支持 ## 📄 许可 [MIT License](LICENSE) — 完全开源,可自由使用、修改、再分发。 --- **❤️ 开源免费 · MIT · 数据仅在本地**