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