BLE食用说明——奇怪的2902服务

豆包的解释

晚一些再详细研究

 

BLE 2902 是蓝牙低功耗(BLE)协议中 Client Characteristic Configuration Descriptor(客户端特征配置描述符) 的标准 16 位 UUID(0x2902),用于控制设备间数据通信的通知(Notification)或指示(Indication)功能。

核心作用:

 

  1. 开关实时数据更新
    当外设(如传感器、手环)的特征值(Characteristic)发生变化时,是否主动向客户端(如手机)发送通知。客户端需通过写入特定值(如 0x0001 启用通知,0x0002 启用指示)到该描述符,才能接收实时数据。
  2. 区分通信模式
    • 通知(Notification):外设主动发送数据,无需客户端确认,功耗较低。
    • 指示(Indication):外设发送数据后需客户端回复确认,可靠性更高但功耗略高。
      两者均通过 0x2902 描述符配置。
  3. 协议层级
    属于 GATT 协议层,依附于特征值(Characteristic)存在。每个支持通知 / 指示的特征值通常关联一个 0x2902 描述符,用于客户端配置接收行为。

应用场景:

 

  • 实时数据传输:如心率监测、温湿度传感器、运动手环的步数同步。
  • 低功耗需求:仅在数据变化时主动推送,避免客户端频繁轮询(如传统蓝牙的 “读写” 模式)。
  • 典型示例:手机连接手环时,需先写入 0x2902 描述符以开启心率数据通知,后续手环可主动发送数据。

与其他描述符的区别:

 

    • 0x2901(Characteristic User Description):存储特征值的可读描述(如 “温度传感器”),供用户识别。
    • 0x2902:专注于通信行为控制,是 BLE 设备实现 “主动上报” 的核心配置。
posted @ 2025-03-16 02:14  mcwhirr  阅读(354)  评论(0)    收藏  举报