设备沉睡的“心跳”难题:BLE休眠后无法被手机唤醒的分析与优化 - 详解
1. BLE广播机制:设备的“心跳”信号
BLE设备的广播机制是其与外界交互的“敲门砖”。当设备进入休眠模式,功耗降到最低,广播行为直接决定了它能否被手机APP“叫醒”。让我们先从BLE的广播机制说起,搞清楚设备是怎么“喊”出自己的存在感的。
BLE广播借助广告数据包(Advertising Packet)完成,设备周期性地发送短小精悍的数据包,告诉周围的蓝牙设备:“嘿,我在这儿!”这些数据包包含设备名称、UUID、信号强度(RSSI)等信息。广播有三种主要类型:
可连接不可扫描(ADV_IND):设备允许连接,也允许被扫描,常用于初始配对。
可连接定向(ADV_DIRECT_IND):针对特定设备飞快建立连接。
不可连接广播(ADV_NONCONN_IND):只广播资料,不允许连接,适合低功耗场景。
休眠模式的设备通常会选择不可连接广播或完全停止广播以节省电量。问题来了:如果设备完全停止广播,手机APP就找不到它;如果广播频率太低,APP可能错过信号,导致“唤醒失败”的尴尬局面。
实例解析:以一款智能手环为例,假设它进入深度休眠后,每30秒发送一次不可连接广播,数据包仅包含UUID和设备状态。手机APP扫描周期为10秒,扫描窗口仅2秒。由于时间错位,APP可能连续几次错过广播,导致无法发现设备,更别提唤醒了。
关键点
浙公网安备 33010602011771号