Bluetooth Mesh Device Firmware Update Example Walkthrough#
NOTE: This section replaces AN1370: Bluetooth Mesh Device Firmware Update Example Walkthrough. Further updates to this application note will be provided here.
The Bluetooth mesh SDK comes with example projects that have the Bluetooth Mesh Device Firmware Update feature enabled to perform firmware updates in a Bluetooth mesh network. The examples assume use of Silicon Labs devices for the distributor node and the nodes whose firmware is to be updated, and the Silicon Labs Bluetooth mesh mobile app as the provisioner and initiator. This document describes the bootloader configurations and the firmware update models in the example projects, and walks through a firmware update demonstration.
The Bluetooth Mesh Model specification v1.1 defines a standard way to update device firmware over a Bluetooth mesh network. The device firmware update process typically requires three types of nodes involved: Initiator and Distributor nodes, as well as the nodes to be updated, called Target nodes. These roles are fulfilled by enabling the Firmware Update and BLOB Transfer models:
Firmware Distribution Client
Firmware Distribution Server
Firmware Update Client
Firmware Update Server
BLOB Transfer Client
BLOB Transfer Server
To understand the basics of the Bluetooth Mesh Device Firmware Update specification, see Bluetooth Mesh Device Firmware Update.
This document explains the Bluetooth mesh examples, installed as part of the Bluetooth Mesh SDK, running as the Distributor and Target nodes, and the Silicon Labs Bluetooth Mesh mobile app running as the Initiator. Bootloader Configurations for Firmware Updates describes the bootloader examples that are an essential program to boot up a Silicon Labs device and to update firmware on the device. Firmware Update Examples and Models discusses the models required for running the Distributor and Target nodes, and how to create an update image archive. Firmware Update Demonstration walks through a firmware update demo using the Silicon Labs Bluetooth Mesh mobile app, the Distributor example, and other Bluetooth mesh examples as Target nodes.
Requirements#
The following is required to run the DFU examples.
At least two mainboards with a supported board installed, one used for the Distributor and the other(s) for the device firmware update target(s).
Gecko SDK Suite 4.2.2 (Bluetooth Mesh SDK 4.2.0) or later. The bootloader and DFU examples are included in the SDK.
Silicon Labs Bluetooth Mesh Mobile Application
Used for discovering and provisioning devices.
Includes network, group, and publish-subscribe setup.
Allows device configuration for Device Firmware Update.
Example projects and additional code development can be done with GCC (supplied with Simplicity Studio 5), IAR EWARM, or command line tools.