Remote provisioning (PB-remote) allows a provisioner to provision devices located outside of the provisioner's radio range. This is done by using Bluetooth mesh nodes to relay provisioning messages to a node within the range of the remote device that is to be provisioned.
The PB-Remote functionality is provided by the PB-remote client and the PB-remote Server models.
For more information about the PB-remote APIs, see the Remote provisioning APIs section and the PB-remote API group.
Table of contents
The following figure shows the complete remote provisioning process that starts once the PB-remote client and server are initialized and provisioned with the normal provisioning procedure, with both of them in the idle state.
The provisioning process is made of the following steps:
bearer_type
set to NRF_MESH_PROV_BEARER_MESH.The process ends with successful provisioning of an unprovisioned device, and with the return of the client and server devices to the idle state.
This section outlines the provisioning process phases you need to take into account to implement the PB-remote client and the PB-remote server in your application.
You can also check the PB-remote example for implementation details.
The PB-remote client model provides a remote provisioning bearer and a set of APIs for performing scanning using the PB-remote server.
To use the PB-remote client in your application, implement the following steps:
pb_remote_client_init()
.The PB-remote Server model provides a remote provisioning bearer and a set of APIs for performing scanning using the PB-remote server.
To use the PB-remote server in your application, implement the following steps:
The provisioning and scanning process is controlled by the peer PB-remote client and your application does not need to take any other action.