RSSI

RSSI : Received Signal Strength Indicator, is a measurement of the power present in a received radio signal.

The first method I used to solve my problem is based on RSSI. RSSI is used to pick up the intensity of a received signal, so if a device is far from another, the RSSI value should be lower than a closer device. This kind of measurement is mainly used with wi-fi, but it could still be implemented with Bluetooth.

In order to get the RSSI value, you need a reliable Bluetooth communication between two devices. It’s not easy to send data between devices that is why once communication is established, the hardest part is over. Now, you have to get back the RSSI value. Look on Bluetooth.device and find  EXTRA_RSSI.(links)

For my tests, I used an application from Google Play  because it would take me too much time to do my own application and there are other applications which are better, such as: Blueooth RSSI Monitor  (https://play.google.com/store/apps/details?id=com.xqapp.brm)

 

In theory, it should work, but now we will test the reliability of RSSI in practice:

For this test, I used my computer and a Nexus 7 tablet. They are both static and 3 meters from each other. The application shows the RSSI value in DB, and we can see on the following graph about 80 measurements, with a value every 2 seconds.

2014_05_20_10.48.43

Y axis : RSSI value (in DB)

X axis : Values (number of values)

According to theory, we should see a constant value because the devices have not moved, but we can observe that signal is very unstable. The value varied from -60DB to -89DB, so we cannot use this method to do a precise measurement.