🎉 25% off Pre-Sale! Bluetooth LE course with real hardware included - no SDK required
Embedded Development · · 7 min read

Location Awareness of Bluetooth LE Connections by Monitoring RSSI From Multiple Devices

Silicon Labs' Bluetooth Connection Analyzer lets multiple friend devices monitor RSSI on active Bluetooth LE connections, enabling connection handover and trilateration-based positioning.

Location Awareness of Bluetooth LE Connections by Monitoring RSSI From Multiple Devices

Sponsored by Silicon Labs

Introduction

Over the years, Bluetooth Low Energy has proven to be great for establishing a connection between two devices and maintaining it within a reasonable RF range. As we already know, connections are the way to go for applications that require consistent bidirectional data communication between two Bluetooth LE devices.

However, connections rely on the two Bluetooth LE devices being within a reasonable RF range of each other in order to be maintained. But what if you have an application where a Bluetooth LE medical device must constantly be connected within a large area (e.g., a medical facility) to relay its sensor readings to a cloud server? In such a scenario, deploying a single Bluetooth LE gateway may not be sufficient (especially for large coverage areas).

The natural solution here is to deploy multiple Bluetooth LE gateways to maintain a more comprehensive connection to the Bluetooth LE sensor.

But how do you manage the connection from multiple gateways to a single device? And how do you make it seamless across these gateways?

Let’s imagine another scenario where you have a Bluetooth LE-enabled mobile device connected to a Bluetooth LE-enabled vehicle access control system. In this case, RSSI measurement from the vehicle could be utilized to approximate the distance of the mobile device. However, RSSI is prone to many environmental factors, and its accuracy is usually unsatisfactory.

One solution to this is to add multiple Bluetooth LE devices within the vehicle to monitor the RSSI of the mobile device and employ trilateration to determine better location accuracy.

But again, how do you manage this without overcomplicating the implementation? And how do you ensure that the multiple nodes are able to consistently monitor the RSSI?

To address these traditional problems with Bluetooth LE (limited RF range and inaccuracies of RSSI), Silicon Labs just introduced a new feature in their Bluetooth SDK called the Bluetooth Connection Analyzer.

This new feature is available in Silicon Labs' Bluetooth SDK version 7.0.1.0.

The Bluetooth Connection Analyzer

So, what is the Bluetooth Connection Analyzer? Simply put, it’s a simplistic Bluetooth sniffer implementation that allows multiple devices to measure the RSSI levels on 3rd party devices connected to a friend device by monitoring the connection between this device and the 3rd party devices.

You are probably asking, well, what makes this feature special? And how does it make my life easier?

Great questions!

With this new feature, with just a few API calls, you can enable friend nodes to monitor the RSSI of a 3rd party device’s connection with a main device and utilize this information for multiple scenarios. Some of these include:

Now, even though RSSI measurements of a device may be easily measured for non-connected devices (e.g., in advertising mode), it is much more difficult to achieve the same for connections, especially between bonded devices, which is where this new feature comes in!

How does it work?

Let’s run through the steps of how a system would utilize the Bluetooth Connection Analyzer feature by looking at the vehicle access control system example application we referred to earlier.

System Diagram

Bluetooth Connection Analyzer system diagram for a vehicle access control system with friend devices
Bluetooth Connection Analyzer System Example (Vehicle Access Control System)

System Components

The system comprises the following main components:

System Functionality

How to Get Started with Connection Analyzer

Now that we've covered the basics of this new feature and gone through how it works in an example use case let's look at how you, as a developer or system architect, could utilize it and where to go from here.

Understanding the APIs Involved

The APIs you would use to utilize this feature are:

Sample Example using Connection Analyzer

Silicon Labs has published a great example application that utilizes Connection Analyzer. The Bluetooth Roaming example application is available on GitHub.

Sample Application Description:

This pair of examples models a medical application. The goal is to gather data from several Bluetooth LE heart rate (HR) sensors in a large facility using multiple access points (AP). Whenever a person with the HR sensor moves out from the radio range of an AP and loses connection, a nearby AP shall find it and continue the HR data collection. The access points are supervised by a network coordinator.

Source: Silicon Labs GitHub Repo – BT Roaming Example Application
BT Roaming example application diagram showing access points and heart rate sensors
BT Roaming Example (using Silicon Labs' Connection Analyzer)

With this example, you can set up a system that maintains a Bluetooth LE connection to a moving medical device in order to continuously capture its sensor data. All this while making it a seamless connection handover from the medical device's perspective. The APs would appear to the medical device as a single device that ensures that the connection covers a large space (something that traditionally wouldn't be possible with a one-to-one Bluetooth LE topology).

Important Notes

Here are a few important things to keep in mind when implementing an application that uses the Connection Analyzer:

Obviously, the APIs that provide this solution will still require some additional work on your part to fully utilize it. This would include designing the architecture of the system, such as the number of friend nodes, their distribution within the field of interest, their configuration (SoC or NCP mode), the communication channel used between the friend devices and the primary device (wireless or wired), how the data is shared between devices, etc.

Summary

In this post, we covered a new feature introduced by Silicon Labs to address a real problem with Bluetooth LE-based systems. The Connection Analyzer feature provides a solution for two main use cases:

💡
Insider Tip: Want to master RSSI monitoring, connection management, and location-aware Bluetooth LE applications? Check out the Bluetooth Developer Academy for expert-led courses!

Read next