Configuring Bluetooth Beacons

The configuration of a Bluetooth beacon can vary depending on the manufacturer and the specific use case. However, in general, the configuration includes iBeacon settings such as the beacon’s UUID (Universally Unique Identifier), major and minor values, transmit power, advertising interval, and other parameters that define the behaviour of the beacon.

  • UUID: This is a 128-bit value that uniquely identifies the beacon. It can be used by an application to identify a beacon among many others in the vicinity.
  • Major and Minor values: These are 16-bit values that can be used to group beacons into different categories or to identify specific beacons within a group.
  • Transmit power: This setting determines the strength of the signal transmitted by the beacon. A higher transmit power will increase the range of the beacon, but will also consume more battery power.
  • Advertising interval: This setting determines how often the beacon broadcasts its signal. A shorter interval will provide more frequent updates on the beacon’s location, but will also consume more battery power.

These settings are configured using smartphone apps. These use Bluetooth GATT (Generic Attribute Profile), a protocol used to define the way that data is exchanged between Bluetooth devices. Some beacon manufacturers also publish how they use Bluetooth GATT’s services and characteristics to update these settings so that you can also update them via your own apps or from other Bluetooth devices.

Indoor Positioning Using iBeacon and ESP32

Bluetooth beacons advertising iBeacon can be used to perform indoor locating using trilateration. Trilateration is where three receivers are used to measure signal strength (RSSI) to calculate the position.

It’s possible to use ESP32 single board computers as Bluetooth receivers. The GitHub project iBeacon-indoor-positioning-demo has an example open source implementation. There’s also an accompanying blog post.

The implementation uses MQTT to send the data to a React app on a server where it’s displayed on a floorplan.

In practice, you might want to consider creating a more robust solution that uses Bluetooth gateways rather than ESP32 devices. There’s also the Bluetooth AoA Direction Finding standard that’s more accurate than using RSSI.

Beacon Signal Stability Observations

As previously mentioned, we perform signal strength and stability tests across beacons. The data feeds into our consultancy work. Here are some high level observations.

The following graph shows the standard deviation of the RSSI @ 1m, for some of our beacons, measured over a 60 second time period:

beaconsignalstability

Smaller bars are better and represent beacons
whose RSSI varied the least over time.

We found that beacons belonged to one or two groups. Firstly those with very stable RSSI and secondly those with an RSSI that had a standard deviation between about 4 and 6 dBm.

Signal stability is more important when you are using the RSSI to infer distance, either directly from the RSSI itself or indirectly via, for example, the iOS immediate, near and far indicators. RSSI varying without a change of distance might cause more spurious triggering. However, you should keep in mind that environmental factors can often cause variation much larger than the 4 to 6 dBm found in this test. Moving obstacles, for example people, will cause significant variation in RSSI.

Bluetooth LE advertising moves pseudo-randomly between radio channels. The channels use different radio frequencies that, in turn, results in fading of the signal at different distances. We experienced and mitigated similar behaviour in our LocationEngine™. Different radio frequencies experience different constructive and destructive interference at different physical locations. Beacons that move more between channels can cause more rapidly varying received signal strength (RSSI).

Using iBeacon for Team Management

There’s useful research by Sindhumol S of Cochin University of Science and Technology, India on Implementation and Analysis of a Smart Team Management System using iOS Devices as iBeacon.

The system provides location-based task monitoring and presence detection. Task details and announcements are available when a team member enters the range of an iBeacon broadcast. The system also provides typical project management facilities such as task allocation, notification, instant chat, status reports and employee logs.

From a technical perspective, the paper describes setting the beacon measure power, the affect of distance change on accuracy and the change in accuracy/RSSI depending on obstacle blocking.

View iBeacons

Adding an IoT Protocol to Beacons

There’s new research by Department Computer Science, Universidad Técnica de Machala, Ecuador on Design and Practical Evaluation of a Family of Lightweight Protocols for Heterogeneous Sensing through BLE Beacons in IoT Telemetry Applications.

The researchers explain how standard beacon advertising works and documents the existing iBeacon and Eddystone protocols.

New protocols, LP4S-6 (for resource-constraint beacons), LP4S-X (for more powerful beacons) and LP4S-J (for beacons able to run complex firmware) are proposed that can be used to allow IoT telemetry systems to discover new nodes and to describe and auto-register the sensors and actuators connected to a beacon.

The paper describes the resultant JSON, shows how a new protocol can be added to an Eddystone beacon and proves how the new latency and power consumption remain low.

Note that updating the firmware of a beacon is non-trivial because it requires the implementation of what’s already on the beacon without access to the original source code.

How Many Connections Can an iBeacon Support?

We sometimes get asked how many connections an iBeacon can support? The answer is ‘1’ but it’s often the right answer to the wrong intended question. The intended question is usually “How many receivers can see a beacon?”

Beacons don’t usually connect. They just advertise and can be seen by an infinite number of receivers that include phones, gateways or single board computers such as the Raspberry Pi.

The receivers only usually connect once, during setup via an app, to set the initial iBeacon parameters. When connected, the beacon doesn’t advertise which prevents extra receivers from connecting. Once set up, the app disconnects and the beacon starts advertising again.

Next Generation Sign-In Technology Using iBeacons

Our customer, Ostara Systems, have added Bluetooth beacons to their Maintenance Management Solution. Beacons allow engineers to automatically sign-in and prove that they are working on site.

Beacons provide a significant improvement in the sign in process, reducing administration and providing for a quicker and easier sign in using the Ostara app. 1300 Bluetooth Beacons have been installed that are used by over 10,000 engineers.

Contact Ostara regarding their Facilities Management Solution

View iBeacons