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 秒之间。
我将 BLE 信标用于室内地理定位目的。 众所周知,RSSI 值永远不会准确,但我仍在努力改进我的应用程序。 那么,我想知道的是Android如何计算RSSI?多久一次?
我找到了 this article,但我不确定它是否被使用...以及它的准确性。
首先,Android不计算RSSI,它从BLE芯片组接收值。每次收到(广告)数据包时,芯片组都会提供对信号强度的估计作为 RSSI 值。获取值的频率取决于。
如果扫描提供RSSI的广告包,设备的广告间隔是主要因素。可能是这种情况,因为信标通常只是广播者。
如果您已连接到设备,则使用方法 readRemoteRssi()
。你调用这个方法的频率基本上决定了你的RSSI读数的更新速度,但也涉及到设备连接参数。
例如,connection interval 指定了 central 和 peripheral 在返回 idle 状态之前的数据交换间隔以节省电量。此设置的值可能介于 7.5 毫秒和 4 秒之间。