docs(BLE): DLD960_BLE协议 V1.02→V1.03 — 命令总表补齐 + 未实现如实标注
对照 dbn_ble_srv.c(GBK+CRLF) 逐命令梳理,补齐既有配置命令: - 0x09/0x10/0x11/0x12: 序列码/设备信息/SSC网络读写 - 0x13/0x14/0x15/0x16: IoT网络/Topic读写(字符串数组 0x00 分隔) - 0x1C/0x1D: 密码验证/修改(0x1D 在 unpack_packs,不在 switch) - 0x1E/0x92/0x1F/0x22: 出厂/复位/子功能码 - 0x31: UART波特率读写(⚠ 写响应多 1B 重复低字节) - 0xC5: 传感上报使能(⚠ report_sens_acs 无定义,0xC0 上报未实现) - 透传通道 0x7F/0x9F 未实现如实标注: 0x17/0x18/0x20/0x21/0x87/0x88/0x89 无 case; 0x23/0x24/0x8A 空壳/空响应 同步: README 文档索引 V1.03 + devlog 置顶条目(2026-08-31)
This commit is contained in:
@@ -4,6 +4,46 @@
|
||||
>
|
||||
> 项目定位: DLD960 通信板 — BLE 配网、TCP JSON 协议服务、Loop MCU 串口桥接
|
||||
|
||||
## 2026-08-31 — BLE 协议文档补全 V1.03:配置命令全表 + 未实现如实标注
|
||||
|
||||
> **本次为文档补录**(固件代码未变,不升固件版本):对照 `dbn_ble_srv.c`(GBK+CRLF)逐命令梳理,`DLD960_BLE协议.md` 由 V1.02(仅脱机日志/快照 6 命令)补齐为完整 BLE 协议。
|
||||
|
||||
### 背景
|
||||
|
||||
`DLD960_BLE协议.md` 此前只覆盖 0x25~0x2A(OFFLOG/SNAP 6 命令),既有的 BLE 配置命令(0x09~0x24 等)没有文档——小程序/APP 对接无从下手。本次从代码反向梳理全部命令。
|
||||
|
||||
### 文档补全内容
|
||||
|
||||
| 命令码 | 名称 | 实现状态(代码核实) |
|
||||
|--------|------|---------------------|
|
||||
| 0x09/0x10/0x11/0x12 | 序列码/设备信息/SSC 网络读写 | ✅ manage_dbn_ble_default |
|
||||
| 0x13/0x14/0x15/0x16 | IoT 网络/Topic 读写 | ✅ unpack_packs(字符串数组 0x00 分隔) |
|
||||
| 0x1C/0x1D | 验证/修改密码 | ✅ unpack_packs(0x1D 不在 switch,分包收尾处理) |
|
||||
| 0x1E/0x92 | 出厂初始化 | ✅ 回 [0] + factory_dev_info() |
|
||||
| 0x1F | 设备复位 | ✅ 无响应直接 NVIC_SystemReset |
|
||||
| 0x22 | 子功能码 | ✅ 2B LE,无响应 |
|
||||
| 0x23/0x24 | 车检器参数读写 | ⚠ 空壳(0x23 仅回 [0] 不处理参数;0x24 空响应) |
|
||||
| 0x31 | UART 波特率读写 | ✅(⚠ 写响应多 1B 重复低字节,文档已标注) |
|
||||
| 0x8A | Loop 灵敏度列表 | ⚠ 空响应 |
|
||||
| 0xC5 | 传感上报使能 | ✅ 设置生效无响应;⚠ report_sens_acs 无定义 → 0xC0 上报未实现 |
|
||||
| 0x17/0x18/0x20/0x21/0x87/0x88/0x89 | 交通参数/通知/Loop 采样等 | ⚠ 头文件有定义,switch 无 case(未实现) |
|
||||
| 0x7F/0x9F | 透传通道 | ✅ UART2 原样转发 / OTA 透传 |
|
||||
|
||||
### 关键发现
|
||||
|
||||
- **0x1D MODIFY_PASS 实际已实现**:不在 manage_dbn_ble_default 的 switch,而在 unpack_packs 分包收尾分支(头文件有定义、switch 无 case ≠ 未实现,须看 unpack_packs)
|
||||
- **0xC0 BLE 主动上报已废弃**:`report_sens_acs()` 仅 dbn_ble_srv.h 声明,全工程无定义无调用;0xC5 使能后无上报动作(上报走 MQTT/TCP)
|
||||
- **0x31 写响应固件 bug**:`tmp_ble_buf[i++] = g_storage_uart_baud;` 后紧跟 `tmp_ble_buf[i++] = (uint8_t)g_storage_uart_baud;` 重复写低字节,响应 10B 而非 9B——文档按语义描述 + 标注实际多 1B,待板级联调时确认是否修固件
|
||||
- 请求分包(unpack_packs)与响应分包(set_response_to_notify)格式一致:header 高 4 位=包数、低 4 位=序号(从 1 起)
|
||||
|
||||
### 同步
|
||||
|
||||
- `README.md` 文档索引 BLE 协议 V1.02 → V1.03(描述更新为完整命令表)
|
||||
- CHANGELOG 历史发布条目(V1.02 不变)保留不动
|
||||
- 待板级:0x31 写响应长度、0xC5 使能后无上报是否符合预期
|
||||
|
||||
---
|
||||
|
||||
## 2026-08-21 — MQTT 协议 V1.10 代码落地:网络上报携带地感版本(loop_ver/loop_hw_ver)
|
||||
|
||||
> **固件版本:归入 vd960DBN V1.02.05 发布**(2026-08-21 升版,cmcng.h 三段式一致:FIRMWARE_VER="1.02.05" + MAIN=1/SUB=2/SUBSUB=5)。V1.02.05 涵盖 8-20 联网稳定性修复系列(SocketSend 0x11 / OTA hex 空格 / union 合并 / 刷写状态语义)+ 本次 V1.10 协议实现。
|
||||
|
||||
Reference in New Issue
Block a user