Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

99
doc_ble/SUMMARY.md Normal file
View File

@@ -0,0 +1,99 @@
# 蓝牙协议整体总结
## 1. 协议定位与目标
- **协议名称**Wearable Band Bluetooth Protocol (WBBP)
- **应用场景**:运动手环与手机之间的数据通信
- **技术基础**BLE 4.0+,基于 GATT Profile
- **设计原则**:低功耗、可靠性、扩展性、安全性
## 2. 服务与特征总体结构
协议按功能划分为多个 BLE Service每个 Service 下有若干 Characteristic
- **设备信息服务 (DIS, UUID: 180A)**:型号、序列号、固件/硬件版本等基础信息
- **电池服务 (Battery, UUID: 180F)**:电池电量上报(可读/可通知)
- **主业务自定义服务 (Primary Custom Service)**
- 数据下发 (TX):手机→手环,命令/配置写入
- 数据上报 (RX):手环→手机,状态/数据通知
- 控制命令:关键控制类操作(需响应)
- **健康数据服务 (Health Data Service)**
- 心率、运动、睡眠等数据的定期/实时上报
- **紧急服务 (Emergency Service)**
- SOS 报警、录音数据上传等高优先级通道
## 3. 通信报文统一格式
所有上/下行命令尽量收敛为统一包格式,便于解析与扩展:
- **基础结构**STX + LEN + CMD + SEQ + DATA + CRC
- **字段含义**
- `STX`:固定 0xAA起始标志
- `LEN`:长度(不含 STX/CRC
- `CMD`:命令码,按功能分区(控制/健康/交互/紧急/系统)
- `SEQ`:序列号,用于 ACK / 重传 / 防重放
- `DATA`:变长载荷,最多 16 字节或按 MTU 协商扩展
- `CRC`XOR 校验,兼顾实现简单与错误检测
## 4. 命令空间规划
命令码按功能模块分段,避免冲突并方便查表:
- **基础控制 (0x000x0F)**PING、设备信息、时间同步、配置读写、固件升级、重启、ACK 等
- **健康数据 (0x100x2F)**:心率、步数、睡眠、血氧、体温、卡路里、实时监测控制与配置等
- **交互功能 (0x300x4F)**:消息通知、来电、闹钟、查找设备、相机/音乐控制等
- **紧急功能 (0x500x6F)**SOS 报警、录音数据、位置信息、跌倒/异常心率报警等
- **系统配置 (0x700x8F)**:显示、震动、语言、表盘、用户资料等
- **错误响应 (0xF00xFF)**:通用错误、不支持、参数错误、超时、硬件故障等
## 5. 关键业务流程概览
### 5.1 连接与心跳
- 扫描 → 广播 → 连接 → 服务发现 → PING/ACK 建链
- 通过周期性 CMD_PING 保活,超时触发重连逻辑
### 5.2 健康数据
- **心率/血氧/步数等** 均定义了结构化数据包:
- 含时间戳、数值本体、质量指标、活动类型等
- 支持:
- 单点数据上传
- 实时流式数据(心率、血氧实时监测)
- 组合数据(心率+血氧等生命体征合包,节省带宽)
### 5.3 实时监测控制
- 通过 CMD_REAL_TIME_START / CMD_REAL_TIME_STOP 控制:
- 监测类型(心率/血氧/体温/运动)
- 上报周期、监测时长、质量阈值
- 会话 ID 支撑多次监测任务区分
### 5.4 紧急与录音
- 紧急报警包含:时间戳、类型 (SOS/跌倒/心率异常)、严重程度、位置、用户 ID
- 录音采用分包:头包宣告总长度与格式,数据包携带固定长度音频块
## 6. 安全与可靠性设计
- **安全**
- 配对认证流程:配对码确认 + 密钥交换
- 数据加密AES-128对健康/录音/位置信息等敏感数据加密
- 防重放:依赖 SEQ + 时间戳 + 会话令牌
- **可靠性**
- XOR CRC 校验
- 统一错误码与错误响应结构
- ACK/超时/重传机制
## 7. 性能与功耗优化
- **MTU 协商**:从默认 23 升级到 185/247减少包头开销
- **数据压缩**
- 健康数据差值压缩
- 录音使用 ADPCM
- **功耗控制**
- 连接参数调整(连接间隔、超时)
- 批量发送,减少射频唤醒次数
- 省电模式与高性能模式可切换
## 8. 调试与测试
- 提供:
- PC 端模拟器
- BLE 抓包工具
- 压测方案(并发连接、大流量传输)
- 测试用例覆盖:
- 连接稳定性
- 各类数据上报正确性
- 紧急场景SOS/网络异常/低电量)
---
本总结面向整体架构与实现要点,可作为:
- 蓝牙协议快速入门说明
- APP/固件开发对接概要文档
- 后续扩展(如加入新的传感器/指令)时的设计约束参考。