Our Choice For OOH Hyper-Local Proximity Services
We reviewed a large range of BLE beacon devices for deployment in and around railway stations as part of our MyJrny integrated mobility project. We were looking robust all-weather devices with robust configuration and management software. After some considerable scrutiny and compliance testing, Radius Networks’ RadBeacon X4, shown below, came out on top.
The MyJrny Integrated Mobility Platform application requires iOS and Android applications to interact with Bluetooth Low Energy (BLE) Beacons. We made several key findings when considering the feasibility of this work.
COMPATIBLE DEVICES
- iOS devices with Bluetooth 4.0 (iPhone 4S and later, iPad (3rd generation) and later, iPad Mini (1st generation) and later, iPod Touch (5th generation).
- Android 4.3+ with Bluetooth 4.0
It is worth noting that not all Android 4.3 devices have Bluetooth 4.0.
COMPARATIVE BEACONS
Research was carried out using two RadBeacon X4 beacons amongst other beacons. The RadBeacon devices were generally found to be the better devices, due to the following reasons:
- The RadBeacon’s have an On-Off switch, which allows the developer to simulate coming in and out of range by turning the device on or off. To test against the other beacons the developer would have to physically move in and out of range of the device.
- The range of the RadBeacons was found to be greater than the other beacons.
RADBEACON X4
RadBeacon provide an app to configure their devices. Within this app the UUID, Major, Minor, power, advertising rate and transmit power settings can be configured: https://itunes.apple.com/gb/app/radbeacon/id789301891?mt=8
GENERAL FINDINGS
The beacon monitoring and ranging does not continue if the phone is restarted (for both iOS and Android). The app must be opened again after a restart for any beacons to be discovered.
A JQuery Ajax request can be made when a BLE device is located regardless of whether the app is running in the background or foreground.
False negative beacon results are common; some ranging results report that a beacon is not in range even if the beacon is located next to the device. This needs to be taken into account when determining if a device has just encountered a new beacon, it could give the impression that the device has left a beacon’s range and then returned, when in fact it was always within range.
iOS
The beacon monitoring and ranging continues to work while the App is minimised or closed. When a beacon is detected in these states a notification can be pushed to the user.
iOS imposes a limit of 20 regions that can be ranged/monitored for simultaneously. To overcome this the BLE devices should be configured with a single UUID but different Major and Minor versions, a scan can then be performed for the specific UUID but any Major and Minor version. This will then allow the application to detect a large number of beacons with a single scan.
ANDROID
The Proximity Beacon Plugin continues to work while the App is minimised but stops as soon as the App is closed. It will not be feasible for Enable to work around this plugin limitation.
SOURCES
- http://stackoverflow.com/questions/28255475/detecting-beacons-via-ibeacon-monitoring-ranging-vs- corebluetooth-scanforperip
- http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-in-the-background-and-foreground.html
- http://developer.radiusnetworks.com/2015/04/21/max-beacon-regions-ios.html
- https://github.com/petermetz/cordova-plugin-ibeacon/issues/141
- https://github.com/petermetz/cordova-plugin-ibeacon
- http://www.aislelabs.com/reports/ibeacon-battery-phones/
- http://altbeacon.github.io/android-beacon-library/index.html
Further details and full technical specification are available at: http://www.radiusnetworks.com