The long-awaited Bluetooth mesh networking technology is now available. Officially released by the Bluetooth Special Interest Group (SIG) in June, it adds industrial grade, secure mesh networking to the list of existing Bluetooth networking topologies (point-to-point, star, and broadcasting).
Bluetooth low energy has been widely adopted in commercial hub-centric, short-range personal area networking (PAN) applications, such as between a battery-operated peripheral and a smartphone. The new mesh networking spec enables hundreds of nodes to communicate seamlessly with each other on a wider networking area, extending the communication range via a relay mechanism from node to node. Contrary to what some consider a common belief, the Bluetooth mesh specification doesn’t rely on the latest Bluetooth 5.0 specification. In fact, any smartphone with Bluetooth 4.0 can monitor and control mesh connected nodes.
The Bluetooth Low Energy (BLE) technology was introduced in 2010 within the Bluetooth Core Specification 4.0. In contrast with previous the Bluetooth standard, BLE is designed as a low-power solution for control and monitoring applications. It inherited the concept from a former Nokia wireless protocol which was defined to offer a common wireless connectivity solution for Personal Area Networking (PAN), i.e. connecting ‘personal’ devices to the mobile phone. That was a classic example of star-topology networking with a single centric hub element; the mobile phone acted as a master of the network, connected to one or more slave devices. It was a one-to-many connection offering a very low power wireless connection for short-range interaction with local personal devices.
BLE operates in the 2.4-GHz Industrial Scientific Medical (ISM) band and defines 40 radio frequency channels with 2 MHz of channel spacing. An adaptive frequency-hopping scheme ensures robustness and reliability against interference and fading/multipath propagation issues. Out of the 40 channels, three are used for advertisement purposes instead of bidirectional communication between connected devices. Advertisement channels are used for discovery, connection establishment, and broadcast transmission.
Nowadays, the vast majority of hand-held devices, smartphones, and tablets support the BLE standard as well as most operating systems, including Windows, Linux, and macOS. It lets designers quickly and easily establish a convenient wireless connection with smart devices. The standard has greatly evolved over the past few years with the introduction of major features, improvements, and flexibility.
Important updates that began in December of 2014 introduced the Bluetooth 4.2 Core Specification and offered an even smarter, faster, and ideal wireless technology for the IoT. New features included Privacy 1.2, which helped the device avoid being tracked by unauthorized people or devices, and added secure connections with FIPS-compliant encryption to ensure data confidentiality from the very beginning of the connection (i.e. device pairing). In addition, the 4.2 Spec included a new data-length extension for faster transfer of data and the new Internet connectivity, such as low-power IP (IPv6/6LoWPAN) and Bluetooth Smart Internet Gateways.
More recently, the introduction of Bluetooth 5.0 in December 2016 further extended the adoption landscape to an amazing number of new applications thanks to a faster throughput (2X the data rate), long-range capability, and eight times the broadcasting message capacity, which improved location and navigation systems. As a result, the 5.0 spec will further improve the overall user experience at an even lower power budget and boost BLE adoption as a prominent and secure IoT connectivity solution.
Introducing BLE Mesh
The basic element of each mesh is the node entity. The Bluetooth mesh nodes communicate with any other node using packets (the messages) flooded throughout the network. A message can be a command or report and typically isn’t intended for continuous data-streaming operations. A relay mechanism, implemented via so-called relay nodes, allows the rapid propagation of the message to nodes, which otherwise wouldn’t be reachable, and thus widely extend the network area coverage. Network diameter can be as much as 126 hops, which is enough for enterprise lighting installations, for example.
To prevent network congestion, several mechanisms are adopted, for example, to determine when the message relay must be terminated. This minimizes the possible downsides of the flooding technique while preserving its benefits such as simplicity, redundancy, and reliability.
As relay nodes have to be awake at all times to receive and retransmit messages, they won’t be able to exploit Bluetooth’s native low-power features. As such, relay nodes aren’t suitable for battery-operated devices. That is where friend and low-power nodes can help. While friend nodes, typically mains powered, can buffer messages addressed to friend nodes, low-power nodes can enter a low-power state and resume periodically, in a predetermined schedule, to consume and process the buffered messages, and then return to a sleep state.
A fourth node type is the proxy node which lets BLE devices like current-generation smartphones that don’t support mesh natively, still connect to the network through a standard Generic Attribute Profile (GATT) interface. Such backward compatibility will enable faster adoption of mesh technology, especially in scenarios like smart-building and home-automation.
Each node may consist of at least one or more elements, which represent the network addressable entity. In turn, elements get exposed to each other using a client-server model architecture and communicate using a publish-and-subscribe mechanism. The server model includes element state (such as a light bulb’s on/off status) as well as messages relevant to the state itself. Whereas, the client model (like a generic switch) is state-less and defines a set of messages used to interact with the server states.
Nodes that need to listen to control messages (like the light bulb) from the network will subscribe state transitions related from relevant sources. In turn, the controlling source (the light switch) will publish its state to the specific light bulb. Therefore, in the light/switch example, the client device (switch) can post messages, and the server (light bulb) can be notified when new commands arrive.
To add even more flexibility, Bluetooth mesh offers the possibility of defining and addressing a group of nodes (using group addressing instead of unicast addressing). This feature allows the convenient control of all the light bulbs belonging to a common physical location, such as all lights in a room or a home entrance.
Provisioning is the procedure by which a device is brought into the network as an addressable node. Up to 32,767 nodes can be provisioned in a network. This is typically accomplished through an app running on a smartphone or tablet, thus creating a database of provisioned nodes.
The Bluetooth SIG takes security concerns seriously and has installed industrial-grade security practices as a mandatory feature of Bluetooth mesh. As such, all traffic is encrypted since the very provisioning process and communication of unencrypted messages is therefore prohibited. Message Integrity Check (MIC) is applied to traffic across multiple networking layers. Authentication of nodes and data is performed though a triple key mechanism (device, network, and application) and sophisticated obfuscation and end-to-end encryption procedures as well as key refresh, blacklisting, and message sequencing techniques are adopted to minimize security threats.
ST recognizes the importance of mesh standardization to simplify market deployment and to accelerate technology adoption in large-scale commercial applications. As such, since its early development, its BlueNRG-Mesh follows the evolution of mesh specifications as defined by the Bluetooth SIG. Participation in several Interoperable Test events (i.e. Bluetooth SIG IOP sessions) lets the company stay abreast of the latest standard evolution, enabling rapid adoption of the most stringent requirements in terms of security, scalability, and overall addition of newly specified features. The BlueNRG-Mesh relies on advertising packets used for data communication and exchange of elementary messages, using a managed flooding method.
BlueNRG-Mesh comes in the form of a self-contained Software Development Kit (SDK) including example code, tutorials, user manual and quick start guides to quick start coding user’s own solution, with very little effort and no need for in-depth Bluetooth mesh understanding. To further simplify adoption of mesh software and to shorten time-to-market for the commercial availability of new mesh applications, the BlueNRG-Mesh package comes with a complementary Software Development Kit for Android and for iOS.