做 IoT 后端开发三年,测试工具经历了三个阶段:
**阶段 1:Postman** —— 只能测 HTTP,工业协议完全无能为力
**阶段 2:自己写 Mock Server** —— 每个协议写一套,维护成本爆炸
**阶段 3:ProtoForge** —— 一个平台覆盖 17 种工业协议

# 真实场景:对接 Modbus TCP 设备
以前的做法:
1. 找硬件同事借 PLC(可能要等一周)
2. 配置 IP、端口、从站地址
3. 发现文档里的寄存器地址和实际对不上
4. 反复沟通修改...
用 ProtoForge 的做法:
1. 打开模板市场,选"西门子 S7-1200"或"通用 PLC"
2. 一键创建,3 秒生成
3. 测点已经预置好了:温度、压力、开关状态
4. 直接连 localhost:5020 开始调试
**关键是**:ProtoForge 不是返回固定假数据,而是按协议规范完整响应读写请求。你的代码在 ProtoForge 上跑通了,对接真设备时大概率不会出问题。
# 真实场景:测试 GB28181 上级平台
国标平台的 SIP 交互是最难 Mock 的。INVITE 的 SDP 协商、RTP 推流端口动态分配、BYE 的会话清理... 自己写 Mock 要处理一堆状态机。
ProtoForge 的做法:
启动 GB28181 协议 → 创建摄像头设备 → 配置上级平台地址 → 自动注册 → 收到 INVITE 自动协商 → 开始推流。
你可以用 VLC 播放 rtp://@your-ip:port 验证视频流是否真的在推。
# 真实场景:CI/CD 自动化测试
```
# 一键测试全部设备和场景
curl -X POST http://localhost:8000/api/v1/tests/quick-test \
-H "Authorization: Bearer $TOKEN"
# 获取 HTML 报告
curl http://localhost:8000/api/v1/tests/reports/latest/html \
-o test-report.html
```
14 种断言 + 变量提取 + 前置/后置钩子,足够覆盖大部分集成测试场景。

# 还解决了哪些痛点?
表格
| 痛点 | ProtoForge 方案 |
| ------------ | --------------------------------------------- |
| 没有硬件 | 90+ 模板一键创建设备 |
| 协议复杂 | 全链路仿真,不只是假数据 |
| 团队协作 | 场景导出/导入,JSON 格式可版本控制 |
| 数据持久化 | InfluxDB / HTTP Webhook 一键转发 |
| 安全测试 | OPC-UA 证书自动生成、MQTT TLS、GB28181 SRTP |
| 生产部署 | Docker / K8s / Helm 完整方案 |
# 开源,但功能完整
很多开源项目要么功能残缺,要么文档缺失。ProtoForge 开源版包含:
* ✅ 全部 17 种协议
* ✅ 90+ 设备模板
* ✅ 场景编排 + 规则引擎
* ✅ 仿真测试框架
* ✅ 调试日志 + 审计日志
* ✅ 数据备份恢复
* ✅ RBAC 权限 + API 限流
* ✅ gRPC 远程管理(15 个 RPC 方法)
* ✅ Python/Java/Go/C# SDK
# 试试?
```
# Docker 一键部署
docker run -d --name protoforge -p 8000:8000 \
-v $(pwd)/data:/app/data suoten/protoforge:latest
```
或者本地开发:
```
git clone https://github.com/suoten/ProtoForge.git
pip install -e ".[all]"
protoforge demo
```
---
**GitHub**: https://github.com/suoten/ProtoForge
**Gitee**: https://gitee.com/suoten/ProtoForge
觉得有用请点个 ⭐,有协议需求或 Bug 欢迎提 Issue。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70050062/viewspace-3117471/ ,如需转载,请注明出处,否则将追究法律责任。