频繁连接/断开场景下BLE应用程序的设计,我应该如何优化重新连接



我正在一个嵌入式平台上开发BLE应用程序,那里经常发生连接/断开连接事件。我看到的问题是重新连接的时间太长。高频率的连接/断开连接是使用场景的一部分,所以我无法改变这一点。我能做的就是使重新连接更加高效。我注意到,大部分重新连接都花在了其他设备的服务/特性发现上。

我仍然想确保连接设备的服务/特性没有改变。我们是否可以使用一个具有设备上所有服务/特征散列的特征,而不是发现所有服务?因此,每个设备都可以将接收到的哈希与存储的哈希进行比较。只有在不匹配的情况下才执行完整服务发现。BLE有这样做的先例吗?

蓝牙低能耗(BLE(允许设备在大部分时间关闭发射器,以实现其"低能耗"。我希望中央设备能够订阅来自外围设备的通知。这样,外围设备只有在有更新时才会打开并传输。

另一种方法是像许多传感器信标一样,将数据(或哈希(放入广告数据(制造商数据或服务数据(中。这样,你可能根本不需要连接,或者只在需要时连接。

最新更新