Indoor location on stairs

Can indoor location be used to trigger an event when a user takes the stairs up? And not trigger when the user descends the stairs?

Does indoor location also work in the background on Android and iOS?

This is not possible with monitoring because the monitoring is to inaccurate or slow. And not with ranging, because ranging is too inaccurate as well.

Thanks in advance,
Arne

Hi @Arne_Misbaer,
unfortunately indoor location doesn’t support multilevel locations and level detection etc.

Background mode is rather challenging, because Apple heavily restricts what apps can do in the background, but we have some tricks up our sleeve and are working on it—no ETA at this time. If you need to be able to detect beacons in the background you might consider taking a look at our proximity SDK instead.

Currently we only have indoor location available for iOS.

If you have any further questions, let me know!
Cheers,
Marek

Is the proximity SDK the same as ranging? And does this also work in the background for Android and iOS?

Because I’ve tested ranging and its really inaccurate, giving 2 meters when the ibeacon is 8 meters away.

My goal is to detect a user walking up the stairs. Therefor I need to detect the user passing two beacons. But with monitoring the detection times are to slow (missed beacon) or too fast (triggers when user is at beginning of stairs or further away).

Could it be that the beacons increase each others range when too close to each other?

This all needs to work in the background.
And I’m using javascript.

Do you know some tricks, I could try?

Thanks in advance
Arne

Your ranging inaccuracies—some are to be expected (we measured it in the past and it was something around 30% average error, e.g., ± 3 m at 10 m distance), but 2 vs 8 meters sounds rather extreme. What smartphone was that?

The monitoring detection—Android or iOS? On iPhone 5 and later, monitoring should be very responsive, as these iPhones utilize hardware-accelerated scanning techniques. Vast majority of Android devices don’t have this yet—it was only added in Android 6.0, and the necessary hardware support is also very limited (the only device I know of that has it is Nexus 6). To achieve better responsiveness on Android, you can play with the scanning settings—e.g., set the Estimote SDK to scan for beacons every 20 seconds for 5 seconds. But then, your app will be eating a lot of smartphone’s battery.

As for “triggers when user is at beginning of stairs or further away,” you can simply try reducing the beacon’s transmit power, which will reduce its range. You can do that with the Estimote app, available on the App Store and Google Play Store.

Finally, we don’t provide official support for JavaScript, and we can’t vouch for quality of any 3rd tools that you’re using. I assume you’re using PhoneGap/Cordova?

The range inaccuracies were on Nexus 5 running Android 5.1.1, Samsung galaxy S3 and even iphone 4 running ios 8.4.

I get the opposite results, the iphone 4 running ios 8.4 detecs way faster then the iphone 5/6 (both running on ios 9). It takes longer for the ios 9 devices to discover the beacons.

When I reduce the range of the beacon to 1.5 meters, the iphones with iOS 9 and Android phones with Android 6 have difficulties finding the beacon in time. While when the range is on 3.5 meters, the older android phones and ios, find the beacons at 5-7 meters, which is too far.

I’m using this plugin (https://github.com/petermetz/cordova-plugin-ibeacon) because the ibeacon cordova plugin does not support ios 9 automatically. You need to add the location manager yourself.

Is it even possible that an app can detect a beacon within a second of an entry of a region?

Thanks in advance,

Arne