Is the BLE mesh light switch example of a server and client model the correct implementation for our product?
Our product will include from one to ten devices. For a customer who purchases one, there would be no inter-device communication. In the case of two, the devices will have to somehow negotiate which device will play the role of provisioner and which will play the role of server.
It is unknown apriori which device or number of devices are turned on at any given time. What technique would you suggest such that the devices can negotiate to determine which device should play the role of provisioner? Is it necessary to have one device be a fixed provisioner, or is it possible that all devices can start up in an unknown state such that no devices are either a provisioner or a server, and through negotiation they can figure it out? Can the provisioner function be turned off? How do you propose the system re-negotiates a new provisioner?
Our solution involves a) all devices begin as servers b) due to the nature of their being on, one will time out first and not being connected to any network will become the provisioner of the network. Is this logic consistent with mesh implementations or is their a better solution we can consider?