This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Remote provisioning from all devices on the mesh

I am using mesh SDK v4.2.0.

I read the documentation of the remote provisioning example (pb_remote) and took look at the code.

My first feeling was that the remote provisioning in this example is done through a specific device on the mesh that implements the pb_remote_server and is chosen to start the process using the device that implements the pb_remote_client, most likely the provisioner device.

Before a detailed reading of this example, I thought the provisioner just flooded the mesh with provisioning messages and all devices repeated those messages and could add a new device to the mesh. While the provisioning data is indeed passed through the mesh as I expected to, only one specific device, the one chosen by the pb_remote_client, seems to be able to convey the message on the last jump to the new unprovisioned device.

How can the provisioner know beforehand the best device to choose as the final messager? Is it possible to activate many pb_remote_servers at the same time? Do we need to alternate which device is scanning for unprovisioned devices periodically? I think there might be many ways of doing this, so I am asking for advice, or correction if I understood something wrong.

Parents
  • Hi, 

    Sorry for the late reply. 

    You are correct, a specific remote provisioning server is used for actually provisioning each unprovisioned device. There is nothing stopping you from having a lot of these in the network however, possibly on every node. In addition, choosing the "best" server for provisioning a new device is not really neccessary, any device which picks up the unprovisioned beacon should do.

  • Hi,

    EAn said:
    Imagine we have more than one remote provisioning server. When one starts a provisioning/configuration session with an unprovisioned device that beaconed it. Would that unprovisioned device also be hearing and replying to other remote provisioning servers?

    Any unprovisioned device will have at most one provisioning link open at one time. I.e. the device will at some level "hear" the other servers, but it will open a link to at most one of them at a time and the actual provisioning process will only communicate between these two devices.

    EAn said:
    How would the original provisioner device handle the information of the other nodes being remotely provisioned by other remove provisioning server? For instance, we are using the nodes UUID as a sort of login identifier in our cloud gateway, is that info relayed back to the original provisioner?

    With remote provisioning, the pb-remote client is in charge of the actual provisioning and as such has access to all information normally available during e.g. provisioning over the advertiser bearer. The pb-remote server(s) and the rest of the mesh network only really exist to relay the messages for the provisioning process between the pb-remote client and the provisionee.

Reply
  • Hi,

    EAn said:
    Imagine we have more than one remote provisioning server. When one starts a provisioning/configuration session with an unprovisioned device that beaconed it. Would that unprovisioned device also be hearing and replying to other remote provisioning servers?

    Any unprovisioned device will have at most one provisioning link open at one time. I.e. the device will at some level "hear" the other servers, but it will open a link to at most one of them at a time and the actual provisioning process will only communicate between these two devices.

    EAn said:
    How would the original provisioner device handle the information of the other nodes being remotely provisioned by other remove provisioning server? For instance, we are using the nodes UUID as a sort of login identifier in our cloud gateway, is that info relayed back to the original provisioner?

    With remote provisioning, the pb-remote client is in charge of the actual provisioning and as such has access to all information normally available during e.g. provisioning over the advertiser bearer. The pb-remote server(s) and the rest of the mesh network only really exist to relay the messages for the provisioning process between the pb-remote client and the provisionee.

Children
No Data
Related