ReadRemoteRssi() 是如何工作的

How does ReadRemoteRssi() works

我将 BLE 信标用于室内地理定位目的。 众所周知,RSSI 值永远不会准确,但我仍在努力改进我的应用程序。 那么,我想知道的是Android如何计算RSSI?多久一次?

我找到了 this article,但我不确定它是否被使用...以及它的准确性。

首先,Android不计算RSSI,它从BLE芯片组接收值。每次收到(广告)数据包时,芯片组都会提供对信号强度的估计作为 RSSI 值。获取值的频率取决于。

如果扫描提供RSSI的广告包,设备的广告间隔是主要因素。可能是这种情况,因为信标通常只是广播者。

如果您已连接到设备,则使用方法 readRemoteRssi()。你调用这个方法的频率基本上决定了你的RSSI读数的更新速度,但也涉及到设备连接参数。 例如,connection interval 指定了 central 和 peripheral 在返回 idle 状态之前的数据交换间隔以节省电量。此设置的值可能介于 7.5 毫秒和 4 秒之间。