Transferring the provisioning capability to a Mesh Node

I wanted to know that is it possible to transfer the provisioning capability to a member node, if mesh provisioner is removed?

Thanks,

Sanket

  • Hi,

    You can have multiple provisioners in a network, yes. If you store the configuration database (CDB) somewhere safe, you should be able to restore the network information on a new device. For our nRF Mesh smartphone application, you can export and import the CDB directly. For this, the app uses a json format defined by Bluetooth SIG. For nRF devices you must use the CDB API in nRF Connect SDK and implement import/export functionality for everything yourself, as we do not provide full direct CDB import/export functionality in nRF Connect SDK.

    Regards,
    Terje

  • Hi Terje,

    I don't want to have multiple provisioners. What i want to do is if provisioner gets removed then one of node member become provisioner. And all will be nRF devices even the provisioner.

    Regards,

    Sanket

  • Hi,

    The provisioner holds the configuration database (CDB), with the device key for each device on the network, as well as the network key (or network keys in case of several subnets.) Bluetooth Mesh is secure by design, in not distributing the whole CDB to each and every node in the network. The way to get redundancy, is to either have multiple provisioners (and share the CDB between them) or to back up the CDB off network (e.g. through a gateway, storing it to a mobile device, and/or storing it to cloud.) In order for a new node to take over, that CDB must be stored somehow in the mean time.

    Please note that in Bluetooth Mesh, the network will work regardless of the presence of a provisioner. The provisioner (or to be exact, any device acting as configuration manager,) is needed for configuring the network. A provisioner is needed for including new devices into the network. Other than that, the network can operate on its own for long periods of time. If you back up the information from the CDB of the current provisioner, at a regular basis, then that backup can be used to let a new provisioner take over at a later point in time.

    If all of your nodes are equipped with the needed functionality, then all of your nodes could take over the role as provisioner at any time. Please note that the method for sharing the CDB is outside the scope of the Bluetooth Mesh specification, and we do not have an implementation for that in our SDK. You are free to implement this sharing of CDB the way you see fit, which could be for instance to use the JSON format specified by Bluetooth SIG and transfer the data over the binary large object transfer methods provided in Bluetooth Mesh.

    I think there is definitely a solution to your use case, although it may be slightly different from what you originally envisioned. The main point is you need to get the CDB from the old provisioner (before it disappears) and put it into the new provisioner as needed. A transfer of the provisioner role from one device to another is definitely possible, given the proper implementation.

    Regards,
    Terje

Related