How do I know the network ID of my client and servers when using static provisioner?

As stated in the title.

I am using nrf52832 provisioner example with light_lightness example in v4.2.0. Provisioner is able to set up the network with clients and servers properly. However, if I have 2 provisioners, how do I differentiate which servers & clients are provisioned by? Can it be identified by RTT Viewer log?

And can I modify the network ID?

Parents Reply Children
  • Hi,

    Keep in mind that this would require some filtering somehow in the static provisioner which isn't there now, to be able to decide which application/subnet to use for each unprovisioned device. As it stands now, the provisioner is extremely dumb and provisions all nodes with the same URI in the same way.

    To do this with app keys, the easiest way would be to

    1. Add another appkey to m_nw_state

    2. Initialize this appkey in prov_helper_provision_self , as well as add it to the provisioner in the same function

    3. Somehow filter the devices as they get picked up, and provide the correct app key for each configuration round. This is not trivial, but I'd suggest trying to do the filtering in the case NRF_MESH_PROV_EVT_LINK_CLOSED: of static void prov_evt_handler in provisioner_helper.c, using the correct key pointer in the call to node_setup_start on line 220.

    Like already mentioned many times in this thread, this is out of its original purpose and not something we recommend doing. If you insist on using the static provisioner this way then you have to keep in mind that we do not have the resources to provide support with the issues that will appear (when bending the example out of its original purpose) and that you will be on your own.

Related