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

[SDK Mesh 0.9.2 Alpha] [nRF52832] Is it possible to sleep/reconnect without repeated provisioning?

I want to use several sensors that makes a measurement send the data to server (same as provisioner) and fall asleep. Wake up after 20 minutes and process repeats. Does all sensors need to be provisioned again by provisioner after wake up? Is there any possibility to skip provisioning (save the static keys in flash?)?

  • Hi Godmode,

    No, provisioning only needed once. Provisioning and configuration data are already stored in flash by default. Please check if PERSISTENT_STORAGE set = 1 in nrf_mesh_config_core.h

  • Yes it is set. I have had a problem with this setting but that is the other story. Do I understand correctly that provisioning is only needed once to deploy the keys from provisioner/client to servers (light control example) and then after power cycle or sleep provisioner is not needed anymore? If so can I store generated keys and flash them on production stage and skip provisioning?

  • It is correct, you can do that. As far as you can make sure there won't be any conflict on the address distributing.

    Provisioner/Configuration client is still needed when you want to do Key Refresh, or re-configure subscription/publication addresses.

  • Background: I want to make a network of about 50-100 measurements device's (servers) and one device (client) that gathers all the data. It is possible that some device's will run out of battery, so power ups and downs are possible. All devices make measurements in seconds and fall to sleep for 15 minutes. The best would be if all the devices would have static keys, static subscription and publication addresses. As far as I understand reading "Mesh Profile" chapter 3.10.4 "Key refresh procedure" I don't need that feature even If my device will go down It will be powered up later with same credentials. Subscription/publication addresses won't change. 3.10.5 "IV Update procedure" do not need the provisioner as long as device is not out of network longer than 48 weeks. Is it correct for above scenario that I can flash everything and skip provisioner? @Hung Bui Thank you for your answers!

  • Seems like you are trying to do Low Power Node without Friend node.

    The problem of this solution is that, if all devices most of the time stay in sleep mode, who will relay the data ? You would need a number of nodes which provide full coverage to act as relay nodes.

    Also this is only when your data is on single direction, from the server to client, if you want to query data/command from a node, and it's sleeping, you won't be able to cache the packet for it when it is waking up.

    Other than that it should work fine, you can hard code configuration&provisioning and let the devices work out of the box.

Related