Bluetooth Low Energy 5 Mesh (BLE 5 Mesh) is a protocol for linking multiple devices together into a network that is able to share data between various endpoints and even outside of the network. At a basic level, there are four primary types of nodes, which are devices that are configured to have different abilities. These include relays, which pass messages on to other nodes, lower power nodes that only become active when they have data to give, friend nodes that request to join a network and then pair, and finally, proxy nodes, which are able to connect to networks outside of the BT mesh, such as a WIFi access point.
Bluetooth 5 Mesh comes with newer features that make it much more powerful and versatile than previous iterations. Some of these facets include Angle of Arrival, increased range and bandwidth, and Angle of Departure. This makes it excellent for use in industrial applications, such as asset tracking and management.
Cypress recently debuted their lineup of BLE 5 Mesh-capable boards, which all feature their new CYW20819 module, which features one of the smallest footprints in the industry and supports Bluetooth 5 BLE, Basic Rate (BR), and Enhanced Data Rate (EDR). The MCU is an ARM Cortex-M4 clocked at 96MHz, and contains 1MB ROM, 256kB of On-Chip Flash, and 176kB of RAM.
The BLE Mesh software stack is very complex, and therefore building networks with it can be a challenging task. However, Cypress has an IDE called the Modus Toolbox that integrates support for several SDKs, Board Support Packages (BSPs), and debugging tools, all while being based on the Eclipse IDE. The WICED SDK is a collection of packages for IoT connectivity, including the Bluetooth stack and several device layers and abstractions.
As mentioned earlier, the Bluetooth Mesh specification has four primary types of nodes, that can send and/or receive data and perform different functions within the group. Within Modus Toolbox, there are two tools for provisioning new devices. They can scan an area for unprovisioned devices, configure them, add them to your network, and then view data. There is also a debugging tool that is able to capture cross-network traffic and display it, which makes figuring out some undiagnosed network issues a breeze.
As with any IoT application, security should be integrated from the start, not just an afterthought. Bluetooth mesh has an inherent advantage in that the number of attack vectors can be greatly limited. Rather than connecting each device to a WiFi access point, only one or even none can be required. Because WiFi gateways are optional, firmware and data can be passed only within the local network and to a phone or other Bluetooth-enabled device. Bluetooth devices also contain several keys that are exchanged upon provisioning. This can prevent replay attacks and also lets devices get removed securely, which prevents “trashcan attacks” (where old, working keys are reused).
Gateways for the network are able to communicate via multiple protocols. Imagine wanting to use a phone or remote server to modify the state of device nodes within a network. The WICED SDK adds support for a WiFi stack, enabling an additional WiFi modem. The gateway could also be used to talk to BT 5 devices that might not support the LE spec, letting some laptops and phones communicate with the network.
Bluetooth mesh networking is a great way to connect multiple devices in a secure way without the need for a central access point. Cypress’ CYW28019 module enables for the creation of small, low-power devices for primarily industrial uses.