Getting same RSSI sample rate of multiple estimote beacons on iPhone?

Our application needs the smartphone to sample beacon’s RSSI at the beacon’s fastest broadcasting rate.

The problem is when I have multiple beacons nearby (advertisement interval set to be 100 ms), I see fluctuating sample rate of each beacon. For example, the sample rate of the blue beacon changes from 3.5 Hz to 8.2 Hz.

I’m currently using iOS’ CoreBluetooth framework for RSSI data collection. My guess is, the broadcasting rate of each beacon should be similar, but there is contention at the receiver side.

I wonder if there is a way to achieve same sample rate of multiple beacons? Will it be helpful to use the Estimote SDK? I have checked the documentation of the SDK, seems it doesn’t address this problem. But I might be wrong.

If you have information about my question, please let me know.

Our observations are consistent with yours, we’re all limited by Core Bluetooth here.

Hi Piotr,

Thank you for your reply.
I wonder if Android can address this problem if we let estimote broadcast in EddyStone mode?

Thank you!

On Android, it doesn’t really matter what protocol you use, they all go through the same Android Bluetooth API. There’s slightly more configuration options than with iOS Core Bluetooth (e.g., how aggressive you wanna be about the scanning), but then you also have a TON of discrepancies in behavior between all the different Android devices. You wouldn’t believe how many hacks and workarounds we have in the Estimote Android SDK for various quirks in certain Android smartphones.

All in all, you shouldn’t rely/expect a super-consistent sampling rate, neither on iOS nor on Android. What app/project are you working on?