# 蓝牙协议整体总结 ## 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. 命令空间规划 命令码按功能模块分段,避免冲突并方便查表: - **基础控制 (0x00–0x0F)**:PING、设备信息、时间同步、配置读写、固件升级、重启、ACK 等 - **健康数据 (0x10–0x2F)**:心率、步数、睡眠、血氧、体温、卡路里、实时监测控制与配置等 - **交互功能 (0x30–0x4F)**:消息通知、来电、闹钟、查找设备、相机/音乐控制等 - **紧急功能 (0x50–0x6F)**:SOS 报警、录音数据、位置信息、跌倒/异常心率报警等 - **系统配置 (0x70–0x8F)**:显示、震动、语言、表盘、用户资料等 - **错误响应 (0xF0–0xFF)**:通用错误、不支持、参数错误、超时、硬件故障等 ## 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/固件开发对接概要文档 - 后续扩展(如加入新的传感器/指令)时的设计约束参考。