豆包的解释
晚一些再详细研究
BLE 2902 是蓝牙低功耗(BLE)协议中 Client Characteristic Configuration Descriptor(客户端特征配置描述符) 的标准 16 位 UUID(0x2902),用于控制设备间数据通信的通知(Notification)或指示(Indication)功能。
-
开关实时数据更新
当外设(如传感器、手环)的特征值(Characteristic)发生变化时,是否主动向客户端(如手机)发送通知。客户端需通过写入特定值(如 0x0001 启用通知,0x0002 启用指示)到该描述符,才能接收实时数据。
-
区分通信模式
- 通知(Notification):外设主动发送数据,无需客户端确认,功耗较低。
- 指示(Indication):外设发送数据后需客户端回复确认,可靠性更高但功耗略高。
两者均通过 0x2902 描述符配置。
-
协议层级
属于 GATT 协议层,依附于特征值(Characteristic)存在。每个支持通知 / 指示的特征值通常关联一个 0x2902 描述符,用于客户端配置接收行为。
- 实时数据传输:如心率监测、温湿度传感器、运动手环的步数同步。
- 低功耗需求:仅在数据变化时主动推送,避免客户端频繁轮询(如传统蓝牙的 “读写” 模式)。
- 典型示例:手机连接手环时,需先写入 0x2902 描述符以开启心率数据通知,后续手环可主动发送数据。
- 0x2901(Characteristic User Description):存储特征值的可读描述(如 “温度传感器”),供用户识别。
- 0x2902:专注于通信行为控制,是 BLE 设备实现 “主动上报” 的核心配置。