使用最新的 BLE API 为室内定位创建了一个 Android 应用程序。使用iBeacons 的 Triangulate 示例中的公式
但是来自回调的 rssi 值public void onLeScan(BluetoothDevice device, int rssi, byte[] arg2)
是负数,公式的结果总是负数和损坏的值。
如何更正这些值?
我还尝试了 rssi 的绝对值,它给出了错误的值。
使用最新的 BLE API 为室内定位创建了一个 Android 应用程序。使用iBeacons 的 Triangulate 示例中的公式
但是来自回调的 rssi 值public void onLeScan(BluetoothDevice device, int rssi, byte[] arg2)
是负数,公式的结果总是负数和损坏的值。
如何更正这些值?
我还尝试了 rssi 的绝对值,它给出了错误的值。
RSSI(接收信号强度指示)测量以 dBm 为单位。dBm 是对数测量单位,因此负值是完全有效的。查看有关 dBm 的维基百科文章,您将看到如何将它们转换为瓦特http://en.wikipedia.org/wiki/DBm 它在那里得到了完美的解释。