docs(MQTT): DLD960_IoT_MQTT协议 V1.12 — 4G 通道适配修订为方案 C(Air780 协议转换)

方案 B → 方案 C(用户 2026-08-31 决策):
- Air780 解析 0x7F 帧转换为标准 JSON 命令(loop_data/event_report/initialize/heartbeat),平台零改动
- V1.11 的 frame_report/frame_cmd 降级为可选兜底
- 4G 事件面 = 仅线圈事件(car_enter/car_leave/loop_cut/loop_restore),不含 DBN 内部网络事件
- event_report 复刻 DBN iot_evt_* 逻辑(Lua: 沿检测+ACK+5s×3+16深队列+跨重连同 msg_id),可行性已评估无硬障碍
- 命令响应: Air780 单命令状态机 + 超时回 code=5(与 g_lup_cmd 同模式)
- 链路层: DBN UART2↔UART1 纯转发(魔数分流),转发不丢帧是沿检测前提

同步: README 索引 V1.12 + devlog 置顶条目
This commit is contained in:
wangfq
2026-08-31 15:24:31 +08:00
parent d6873f4b45
commit 3c9a6f900b
3 changed files with 92 additions and 75 deletions
+36
View File
@@ -4,6 +4,42 @@
>
> 项目定位: DLD960 通信板 — BLE 配网、TCP JSON 协议服务、Loop MCU 串口桥接
## 2026-08-31 — MQTT 协议 V1.124G 通道适配修订为方案 C(Air780 协议转换)
> **协议先行修订**(同日 V1.11 方案 B 未落地即修订,固件均未实现)。
### 修订动因
V1.11 曾定**方案 B**vd960DBN 纯转发 + frame_report/frame_cmd hex 透传)。讨论后改为**方案 C**:Air780 解析 0x7F 帧并转换为**标准 JSON 命令**loop_data / event_report / initialize / heartbeat),平台零改动、与有线通道一致。
### 四个决策点(用户 2026-08-31
| # | 决策 | 结果 |
|---|------|------|
| 1 | event_report | Air780 以 Lua 复刻 DBN iot_evt_* 逻辑(沿检测 + ACK + 5s×3 + 16 深队列 + 跨重连同 msg_id),可行性已评估:全部逻辑块可映射 Lua,无硬障碍 |
| 2 | 事件面 | **4G 仅线圈事件**car_enter/car_leave/loop_cut/loop_restore),不含 DBN 内部网络事件(协议 §6.4 明确) |
| 3 | 命令响应 | Air780 单命令状态机 + 超时回 code=5(与 DBN g_lup_cmd 同模式),协议 §6.5 |
| 4 | frame_* 去留 | **保留为可选兜底**(Air780 未实现转换命令/未识别帧透传),协议 §6.8 |
### 协议变更(V1.11 → V1.12
- §6 重写:方案 C 架构(Air780 协议转换)/ 命令面 = 标准 JSON / 转换职责表(0x7F↔JSON)/ 事件上报 / 命令响应链路 / link / 平台要求
- §3 命令详表:frame_cmd/frame_report 标注改为"可选兜底"
- 修订记录 V1.12
### vd960DBN 侧开发计划(固件未实现,不变)
- [ ] UART1(PB6/PB7) 通道 + UART2↔UART1 双向透传(⚠ 转发不丢帧是 Air780 沿检测的前提)
- [ ] BLE 设置服务器/topic 参数时同步下发 Air780 配置
- [ ] 通道切换策略(待讨论;暂定默认 4G)
### 同步
- `README.md` 文档索引 V1.11 → V1.12
- 协议文档 §6 重写 + 修订记录 V1.12(V1.11 保留作历史)
---
## 2026-08-31 — MQTT 协议 V1.11:4G 通道适配(方案 B:原始帧透传 + hex 封装)协议先行
> **本次为协议文档先行**(Air8781P 4G 兜底通道设计稿并入主协议;vd960DBN 固件未实现,列入开发计划)。