Android 藍芽強度Rssi
阿新 • • 發佈:2019-02-11
1.什麼是Rssi
RSSI(接收訊號強度)Received Signal Strength IndicatorRss=10logP,
只需將接受到的訊號功率P代入就是接收訊號強度(靈敏度)。
[例1] 如果發射功率P為1mw,折算為dBm後為0dBm。
[例2] 對於40W的功率,按dBm單位進行折算後的值應為:
10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1000=46dBm。
2.如何獲取BLE藍芽Rssi
try { return _bluetoothGatt.readRemoteRssi(); } catch (Exception e) { }
BluetoothGatt物件呼叫readRemoteRssi方法
private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { } @Override public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) { super.onReadRemoteRssi(gatt, rssi, status); if (status == BluetoothGatt.GATT_SUCCESS) { broadcastUpdate(status, rssi); } } };
Rssi強度會從BluetoothGattCallback的onReadRemoteRssi介面回調回來。