Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bluetooth LE RSSI for proximity detection iOS

I'll start with the question.

Is the BTLE RSSI a good way to indicate two devices proximity to each other or not? does it only work with small devices like fobs etc?

The Issue:

I am currently looking at making an app that will use BTLE and allow connections based on proximity. In this regard it is much like the demo app that apple show in the Advanced Core Bluetooth keynote (When two devices are almost touching they then connect).

As I understand it the proximity is determined based on the RSSI value when the central discovers the peripheral. When I try this however with two iPads the signal seems too strong for this it is also too inconsistent to have an accurate stab at the proximity as it doesn't show very much correlation to the devices proximity.

I have tried the Apple sample code and that is similar in that the devices don't have to be close at all for the information to pass from one to another.

If only there was a way to reduce the signal strength of the peripheral devices advertisement....

Thanks in advance for any help.

like image 670
Tom Bates Avatar asked Mar 28 '13 16:03

Tom Bates


People also ask

What is a good RSSI number for Bluetooth?

Bluetooth works with broadcasting signals and that broadcasting power value is around 2–4 dBm — and due to that, the signal RSSI strength will be around -26 (a few inches) to -100 (40–50 m distance).

What is RSSI Iphone?

If you're not on an LTE network (in other words, your on a 2G, 3G, or 4G network) the signal strength you are getting is called RSSI (Received Signal Strength Indicator), while for LTE networks it is RSRP (Reference Signal Receive Power).

How accurate is ble RSSI?

As part of the broadcast message decoding, the BLE software stacks return the Received Signal Strength Indicator (RSSI) value. This value can be used to approximate distance and when measurements from multiple devices are combined, the device position can be estimated with accuracy of 1 to 4 meters (3 to 12 feet).

How is RSSI Bluetooth calculated?

With the system preferences open, hold the Option key and a small bar graph with an RSSI number should appear that shows the signal strength. At the bottom of the Bluetooth system preferences there is a small gear menu that contains an option to "Monitor Connection RSSI" for any connected Bluetooth device.


1 Answers

The experience of Matthew Griffin matches mine. However - when we can measure for a fair period of time two things have helped us calibrate this better.

We did have to wrap a simple (kalman) filter on the antenna orientation and the IMU to get a rough running commentary though - and this is not very CPU or battery light.

  • Using the IMU you get a fair idea of the distance/direction of travel - and if this is over a short period of time - we assume the other 'side' is stationary. This helps a lot to get a value for 'current' orientation and 'callibrate current environment noise.
  • Likewise - do the same for rotations/position changes.

We've found that in general a re-orientation of the device is a better way to get direction; and that distance is only reliable some up to some 30 to 600 seconds after a 'move' calibration' and only if the device is not too much rotated. And in practice once needs some 4-5 'other' devices; ideally not too mobile, to keep oneself dynamically calibrated.

However the converse is quite reliable - i.e. we know when not to measure. And the net result is that one can fairly well ascertain things like 'at the keyboard' and 'relocated'/moved away through a specific door/openning or direction. Likewise measuring a field by randomly dancing through the room; changing orientation a lot - does work well once the receiver antenna lobes got somewhat worked out after a stationary period.

like image 108
Dirk-Willem van Gulik Avatar answered Sep 18 '22 14:09

Dirk-Willem van Gulik