BLE和Android,特征和服务越多越慢
以下问题:
我正在开发一个带有android(5.0+)和Nordic BLE chip (NRF52832)
的项目,以便从Android设备上的芯片接收值。
(我不使用第三方包)
连接,读出服务和特征可以很好地和快速地工作,但是:
只要我在通知上设置了更多特性(在2个服务中),值就会非常慢地到达设备,例如:
通知1特征= 50毫秒/值
通知1服务6特征= 150 - 200ms /值
通知2服务,10个特征= 400-600ms / value`
RequestConnectionPriority
无法解决我的问题。
有没有人有解决方案声明或已有解决方案?
答案 0 :(得分:0)
使用多种服务和特性可能会降低BLE中心与外围设备之间的通信速度,这是一个众所周知的问题。
此外,就设备消耗的内存而言,每个特性都有开销成本。
此问题的解决方案是尽量减少您正在使用的特征数量。
为此,您可以仅使用一个特性,并将特征数据包的一个八位字节专用于存储您从设备发送或接收的命令ID或信息类型。
然后可以使用相同的特性向您的设备发送各种命令,或从设备请求各种类型的信息。