double getDistance(int rssi, int txPower) {
return Math.pow(10d, ((double) txPower - rssi)/(10 * 2));
}
上記の式を使ってBluetoothデバイス間の距離を計算しようとしました。しかし、それは間違った結果を返します。結果は "3.4565216E9"の形式になります。しかし、結果はランダムに "3.4565216E9"から "9.9645352E9"まで変化する。誰かが別の方法を提案することができますBluetooth信号強度を使用してAndroidデバイス間の距離を計算するにはどうすればよいですか?
計算する方法がない。
距離は、このサンプルコードとして出力することができます。あなたが得た結果は、Bluetoothにとってうまくいきます。 RSSIは安定しておらず、距離を与えることはできません。より正確な結果を得るには、得られる値の中央値を計算するしかありません。だから基本的には3メートルから20メートルまでの結果を得ることはOKです。それをより正確にする方法はありません –