Without any dispute, Bluetooth Low Energy (BLE) has dominated the IoT space. Applications like smart home, home-healthcare, and asset tracking greatly benefit from BLE’s low-power capabilities. However, BLE communication between devices has been limited to either one-to-one or one-to-many. In addition, deployment of BLE is challenging due to limited range, especially in environments like homes where some devices may be hidden behind several walls relative to other devices. These factors have made it difficult to control the entire home from a single location.
Many-to-many communication is needed such that any node can receive messages from multiple devices and send messages to multiple devices. For example, consider a group of four light bulbs that need to be controlled using multiple mobile phones. They also need to be able to receive Set messages from a dimmer and/or an occupancy sensor. This requires many-to-many communications.
For BLE to be the most useful in applications like smart home, smart buildings and smart cities, developers need many-to-many communication and a mechanism to extend the range while allowing some devices to operate using a small battery. Bluetooth Mesh addresses these concerns.
Bluetooth Mesh is emerging as a preferred home automation technology since nodes in a Bluetooth Mesh network can be accessed directly from a mobile phone or tablet without the need for a gateway. Interoperability is the key to success for any smart home deployment as each smart home may utilize products from various vendors. Standard message formats for defined use cases (Models) enable rapid deployment and interoperability assurance with other BLE Mesh products.
This series of five articles discusses key concepts required to understand Bluetooth Mesh. It will focus on Bluetooth Mesh’s low-power capability, privacy and security features, and how to select a device for your smart home application. This first article in the series discusses the key elements of a Bluetooth mesh network.
Bluetooth Mesh Network
A Bluetooth mesh network consists of nodes with several feature types. Figure 1 provides a high-level representation of a Bluetooth mesh network. As can be seen from the figure, it has nodes with the following feature types:
- Relay Node/Feature
- Low Power Node (LPN)/Feature
- Friend Node/Feature
- Proxy Node/Feature
click for larger image
Figure 1: Bluetooth Mesh Network (Source: Cypress)
Each node can support one or more feature types. For example, the R+F node in this network supports Relay and well as Friend feature. Similarily, the R+P node supports Relay and Proxy features.
The Relay feature enables a node to relay messages over the advertising bearer. Typically, every wall-powered node is likely to include the Relay feature as they have the power needed to listen continuously for advertising packets and relay them to other nodes. An example of the Relay feature in use is a smart light bulb or a wall-powered light switch in the home automation application. On the other hand, nodes that operate on small batteries are unlikely to have the Relay feature as it requires Rx to be on continuously and for the device to listen to the advertised packets. Doing so would drain the battery quickly.
The Low-Power Node feature is one of the most important features of Bluetooth Mesh. Unlike a node with the Relay feature, a node with the Low-Power Node feature does not need to listen to advertised packets continuously. A node with Low-Power Node feature spends most of its time in device’s low-power mode while its Friend node collects messages on its behalf. The Low-Power Node wakes up at defined intervals and pings its Friend node to check for any pending messages. After communication with the Friend Node, the Low-Power Node goes back to a low-power sleep state. This is a useful feature for applications that operate on a battery. Applications such as sensor nodes in the home automation, price tags in a retail outlet, etc., can benefit from the Low-Power Node feature.
A node with the Friend feature will listen for any messages that are relayed in the network and intended for an associated Low-Power Node. The Friend node will store these messages and deliver them to the associated Low-Power Node when the Low-Power Node wakes and queries the Friend node. Since the Friend Node needs to store messages for one or more Low-Power Nodes, the Friend Node may require more memory than other node types. The amount of memory required is dependent on the amount of data/commands required to be stored on the Friend node that will be communicated to the Low-Power Node during a polling operation.
The Proxy feature allows devices, such as a smartphone or a Wi-Fi-Bluetooth Mesh gateway, to communicate with the Mesh network. A node with the Proxy feature is the entry point into the Mesh network for those devices that don’t directly support Bluetooth Mesh. In the Bluetooth Mesh network, messages are relayed over the advertising bearer. The Proxy feature allows a node to relay messages between the GATT (General ATTribute) and advertising bearers. In a Bluetooth Mesh network, multiple nodes can support the Proxy feature. Any node that supports the Proxy feature can act as the interface for a smartphone/PC over a GATT connection. Having multiple Proxy nodes is a good idea so that if one Proxy node goes down, this does not isolate the entire network from Proxy devices. This feature makes Bluetooth Mesh more robust compared to other Mesh technologies such as ZigBee.
In a Bluetooth Mesh network, Provisioning is the process of adding a new node to a network. Provisioning requires several steps to ensure that unintended devices are not provisioned to the network. A device that is unprovisioned will send beacons at a predetermined interval. A Provisioning device will initiate the provisioning process once the unprovisioned device is found and selected. In the example shown in Figure 1, the Smartphone and the Tablet act as the provisioning devices in the network.
As per the Bluetooth specification, not all nodes are mandatory. In other words, a device can be Bluetooth Mesh qualified without supporting all node/feature types. Most commonly, silicon vendors do not support Bluetooth SIG-qualified Friend and Low Power Node features. That makes it difficult to support battery-powered Bluetooth Mesh applications.
To find which Bluetooth Mesh Node/Feature types are supported by a Bluetooth Mesh device, go to the Bluetooth SIG website and click on ‘Find a Product’. Then enter the product for which you want to know the supported node/feature types.
For example, if you want to look for supported node/feature types on a Cypress Bluetooth Mesh Module CYBT-413034-02, enter that in the product search and it will show the Declaration ID, QDID, Company, Products, Specification Name and Listing Date for the product. Click on the Declaration ID i.e. D040142 in this case. This page provides the list of supported Layers by the device. There, click on ‘View ICS Details’. This will show the list of core protocol layers, and Profile and Services. You can click on each of those to learn which features are supported. If the Mesh profile is supported, it would be listed under Traditional Profiles.
Now, click on MESH (Mesh Profiles). This provides the list of Roles and Versions and, Node Role Requirement and if the feature is supported. As we were looking for details on CYBT-413043-02, the following screenshots from the Bluetooth SIG website show this module supports both Node and Provisioner roles as listed under Roles (see Figure 2). It also supports the Relay feature as shown under Network Layer capabilities (see Figure 3). The Friend and the Low-Power Node features are supported as shown under Upper Transport Layer capabilities (see Figure 4). The proxy feature is supported as shown under Proxy capability (see Figure 5).
Though this device supports all these node feature types, it is worth noting that as per comments, most of these node types are optional. For example, Relay, Friend and Low Power Node features are optional if Advertising Bearer is supported. But, for an efficient Bluetooth Mesh network, all these feature types are needed.
click for larger image
Figure 2: Roles and versions for a specific product are shown on the Bluetooth SIG website. In this case, the product supports both Node and Provisioner roles. (Source: Cypress)
click for larger image
Figure 3: The Bluetooth SIG website also shows the node role capabilities for a specific product. In this case, the product supports the Relay feature. (Source: Cypress)
click for larger image
Figure 4: The Friend and the Low-Power Node features are supported by this product as shown under Upper Transport Layer capabilities. (Source: Cypress)
click for larger image
Figure 5: The proxy feature is supported as shown under Proxy capability. (Source: Cypress)
You can also watch Learning More about Bluetooth Mesh video for more information on Bluetooth Mesh node and feature types and how to get started with a Bluetooth Mesh design.
In the next article in this series, we will talk about how communication happens in the Bluetooth Mesh network and various concepts like Mesh models that make products interoperable in each application segment.
Sachin Gupta is Product Marketing Manager at Cypress Semiconductor. He has more than 11-years of experience in product marketing and applications engineering roles. He has managed USB Type-C, Wi-Fi, Bluetooth, SoC and FPGA products in his product marketer roles. He can be reached at firstname.lastname@example.org.
Santhosh Vojjala is currently working as Principal Applications Engineer at Cypress Semiconductor. He has 11+ years’ experience in managing and developing world class connectivity (IoT), touch screen and embedded systems solutions for world wide customers. He can be reached at email@example.com