AltBeacon monitoring sensitivity

I am developing a mobile app for iBeacon. Our product is designed for iOS and Android platforms. On iOS, iBeacon monitoring is the default feature, so they use their default methods. To implement iBeacon on Android I am using AltBeacon. But we found 1 big difference between our platforms. Lighthouses, which are supposed to work with a radius of 1 meter (on iOS), my application can see at a distance of 3 meters from. This is a big problem for our product, because the beacons have to work at the same distance on both platforms. Thus, on iOS, they cannot change anything in the monitoring logic. Can I change the monitoring sensitivity?

+3


source to share


1 answer


It is very difficult to get different devices to detect beacons at the same distance. The main problem is that different mobile devices can have completely different Bluetooth radios and antennas, which have very different gains. While the detected signal levels are fairly consistent for iOS devices (with the exception of iPod touch devices, which have higher gains and beacon detection), Android devices are found all over the map.

One way to try to make this more consistent is to combine monitoring with ranking. Instead of triggering a monitoring callback action, start zooming as soon as you spot a beacon, then get an estimate of the distance and only trigger the action if the estimate is close enough. I wrote a blog post outlining this process.



The aforementioned technology is still problematic especially on Android because it requires a formula that matches the bluetooth receiver on a specific model of Android device to accurately estimate the distance. The Android Beacon Library defaults to the Nexus 5 calculation, but this can significantly exceed or underestimate the distance on other models. For this reason, we made the library support an extensible database of distance formulas for each device, and we have provided instructions for calculating the correct formula for other devices and adding them to the database. If you know you are targeting specific devices, this might be the one for you.

If, however, you want all Android devices to detect the beacon at a very specific distance, you are unlikely to succeed. With a large number of Android devices out there, it is unlikely that you will be able to get accurate distance estimates for all of them, so you have to accept inaccurate estimates on some devices or adjust your use case so that it is not necessary.

+3


source







All Articles