Interoperability is an important requirement for any wireless communication protocol supporting a mesh network topology. At this year’s Bluetooth® World event, I had the opportunity to speak in a hands-on developer session about Bluetooth Mesh – provisioning and interoperability. By the end of this session, participants learned how to use 3 different Bluetooth Mesh provisioners to provision 3 different developer kits from 3 different vendors. Attendees were then shown how to use the publish and subscribe mechanism of Bluetooth Mesh to control the onboard LEDs (on or off) on all 3 kits.

This article outlines how to build a Bluetooth Mesh demo like the ones used at Bluetooth World 2018.

Provisioners

The provisioner plays a key role in Bluetooth® Mesh network, it takes the responsibility of:

  • creating a mesh network
  • provisioning new devices (unprovisioned) into the network
  • sharing network credentials known as provisioning data (Bluetooth Mesh profile v1.0 section 5.4.2.5)
  • executing model configuration
  • managing the network

The demo from Bluetooth® World 2018 used 3 provisioners:

  • BlueZ v5.50 on Raspberry Pi3 (R Pi3), refer to this guide to set it up as a provisioner;
  • nRF Mesh for iOS devices;
  • nRF Mesh for Android devices;
  • Parameters

Parameters

After installing the provisioner apps on target platforms like R Pi3, Android, or an iOS device, you need to configure them in order to make sure the nodes provisioned by these provisioners work together seamlessly and have proper interoperability.

There are 5 important parameters which need to be configured properly on each provisioner:

  • Network Key (NeyKey)
  • AppKey
  • Key Index
  • IV Index
  • Unicast Address

For the first four parameters, make sure they are the same for the different provisioners.

For the unicast address, the base unicast address allocated for new (unprovisioned) devices on different provisioners needs to be different, in case there is any chance of a duplicated unicast address in one network. In my demo:

  • BlueZ’s base unicast address is 0x0100. BlueZ will assign the unicast address for new devices subsequently (e.g. 0x0101, 0x0102, etc.).
  • The base unicast address of nRF Mesh Android App is 0x0300. It will assign the unicast address for new devices subsequently (e.g. 0x0301, 0x0302, etc.).
  • The base unicast address of nRF Mesh iOS App is 0x0500. It will assign the unicast address for new device subsequently (e.g. 0x0501, 0x0502, etc.).

Thus, there are:

  • 256 available unicast addresses which can be assigned by BlueZ from 0x0100 to 0x02FF;
  • 256 available unicast addresses which can be assigned by nRF Mesh Android App from 0x0300 to 0x04FF;
  • 31,488 available unicast addresses which can be assigned from 0x0500 to 0x7FFF because the valid range of unicast addresses is from 0x0001 ~ 0x7FFF. Please refer to Bluetooth Mesh Profile v1.0 section 3.4.2 and 3.4.3 for more detail.

Apps Setting

For nRF Mesh Apps on iOS and Android, it is easy to configure because those apps have a UI. Tap the setting button at the bottom, as shown in the screenshots below.

 

 

For BlueZ, please refer to this step-by-step guide, How to Deploy BlueZ v5.50 on Raspberry Pi3 and Use It, Part 2 to learn how to configure the Network Key, AppKey, Key Index, IV Index, and base Unicast Address on BlueZ.

This step-by-step guide will also show you how to build a new (unprovisioned) device, provisioned by meshctl on a Raspberry Pi3 (R Pi3) board.

As long as the above parameters (Network Key, AppKey, Key Index, IV Index, and Unicast Address) are configurable, any provisioner, no matter if it runs on a smartphone or an embedded dev kit, can be used in this demo to provision the new device and prove the interoperability.

Model Configuration

After configuring the provisioner properly, prepare the new (unprovisioned) devices; they will be provisioned by the provisioners prepared from the section above. Any Bluetooth Mesh dev kit, as long as it supports the models of Generic OnOff Server and/or Generic OnOff Client, can be used in this demo.

In the demo from Bluetooth® World, three different vendors’ dev kits were used. These dev kits, from Nordic Semiconductor, Cypress, and Silicon labs, already had Generic OnOff Server and/or Generic OnOff Client models support: you don’t need coding, just flash the example firmware and it’s done.

You can use any provisioner to provision a kit to make it a node in the network. After provisioning is complete, please make sure:

  • If the node includes Generic OnOff Server
    • Bind its Generic OnOff Server with the AppKey you configured
    • Make this Generic OnOff Server subscribe to a certain group address. The valid range is from 0xC000 to 0xFEFF. I used 0xC000.
  • If the node includes Generic OnOff Client
    • Bind its Generic OnOff Client with the AppKey you configured
    • Make the Generic OnOff Client publish message at a certain group address. The valid range is from 0xC000 to 0xFEFF. I used 0xC000

After completing the above model configuration, use the Generic OnOff Client to control the Generic OnOff Server’s state to on or off; intuitive appearance of the LEDs can be controlled on or off.

Moreover

After Bluetooth® World, I had an opportunity to use the STMicroelectronics kit. After following the above guide, I successfully added it in this demo. Moving forward, I hope to use an even wider range of products in this demo.

Discover more developer resources, and learn more about developing with Bluetooth Mesh.

Bluetooth Mesh Ushers in a New Era of Reliable, Cost- Effective Development

Bluetooth® Mesh was specifically created to fulfill the demands of commercial and industrial environments,…

A New Bluetooth Standard Improves Personal Health Device Interoperability for Better Remote Patient Monitoring

The Bluetooth Special Interest Group (SIG) recently published a set of specifications that standardizes…

Smart Lighting Control Brightens the Future of Bluetooth Illumination

Smart lighting is a key component of smart commercial buildings and the connected home.…

Synthesize and Transmit Audio Using LE Audio

The application is assembled as a sound-generating device, the synthesizer, and a receiving headphone.…

Walkthrough Bluetooth Mesh 1.1 and Bluetooth® Networked Lighting Control (NLC)

If you are interested in the new features introduced in the Bluetooth® Mesh or…

Unveiling the Truth: Debunking Bluetooth’s Biggest Myth

Bluetooth Low Energy was designed to considerably reduce power consumption and cost while maintaining…

The Importance of Standardizing Wireless Lighting Controlワイヤレス照明制御における標準規格の重要性

Lighting control systems are deployed in offices, retail, healthcare, factories, and other commercial facilities…

Six Bluetooth Mesh Feature Enhancements to Get Excited About

The new Bluetooth mesh feature enhancements offer more robust security, improved network efficiency, reduced…

What’s New with the Latest Bluetooth Mesh Specification

In the evolving landscape of IoT, Bluetooth mesh topology has emerged as an important…

Bluetooth® Mesh Feature Enhancements Summary

This paper summarizes the recent Bluetooth® Mesh feature enhancements and provides references to other…

Bluetooth® Mesh Subnet Bridging - Technical Overview

This paper examines subnet bridging, a new feature introduced in the Bluetooth® Mesh protocol…

The Latest in HADM with Bluetooth LE

HADM, or high accuracy distance measurement using Bluetooth does exactly what it says –…

Mr. Beacon Podcast: Snapdragon Sound with Mike Canevaro

This episode of the Mr. Beacon Podcast explores the revolutionary world of Bluetooth audio.…

Bringing Wireless Controls To The Epicentre Of Connectivity

This year, the time came for the lighting infrastructure at the Bluetooth SIG headquarters…

Smart Lighting And Controls Halve Energy Consumption At Campus Pitzemburg

Campus Pitzemburg has cut its energy usage by 50% thanks to smart controlled energy…

Sylvania Lets Efficiency And Control Fly High At FLYINGGROUP Antwerp

FLYINGGROUP Antwerp was looking for a solution for their meeting rooms that were more…

The Bluetooth® Low Energy Primer

Are you new to Bluetooth Low Energy? Learn about its constituent parts, features, and how it works.

Smart Solutions Using Network Lighting Infrastructures

An intelligent network lighting control infrastructure helps business owners and staff know more about…

Bluetooth® Technology for Linux Developers

Learn how to use the interprocess communication system D-Bus and the BlueZ APIs to create Bluetooth applications for Linux computers.

Bluetooth Range and Reliability: Myth vs Fact

As Bluetooth is becoming more and more ubiquitous in smart homes, buildings, and factories,…

The Role of Lighting in Smart Buildings

Undoubtedly, everyone is aware of two types of lighting, i.e., wired and wireless. It…

2021 Bluetooth® Market Update

Supported by updated forecasts from ABI Research and insights from several other analyst firms, the Bluetooth Market Update highlights the latest Bluetooth trends and forecasts.

Designing and Developing Bluetooth® Internet Gateways

Learn about Bluetooth internet gateways, how to make them secure and scalable, and design and implement your own working prototype gateway and web application for use with either Bluetooth LE Peripherals or with Bluetooth mesh networks.

2020 Bluetooth® Market Update

Supported by updated forecasts from ABI Research and insights from several other analyst firms, the Bluetooth Market Update highlights the latest Bluetooth trends and forecasts.

2019 Bluetooth® Market Update

Supported by updated forecasts from ABI Research and insights from several other analyst firms, the Bluetooth Market Update highlights the latest Bluetooth trends and forecasts.

Lighting as a Platform

See how connected lighting systems are being used as a platform to enable advanced building services like wayfinding, asset tracking, and space utilization to improve the ROI of smart building investments.

Build a Smarter Building with Blue

See how Bluetooth increases reliability, reduces costs, and enhances your smart building ROI.

Overview – Bluetooth Mesh Networking

A quick overview outlining how Bluetooth mesh uniquely meets the reliability, scalability, and security requirements of commerical and industrial markets.

 Get Help