This Technology Brief explores the use of Bluetooth Low Energy (BLE) beacons in the application of location-based-services. BLE wireless technology differs from standard Bluetooth and has been designed to operate in the same spectrum as Wi-Fi without creating interference problems. BLE beacons make use of BLE advertisement packets to broadcast basic identification and location data. Smartphone apps detect the beacon signals and then deliver relevant messages and information to the user.
The low cost and low power consumption of BLE beacons allow a large number of devices to be deployed throughout a service area, and it also enables them to be integrated into other devices, such as Wi-Fi access points. The simple but flexible structure of the BLE advertisement packets enables the customization of beacons to fit a multitude of applications, from retail store information to indoor navigation and asset tracking. With the increasing proliferation of wireless devices and services, the use of BLE beacons is rapidly developing and finding new applications every day.
What is BLE?
As the emergence of the Internet of Things (IoT) gained strength, the Bluetooth Special Interest Group (SIG) recognized the need for a modified Bluetooth standard that would focus on conserving power and could be easily integrated into a multitude of devices. The Bluetooth Low Energy standard is the result of the development goals. Related to standard Bluetooth, but also an incompatible, separate technology, BLE wireless connectivity consumes so little energy that it allows battery-powered devices to run for months or even years. BLE devices are designed to send small bursts of data rather than stream data for an extended period of time, which makes them ideal for control and sensor applications.
BLE radios operate in the same 2.4 GHz ISM band as standard Bluetooth and Wi-Fi, but whereas Wi-Fi uses 20 MHz wide channels and standard Bluetooth splits the spectrum into 79 1 MHz-wide channels, BLE uses 40 channels that each have a width of 2 MHz. Furthermore, both BLE and standard Bluetooth use frequency-hopping technology to transmit signals by randomly moving between channels to send short bursts of data. Another important difference between BLE and Wi-Fi is that BLE broadcasts its advertisement packets on three designated channels as opposed to Wi-Fi access points that transmit their identifier on the same channel as data. Specifically, the three BLE advertising channels have been chosen so they do not interfere with standard Wi-Fi channels. Also, this method of restricting BLE advertising to just three channels serves to save power for BLE devices that only have to scan three channels for BLE advertisements.
BLE advertisement packets are broadcast periodically (fixed interval of 20 ms to 10.24 seconds, or random interval from 0 ms to 10 ms) on the three advertising channels and include the capabilities and services provided by the BLE node. Note that BLE operates in either an advertising or connected mode, which means that if a BLE node is in connected mode it cannot send advertisement packets. Also, BLE differs from standard Bluetooth and employs the Generic Access Profile (GAP) for advertising a node’s capabilities. When in a connected mode, BLE uses Generic Attribute (GATT) profiles to exchange data, which takes the format of a simple structured list.
BLE beacons operate in only an advertising mode using GAP to send information in the advertisement packets. This is a simple one-to-many broadcast that enables BLE beacons to consume very little power.
A BLE beacon is simply a device that uses BLE node advertisements to broadcast its services to BLE clients that can read the information offered. In BLE beacon applications, the BLE node operates in only an advertising mode using GAP to send information in the advertisement packets. BLE beacons do not accept connection requests from clients, it is a simple one-to-many broadcast that enables BLE beacons to consume very little power.
The BLE advertisement packets have a simple basic structure, consisting of an address, a data unit, and a cyclic redundancy check (CRC). However, the data payload content in advertisement packets can be customized for specific operators. It is important to note that the Bluetooth SIG have not specified a standard for BLE beacons, it has been left as open for operators or consortiums to define. There are several implementations that are common, such as Apple’s iBeacon and the open-source AltBeacon, which have their own advertisement packet formats.
A transmitted BLE beacon requires a relevant phone app (or a dedicated BLE client device) that can recognize the beacon advertisements, extract the information, and then take actions based on the content. In many cases, BLE beacons do not even send a direct message in advertisements, they just identify the beacon and its location. The phone app itself looks up the beacon in a database (locally or on a server or cloud platform) before suggesting actions to the user.
The data unit of an advertisement packet, called the Protocol Data Unit (PDU), has a two-byte header that specifies the type and length of data payload, which can be up to 37 bytes, which includes 6 bytes for the advertisement address and up to 31 bytes for data. The Bluetooth SIG have specified a number of advertisement data types, but the “ADV_NONCONN_IND” type is typical for BLE beacons that do not want to accept any client connections.
Within the data payload, beacon information can be further sub-divided into one or more information elements in a length-type-data format. The GAP data types in the advertisement payload have been defined by the Bluetooth SIG and include a number of common elements, such as:
0x01 = Flags
0x03 = Complete List of 16-bit Service Class UUIDs
0x09 = Complete Local Name
0x08 = Shortened Local Name
0x0A = Tx Power Level
0xFF = Manufacturer-specific data
The Universally Unique Identifier (UUID) data types enable a specific beacon service to be identified and others filtered out, an important feature when many different BLE beacons are operating in the same area. The Bluetooth SIG have created standard UUIDs that are 16-bits, but operators can generate their own unique UUIDs that are 128-bits. The “Local Name” data types specify the exact location of a beacon device and the signal power data can be used to determine a user’s distance from a beacon. The “manufacturer-specific” data type allows customized data structures to be defined, a feature that provides great flexibility to create beacons for any application.
BLE beacons operate within a limited zone, so when a mobile user enters the zone their phone app receives the beacon message and checks the UUID to determine if it is a service that the app recognizes. If the app recognizes the beacon service, then the other message data can be extracted and actions triggered to engage the user.
BLE Location-Based Services
With most of today’s smartphones including BLE support, the potential applications for BLE beacons are endless. From simple phone app notifications to more complex location tracking, BLE beacons can be small and inexpensive, or integrated into other devices such as Wi-Fi access points. With an indoor range of up to 50 meters, but often covering a range of just a few meters, BLE beacons can perform better for indoor locations where GPS signals cannot always penetrate.
For example, consider a simple scenario where BLE beacons are deployed in a museum. A visitor enters the museum and upon entry receives a beacon message welcoming them and suggesting a route to follow to see all the exhibits. A short distance into the museum, another beacon provides details about the museum’s free Wi-Fi and directs the visitor to the first display. As the visitor approaches a particular exhibit in the museum, information about the exhibit is provided. The visitor continues to follow beacon directions around the museum until they have seen all the exhibits. At the end of the route, a beacon message suggests a visit to the museum visitor’s shop. On leaving the museum, a beacon message thanks the visitor and provides information on a special exhibition in the near future.
Note how BLE beacons simply provide location and proximity information at a particular time, leaving phone apps to determine the relevant information to present to the user. There are many applications where beacons can provide valuable information or assistance. Some other common applications include:
- Retail store information on entry/exit
- Indoor navigation
- Wi-Fi connection initialization
- Site location information
- Advertising services
- Asset/item tracking
When planning beacon systems for some applications, it can be possible to overwhelm users with constant messages, some of which could be irrelevant. Apps need to be able to control the flow of information from beacons and present it to users at the right time and in the best way. If users are annoyed by beacon apps, it is likely they will disable Bluetooth or uninstall apps completely. There is also a need not to saturate an area with beacon signals, which may give rise to interference and poor performance. With careful planning, good app design, and attention to detail, BLE beacon systems can engage users in a helpful way and be a valuable technology to many industries.
The use of BLE beacons is not new, however as other wireless technologies have expanded and developed over the years to penetrate nearly all parts of life, the application of these simple devices has started to multiply. The low cost and low power consumption of BLE beacons, which can run off batteries for years, allows many beacons to be deployed throughout indoor or outdoor areas, providing help and assistance to users that can detect and decode the beacon messages through smartphone apps.
The structure of BLE beacon advertisement packets allows for flexible customization, which provides scope for operators to develop new applications. Being a complimentary technology to Wi-Fi and cellular wireless, BLE beacons fill a niche that offers plenty of opportunities for current and future development.