Search code examples
androidiosbluetooth-lowenergyandroid-bleios-bluetooth

Is it possible to determine/identify when BLE device is about to disconnect



I have a BLE device (self made) that I pair with my app (iOS+Android).
I want to notify the user when the bluetooth signal is weak or better - when the device is about to disconnect.

Searching the web resulted with RSSI being the only value that is related to signal, yet I was unable to find a RSSI threshold that hints possible disconnection.

Is there a way to know?

Thanks a lot, Giora.


Solution

  • The ability to connect to a BLE device with weak RSSI varies a lot depending on the phone you're using to connect to your device.

    With some smartphones, especially those running on Android 8+, you might be able to stay connected to a BLE device advertising with a weak RSSI, whereas with some other smartphone, you're might have issue staying connected to a device with a strong RSSI.

    It also depends on the quality of the BLE chip on your peripheral.

    To answer your question, I would say you need to run some calibration tests, establishing the average RSSI at which your center or peripheral throws a disconnection, and start from there.

    You'll need to calculate this average across several types of phones, including Android and iOS's, or, even better, set a threshold per OS.