使用Android Beacon Library,是否可以监控非信标BLE设备?如果是的话,如何在不使用txPower的情况下使用rssi估算距离?
答案 0 :(得分:3)
是的,可以使用库检测非信标BLE设备。如果您首先测量设备在一米处的已知rssi,您还可以计算到设备的估计距离。
下面的代码显示了如何执行此操作:
final DistanceCalculator distanceCalculator = new ModelSpecificDistanceCalculator(this, null);
final int rssiAtOneMeter = -59;
mBeaconManager.setNonBeaconLeScanCallback(new NonBeaconLeScanCallback() {
@Override
public void onNonBeaconLeScan(BluetoothDevice bluetoothDevice, int rssi, byte[] bytes) {
Double estimatedDistnaceInMeters = distanceCalculator.calculateDistance(rssiAtOneMeter, rssi);
// TODO: do something with estimatedDistanceInMeters
}
});