While the hype surrounding Bluetooth beacons is slowly subsiding, there is still lot of confusion and misunderstanding about them. Beacons use the advertisement or broadcast mode of the Bluetooth LE protocol to send small packets of information to any device with a Bluetooth radio that is actively scanning for advertisements. These transmissions occur at fixed interval between 100 milliseconds to few seconds. In many respects, the beacons are like a lighthouse, serving as navigational aid. Since almost all Bluetooth devices transmit advertisement packets, are all these devices Bluetooth beacons? Well, not really…
What is a Bluetooth beacon?
The credit for jumpstarting the Bluetooth beacon market segment is attributed to Apple, Inc. In 2013, Apple introduced the iBeacon protocol that used the Bluetooth LE advertisement packets to send one-way information from a beacon to the smartphone. Each iBeacon advertisement contains four critical pieces of data(see Wikipedia for payload details):
- Proximity UUID
- Major ID (16 bit integer)
- Minor ID (16 bit integer)
- TX power
All beacons in a specific deployment share the same Proximity UUID. The major and minor IDs are used to uniquely identify a beacon and map it to a region or location (geo-coding). Proximity and Real-Time Location Services (RTLS) use the TX power data for estimating location information.
Each app can register the iBeacon UUID (up to 20) with iOS operating system. When iOS matches an incoming iBeacon UUID with any preregistered UUID, the corresponding app is triggered. The key innovation by Apple was not in the beacon or in the protocol (almost all this technology was available in 2013), but in enabling the iOS operating system to scan for the beacon advertisements in the background and execute app code without user intervention. This is a big deal on iOS device which does not allow the execution of multiple concurrent apps and there is no user level APIs to implement this functionality. With this mode, an iBeacon can trigger a notification event or send iBeacon information to a cloud service even when user is not currently executing the relevant app.
Beacons have a lot of potential applications. The numbers below are from Bluetooth SIG.
Here are some of the major use-cases of Bluetooth beacons:
- Indoor navigation: Information from multiple beacons is used triangulate user position. This is useful indoor locations where GPS may not function adequately.
- Retail personalization and user analytics: Location information from beacon system is used to drive user analytics and personalize retail experience. Notifications, coupons and deals are delivered without the user explicitly opening the app.
- Asset tagging: Beacons are attached to “things” like suitcase, computers, etc. and the presence or absence can be tracked.
- Transportation: Beacons are ideal for delivering updates and information to transit passengers. It is easy instrument “must have” apps with beacon technology.
- Home automation: Beacon can trigger a range of actions based on user presence and location.
- Automated check-ins: Beacons enable automated check-in in at large events, festivals and conferences.
- Large scale consumer data collection: Beacons SDK’s embedded inside popular apps can collect location information(after getting permission to use location services) on a large scale. A beacon can trigger a cloud update even when the app or the phone is not being used.
That’s simple! Is that all?
While iBeacon is simple in concept and implementation, it is also proprietary to Apple, Inc. So, if you are using Google’s Android OS, can you receive iBeacon notifications? Yes, it turns out that adding support for background actions on android is far simpler than on iOS due to native support for multi-tasking.
Android has implemented a very rich support for beacons in android OS and cloud services like Physical web and Places API. In addition to the SDK and API support, Google also has defined four additional beacon formats under the brand name Eddystone:
- Eddystone-UID: This very similar in concept to iBeacon, but with a different payload format.
- Eddystone-URL: This beacon will broadcast a compressed URL that, once parsed and decompressed, is directly usable by the client.This obviates the need for an app.
- Eddystone-TLM: This Beacon sends status data that is useful for beacon fleet maintenance, and powers Google Proximity Beacon API’s diagnostics endpoint.
- Eddystone-EID: This is similar to the UID frame, with encrypted payload. This is designed to protect against spoofing attacks.
Beacon market has settled down from the peak hype that was evident from a few years back. Eddystone beacons address many of the security issues with the iBeacon protocol. Unfortunately, Google’s Eddystone APIs also raise some privacy concerns with respect to service providers. Apple has not extended support for any of the Eddystone beacon formats. Without support for detecting Eddystone beacons in the background, it is hard to function as a beacon.
On the upside, Bluetooth LE has become the most popular wireless technology for low-data-rate applications. With more than 3.5 billion Bluetooth devices shipped in 2017, the high-volume economics of semiconductor market is rapidly driving down the cost of many Bluetooth-based applications. The interoperability between Bluetooth LE devices is outstanding. New security enhancements in Bluetooth 4.2 and long range capabilities in Bluetooth 5.0 will enable a new class of enterprise applications that build on beacon technology investments, but deployed in decentralized environments or on private clouds. Axiomware will be offering several solutions in the asset tracking and telemetry space.