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?

  • Hi,

    You can differentiate by their network ID. A network ID is a unique, public identifier derived from a Network Key. The network ID is included in the header of the messages sent by the example (after provisioning). 

    What do you mean by modifying the network ID?

  • Hi, thank you for your reply.

    What do you mean by modifying the network ID?

    I want to manually change the network ID so that it is easier for me to know which servers are joined to which network.

    For now I've got 2 clients, A and B and 5 light_lightness servers. At first, i joined first 2 servers to client A, then I joined next 2 servers to client B. When I join the last server to client A, the last server was configured to a new network instead of to client A. My guess is that if I can manually change the network ID when provisioning, I will be able to control which network the servers are able to connect to. So how do I go about doing it?

    Also, can i confirm that the Network Key is stated in node_setup.c or main.c?

    Again, thank you for your time.

  • Hi, it's been 2 days since I asked the question. Is there no solution to this??

  • Hi,

    Sorry for the late response.

    Can you give more details on what you are trying to do here? Do you really in need of two independent networks? Having two different provisioners and two different networks might not be the solution here. You shouldn't often be in a situation with multiple provisioners being able to be confused about which nodes are provisioned onto which network.

    Also note that the static provisioner works in a fixed and predefined way. It has its own limitations and is mainly provided as a quick way to demonstrate all the other examples of the ecosystem, not really meant for production deployment. Often you would a use a computer(something like Interactive PyACI) or a mobile app(like the nRF Mesh app for mobile(iOS/Android)) as a provisioner.

  • Hi, thanks for answering.

    I just want to use a single provisioner to configure the different networks, hence I want to know where the network ID is stated in the static provisioner example so that I can manually change it.

    Is it possible?

Related