Files
akmon/doc_ble/SUMMARY.md
2026-01-20 08:04:15 +08:00

100 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 蓝牙协议整体总结
## 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/固件开发对接概要文档
- 后续扩展(如加入新的传感器/指令)时的设计约束参考。