Using Bluetooth Metadata to Infer Social Context

Researchers from Idiap Research Institute and EPFL, Switzerland have been looking into the use of smartphone data, include Bluetooth metadata to try to infer social context, for example whether someone is alone or not.

The paper Understanding Social Context from Smartphone Sensing: Generalization Across Countries and Daily Life Moments (pdf) attempts to better understand human behaviour and mental well-being. The paper focuses on the use of passive smartphone sensors, including Bluetooth, to track the social context of individuals over time. In the past, this field of research has been limited by the fact that most studies have only been conducted in one or two countries and often focused on specific contexts such as eating or drinking.

This paper aims to overcome these limitations by using a new, extensive and multimodal smartphone sensing dataset that includes over 216,000 self-reports from more than 580 participants across five different countries – Mongolia, Italy, Denmark, the UK and Paraguay. The goal is to explore the feasibility of using sensor data to infer whether a person is alone or not and to examine how behavioural and country-level diversity influences this inference.

The sensor data comes from 34 different sensors, divided into continuous and interaction sensing modalities. Continuous sensing includes types of activity, step count, Bluetooth, WiFi, location, cellular, and proximity data, while interaction sensing involves app usage, touch events, screen on/off episodes, and notifications. In terms of Bluetooth, the study used both normal and low-energy Bluetooth capturing data on the number of connected devices and received signal strength indicators (RSSI).

The study’s key findings suggest that sensor features can be used to infer the social context. The research also found that models partially personalised to multi-country and country-specific data achieved similar accuracy levels, typically ranging from 80% to 90%. However, the models did not generalise well to unseen countries regardless of geographic similarity.

View sensor beacons

Reverse Engineering iBeacon and Eddystone Bluetooth GATT Services

For some of our beacons such the manufacturers haven’t documented their Bluetooth Service Characteristics. This means that while they are ok for scanning/proximity type applications, you can’t write your own app to, for example, change programmatically the UUID, major and minor, transmit power, advertising period and must rely on the manufacturer’s configuration app. While this of no consequence for the majority of uses that set and forget settings, more ambitious scenarios might want directly access the Bluetooth GATT services to change settings.

Uri Shaked has a great article on Medium on how to Reverse Engineer a Bluetooth Lightbulb. His method uses the developer logging in Android 4.4 and later to allow inspection of the Bluetooth packets and hence the Bluetooth Services and Characteristics that are being used. This method can equally be used with iBeacon and Eddystone beacons to reverse engineer the Bluetooth GATT information.

Another method is to use a Bluetooth sniffer. This listens in on the Bluetooth communication between two devices. One way of doing this is with Nordic Semiconductor’s Sniffer software on a dongle. There’s a tutorial on JimmyIoT.

It’s usually ill-advised to reverse engineer interfaces to discover undocumented features because the manufacturer can change the implementation thus breaking your solution. However, it’s very rare that firmware is ever updated in beacons and when it is, it’s usually only to fix bugs rather than change the implementation.

Processing on Bluetooth Device or Smartphone?

There’s often a dilemma when creating Bluetooth systems whether to place the processing on the smartphone or on the Bluetooth device.

The efficient and accurate prediction of an individual’s heart rate using wearable devices is crucial for various personal care applications. A new study Energy-efficient Wearable-to-Mobile Offload of Machine Learning Inference for Photoplethysmogram-based Heart-Rate Estimation (pdf) from the Universita di Bologna, Italy, looks into the trade-offs between carrying out heart rate tracking on the device itself or delegating the work to a mobile device.

The research introduces CHRIS, an inference system that uses the interconnectedness between a smartwatch and a smartphone. This system assesses the balance between energy consumption and heart rate tracking error. Depending on the connection status, a user-specified error, energy constraints and an estimate of the input difficulty, CHRIS employs two heart rate prediction algorithms. These are executed on either the smartwatch or the phone.

CHRIS showed the potential to achieve up to 2.03 times energy reduction on the smartwatch by deferring processing off the smartwatch, without a reduction on the tracking accuracy.

Predicting Use of Bluetooth Frequency Bands

There’s new research on predicting the channel access of Bluetooth Low Energy (BLE) devices conducted by a team from Silicon Austria Labs GmbH and Johannes Kepler University in Austria. The team aimed to estimate the channels used by multiple BLE connections by passively listening to the channel, with the goal of predicting future channel access to avoid collisions in other wireless networks.

The hardware setup for this research consisted of six Nordic NRF52840 BLE devices that formed three BLE connection pairs, and one sniffer based on the Ubertooth One. This setup allowed the researchers to actively monitor and analyse the BLE channel.

Channel hopping over time

The researchers demonstrated that by passively listening they could reconstruct channel access algorithms for multiple BLE connections in parallel. This approach can be used in new applications to avoid collisions in wireless networks, particularly in applications with high reliability requirements.

Beacon Setup Tip: Advertising Type

Bluetooth beacons are tiny devices that transmit small amounts of data over short distances using Bluetooth Low Energy (BLE) technology. They can operate with different protocols, like iBeacon (developed by Apple), Eddystone (developed by Google), and various sensor beacon protocols.

Despite the fact that it might seem these beacons can advertising multiple protocols simultaneously, it’s not quite the case. What they actually do is advertise these protocols one after the other in a very rapid sequence. This is due to the way Bluetooth works; it’s not technically possible to transmit multiple signals at the exact same moment. Instead, the beacon switches between the different protocols very quickly, which to a casual observer, or a smartphone, might seem simultaneous.

This rapid succession is made possible by BLE’s advertising mechanism. Beacons, in their idle state, continuously broadcast their identity, and potentially other information, in what’s called ‘advertising packets’. When they’re configured to use multiple protocols, they broadcast an iBeacon packet, then an Eddystone packet, then a sensor beacon packet, and so on in a cycle. This is repeated at a very high frequency, many times per second.

However, while this flexibility is advantageous in certain scenarios where various beacon protocols are required, it’s not always necessary and drains the beacon’s battery more quickly. This is because each advertising event consumes energy, and broadcasting in multiple protocols effectively multiplies the number of these events.

Many beacons are set up to advertise multiple protocols by default. If you don’t need this functionality, you can optimise battery life by disabling unnecessary protocols. This is done using a manufacturer-provided app. The exact process can vary between manufacturers and beacon models, but it generally involves connecting to the beacon, accessing its settings and then deselecting the protocols you don’t need.

While multiple-protocol advertising can be useful in certain situations, it’s often more battery efficient to only use the specific protocols you actually need for your application.

Bluetooth Low Energy Throughput

There’s new research by Institute of Electronics and Computer Science, Universite Grenoble Alpes, France on Bluetooth Low Energy Throughput in Densely Deployed Radio Environment (PDF). It looks into coexistence issues when Bluetooth is used in a crowded 2.4GHz frequency band where other devices such as Classic Bluetooth, WiFi, Zigbee and microwave ovens might also be operating.

The paper starts with a theoretical discussion of the throughput of Bluetooth LE.


Experiments used ten Bluetooth nodes to measure Bluetooth application throughput using various connection parameters and different interference sources. Two WiFi routers were used to evaluate the impact of WiFi on the BLE throughput.


The researchers found:

The more Bluetooth devices are working simultaneously, the more drastically Bluetooth throughput is decreasing… The Bluetooth co-interference causes throughput decrease for longer connection intervals. This behaviour could be explained by collisions in data transfer channel.

Also:

The effect of WiFi interference does not depend on the BLE connection interval. In this study, WiFi activity reduced BLE throughput approximately by 30% regardless of the connection interval.

These tests used Bluetooth GATT to form connection between devices. Some applications of Bluetooth LE, such as the use of beacons and AoA direction finding, don’t use GATT other than for initial setup. GATT implies connection between devices while beacons and the sole use of advertising and listening, rather than connection, is a different form of communication not covered by this paper. We have a post on Managing Bluetooth LE Advertising Congestion and Fixing Poor Bluetooth Beacon Radio Signals if you wish to explore this topic in more detail.

Beacon MAC Addresses

The beacon MAC address is the Bluetooth LE MAC address, or Media Access Control address, a 48-bit identifier that uniquely identifies a Bluetooth device. The address is fixed address at time of manufacture and can’t be changed.

To find the Bluetooth MAC address of a beacon you use the configuration app that is supplied with the beacon to scan for the beacon. Alternatively, on Android, you can use nRF Connect. The MAC address is also sometimes stamped on the beacon case or an an attached sticker.

The MAC address can be used to uniquely identify devices. However, if you are reading from smartphone apps, it’s more usual to use the unique iBeacon id that is contained in beacon advertising because this can be detected by smartphone OS APIs. The MAC address tends to be used more in real time locating systems (RTLS) as a unique id that’s independent of the type of advertising.

Many newcomers make the mistake of trying to use, and set, the Bluetooth name as a unique id. This isn’t reliable and instead you should use the MAC address or iBeacon id.

New Bluetooth Location Market Research

Bluetooth SIG, the organisation responsible for Bluetooth standards, has a new Bluetooth® Market Update in collaboration with ABI Research. Bluetooth covers a large range of device types and application areas. Here are some insights related to location services.

Bluetooth location services device growth will trend significantly upward and return to pre-pandemic forecasts due to heightened awareness of the benefits of Bluetooth location services. There will be 2.46x growth in annual Bluetooth location services device shipments from 2023 to 2027.

Bluetooth real time location systems (RTLS) are set for rapid growth. New regulatory and safety requirements in manufacturing, stricter compliance procedures and sustainable operation requirements are making RTLS solutions more attractive. There will be 178,000 Bluetooth® RTLS implementations by the end of 2023. Many commercial and industrial facilities are now relying on asset tracking solutions to optimise resource and inventory control. The commoditisation of off-the-shelf Bluetooth asset tracking gateways and beacons are major drivers behind continued growth. 112 million Bluetooth asset tracking devices will ship in 2023.

Read about BeaconRTLS™

Read about PrecisionRTLS™

Bluetooth Classic vs Bluetooth LE

Beacons use Bluetooth Low Energy (LE). Some people confuse this with ‘Bluetooth Classic’ so here’s concise explanation.

Bluetooth Classic or, more technically, Basic Rate/Enhanced Data Rate (BR/EDR) is an older Bluetooth standard announced in 1998. Bluetooth Low Energy (LE) was introduced in 2010, as part of the Bluetooth 4.0 specification. It came out of Nokia’s previous Wibree technology.

Although Bluetooth Classic is older, it is not obsolete and is instead used for different types of applications such as streaming audio and video. Bluetooth Classic is used when transferring files by Bluetooth between devices, such as photos, videos, and documents. It’s also commonly used for hands-free calling in vehicles. Bluetooth Classic is also used in medical devices such as glucose meters, blood pressure monitors, and heart rate monitors to transmit data to smartphones or other devices. Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR) requires pairing, the process of establishing a secure wireless connection between the two Bluetooth-enabled devices.

Bluetooth LE is designed for applications that require lower power consumption and low data transfer rates such as fitness trackers, smartwatches, beacons and other IoT devices. It uses a different protocol for data transmission which allows it to achieve higher throughput using smaller packet sizes. Bluetooth LE does not need pairing.

Both Bluetooth Classic and Bluetooth LE use the 2.4GHz unlicensed frequency band which is part the industrial, scientific, and medical (ISM) frequency band. Bluetooth Classic and Bluetooth LE differ in how they use the frequency and can coexist together.

How to See Bluetooth LE Advertising on Android and iOS

To see Bluetooth LE advertising on smartphones, you can use a Bluetooth scanner app. These apps are available from the App Store and Google Play Store and can be downloaded and installed on your smartphone.

To use a Bluetooth scanner app, follow these steps:

  1. Open the App Store Google Play Store on your device and search for “Bluetooth scanner” or “Bluetooth advertising”.
  2. Select a Bluetooth scanner app that you want to use and install it on your device. nRFConnect is a well-known scanner, provided by Nordic Semiconductor, the manufacturer of the Bluetooth System-on-chip in most beacons.
  3. Once the app is installed, open it and enable Bluetooth on your device, if it is not already enabled.
  4. The app will scan for nearby Bluetooth devices that are broadcasting advertising packets. It will display a list of the devices it finds, along with their names and other information.
  5. You can tap on a device in the list to see more details about it, such as its Bluetooth address (only on Android), signal strength, and any advertising data that it is broadcasting.

In summary, using a Bluetooth scanner app is a simple and effective way to see Bluetooth advertising on an smartphones. These apps allow you to see the devices that are broadcasting advertising packets, as well as the data that they are transmitting.