机智云协议 → 阿里云协议文档整合
将机智云开发者平台下载的 MCU 通讯协议,按整合规则填入阿里云协议模版,输出 .docx(优先)或 .doc。
可在任意项目/目录使用。 模版与机智云文档由用户上传或指定路径。
输入材料
| 材料 | 说明 | 获取方式 |
|---|---|---|
| 机智云协议文档 | 「WiFi类设备接入协议文档-MCU方案」 | 用户上传或指定路径 |
| 阿里云协议模版 | 标红=需按机智云修改,绿色=固定不变 | 用户上传或指定路径 |
| 整合思路参考 | 逐步修改清单(可选) | d:\work\数据点协议\协议整合思路.pdf |
若用户未指定模版,在工作区查找 协议模版.docx;仍找不到则请用户上传。默认参考模版仓库:d:\work\数据点协议\协议模版.docx。
工作流程
整合进度:
- [ ] 1. 解析机智云协议文档(数据点表、类型、读写权限、PK/PS)
- [ ] 2. 修改 3.1 获取设备信息(Data 字段 PK/PS/IID 等)
- [ ] 3. 修改 3.2 WiFi模组向MCU发送业务指令
- [ ] 4. 修改 3.3 WiFi模组读取设备当前状态
- [ ] 5. 修改 3.4 MCU向WiFi模组上报业务指令
- [ ] 6. 校验长度与示例包一致性
- [ ] 7. 输出 .docx 到当前工作区并告知用户路径
核心原则
- 只改标红/产品相关部分;通讯模型、约定、扩展协议(第4章)等固定章节保持模版原文。
- 数据点定义以机智云文档为准;字段名、类型、取值范围、换算公式均来自机智云。
- attr_flags 固定 4 字节(32 bit);数据点超过 32 个时与用户确认处理方式。
- 字节序为大端;uint16 占 2 字节,uint8/bool/enum 按机智云位域定义。
分节修改(按协议整合思路)
2.1 修改 3.1 获取设备信息
更新 MCU 回复设备信息表 Data 字段:PK、PS、IID、apName、resetDM 等。
2.2 修改 3.2 WiFi模组向MCU发送业务指令
- attr_flags 长度(通常 4B)
- attr_vals 最大长度
Max(NB) - 「从右到左的标志位依次为」列表
- 示例数据包(attr_vals 段)
- attr_vals 数据格式表
- MCU 回复段 attr_flags
- MCU 回复段 dev_status 最大长度
MAX(NB)
2.3 修改 3.3 WiFi模组读取设备当前状态
1–2. attr_flags 长度;3. dev_status 长度;4. 示例包;5. dev_status 格式表
2.4 修改 3.4 MCU向WiFi模组上报业务指令
attr_flags 长度 + dev_status 长度(与 3.3 一致)
详细规则见 reference.md。
生成输出文档
pip install python-docx
python "%USERPROFILE%\.cursor\skills\gizwits-aliyun-protocol-merge\scripts\merge_protocol_docx.py" \
--template "<模版路径>" \
--output "<当前工作区>/输出/[项目名]ESP32-C2接入阿里云平台之MCU与WIFI模组通讯.docx"
输出保存到当前打开的工作区,建议放在 输出/ 目录。
完成前校验
- attr_vals / dev_status 字节长度正确
- attr_flags bit 列表与机智云可写点一一对应
- 3.2 / 3.3 / 3.4 中 dev_status 定义一致
- 未改动固定章节
补充资源
- reference.md — 类型与位域计算细则
- 参考模版:
d:\work\数据点协议\协议模版.docx