feat: replace iot adapter with mqtt command pipeline

This commit is contained in:
2026-08-03 13:18:11 +08:00
parent 6ed417c8c1
commit fefdba470a
48 changed files with 1620 additions and 338 deletions

View File

@@ -43,6 +43,10 @@
## 3. IoT 协议与可靠性
- 设备厂商 V1.8 二进制帧保持 `0x5E` 起始、`0x5B` 结束、大端序、数据包 AES-128 与 LRC8 规则不变,并作为 MQTT payload 传输Topic 使用 `devices/{deviceId}/{up|down|ack}`QoS 1下行命令禁止 retained。
- `iot-server` 只处理 MQTT 会话和设备协议,`iot-client` 只提供系统侧上下行接口命令、Outbox、原始上行和回执事实由 API 持久化Worker 负责可重试投递。
- 协议封面版本与变更记录冲突时以最新 V1.8 变更记录和绿色标注为兼容实现依据;重复子标识等歧义必须保留原始报文并按设备型号配置解析,不得静默猜测。
- 设备采用 MQTT over TLS设备身份使用每设备证书或短期轮换令牌禁止共享默认密钥。
- 上行消息至少包含设备 ID、协议版本、消息 ID、设备时间、服务端接收时间、指标值、质量标记和固件版本。
- 下行命令包含命令 ID、幂等键、期望状态、过期时间、签名/鉴权信息;设备回传已收到、执行中、成功/失败与错误码。