Sorununla ilgili yığın akışında çok soru olduğunu biliyorum, ancak RSSI'den tam uzaklığı elde etmek için herhangi bir yol olup olmadığını bilmek istiyorum.RSSI'den hesaplama BLE android
this link ve diğer git library methods for distance calculation ile birlikte bu tutorial'u izledim. Ama doğru çözümü alamıyorum.
Bu
mesafeyi ölçmek için kullanıyorum budur: Bu yöntemi çağırmak zaman standard geçmesiprotected double calculateDistance(float txPower, double rssi) {
if (rssi == 0) {
return -1.0; // if we cannot determine distance, return -1.
}
double ratio = rssi * 1.0/txPower;
if (ratio < 1.0) {
return Math.pow(ratio, 10);
} else {
double accuracy = (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
return accuracy;
}
}
ve benim mLeScanCallBack() elde ettiğimi RSSI
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
runOnUiThread(new Runnable() {
@Override
public void run() {
BluetoothDeviceModel bluetoothDeviceModel = new BluetoothDeviceModel(device, rssi);
mLeDeviceListAdapter.addDevice(bluetoothDeviceModel, rssi, bluetoothDeviceModel.device.getAddress());
mLeDeviceListAdapter.notifyDataSetChanged();
if (mapBluetooth != null) {
mapBluetooth.put(bluetoothDeviceModel.getDevice().getAddress(), bluetoothDeviceModel);
mLeDeviceListAdapter.refresh(mapBluetooth);
}
}
});
}
};
Hangi Sorunla karşı karşıyayım?
Yukarıdaki kodda bir sorun yok. Bana mesafe veriyor ama bununla yetinmiyorum çünkü doğru mesafe değil. Yani, yukarıdaki yöntemle tam mesafeyi elde etmek mümkün olup olmadığını veya başka bir yol olup olmadığını bana söyleyebilir mi?
çevreye birçok faktör vardır çünkü, RSSI sinyalleri mükemmel değildir gibi ben aynı durumda değilim Bu sinyalleri manyetizma ve sinyalleri etkileyen diğer şeyler gibi çarpıtır. Gürültü sinyallerini "Kalman Filtresi" veya "Parçacık Filtresi" olarak kaldıran birkaç filtre var ama bir RSSI sinyali sinyalinin olduğu zaman bunu nasıl uygulayacağımı bulamadım, eğer bir yol bulursanız lütfen bana söyleyin! –
herhangi bir çözüm buldunuz mu? – Araf
Bu hesap için doğru çözümü bulamadığım için üzgünüm. –