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

4.3 KiB
Raw Blame History

蓝牙协议整体总结

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 协商扩展
    • CRCXOR 校验,兼顾实现简单与错误检测

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/固件开发对接概要文档
  • 后续扩展(如加入新的传感器/指令)时的设计约束参考。