nRF5 SDK for Mesh v5.0.0
Provisioning

Provisioning is the process of providing new devices in the Bluetooth mesh network with the information they need to join a network. To become a node and participate in the Bluetooth mesh communication, each device must be provisioned.

From the provisioning perspective, a device can be of one of the following types:

Only one provisioner is required within a network for provisioning purposes, though several provisioners can be used.

As part of the provisioning process, the provisioner and the provisionee establish communication on a provisioning bearer layer. The layer enables the transportation of Provisioning PDUs between a provisioner and an unprovisioned device.

The nRF5 SDK for Mesh offers provisioning with one of the following two bearers:

To perform provisioning of a device that is located outside of the provisioner's radio range, you can use the Remote provisioning (PB-remote) feature.

The APIs related to the provisioning process are independent of the underlaying bearers. See Implementing provisioning for information about how to use provisionings APIs in the user application.

Provisioning bearers in the nRF5 SDK for Mesh examples
The nRF5 SDK for Mesh examples use by default one of the two provided bearers. For more information, see the Examples main page.

Check the official Bluetooth mesh glossary for definitions of the most important mesh-related terms used in this documentation.


Information sent during provisioning

During the provisioning process, the new unprovisioned device receives the following elements:

Additionally, a device key is computed at the end of the provisioning process. The device key is a special key only used for private communication between the provisioner and the provisionee (for example, when the device is being configured after provisioning). It is derived from a shared secret established between the devices using an Elliptic Curve Diffie-Hellman (ECDH) protocol.


PB-ADV bearer

This bearer is used to exchange the provisioning PDUs over the advertising channels. This bearer can be natively supported by the Nordic BLE devices (acting as Provisioner or Provisionee), and may be supported by the tablets or computers (acting as Provisioner).

It is recommended to always support this bearer, unless it not possible due to application-specific constraints.

To enable this bearer, set MESH_FEATURE_PB_ADV_ENABLED to 1.

Note
This bearer can be disabled if not required. Moreover, it is independent of the advertising bearer (ADV) used for the Bluetooth mesh communication once the device is provisioned.

This bearer is enabled by default for most of the examples in the nRF5 SDK for Mesh. For more information, see the Examples main page.


PB-GATT bearer

Many mobile computing devices and computers have limited support for sending Bluetooth mesh packets on the advertisement channels in accordance with the Bluetooth Mesh Profile Specification (MshPRFv1.0.1). For these cases, GATT-based bearers are defined.

The PB-GATT bearer is used to exchange the provisioning PDUs using Bluetooth mesh Provisioning Service. This bearer can be enabled on the provisionee devices to provision them using mobile applications.

To enable this bearer, set the following defines to 1:

Note
It is mandatory to support this bearer if the GATT bearer (Proxy Service) is supported by the device. For more information, see GATT provisioning and Proxy.

Documentation feedback | Developer Zone | Subscribe | Updated