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

Negotiating which device will act as provisioner

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?

Parents
  • Hi Michael,

    Bluetooth Mesh doesn't have a concept of flexible provisioners. There isn't a defined way on how to promote a device to be provisioner or when to switch role, etc.

    What we would suggest is to have a button on the device that you can switch to ON to enable provisioner role on the device. If having a physical button could be a problem, you can think of using BLE (a phone) to set the command to the device.

    Ideally it's the phone who should be the provisioner, however it's not supported for now. You would need to define proprietary GATT protocol on the phone to do provisioning via a node. I have an example of GATT+Mesh here (no provisioning though).

    Do what you proposed also possible, but it won't guarantee that a device wouldn't accidentally enter provisioner mode if there is interference or range that blocks the provisioning beacons and then we end up having 2 or more independent provisioners (meaning 2 or more different networks).

Reply
  • Hi Michael,

    Bluetooth Mesh doesn't have a concept of flexible provisioners. There isn't a defined way on how to promote a device to be provisioner or when to switch role, etc.

    What we would suggest is to have a button on the device that you can switch to ON to enable provisioner role on the device. If having a physical button could be a problem, you can think of using BLE (a phone) to set the command to the device.

    Ideally it's the phone who should be the provisioner, however it's not supported for now. You would need to define proprietary GATT protocol on the phone to do provisioning via a node. I have an example of GATT+Mesh here (no provisioning though).

    Do what you proposed also possible, but it won't guarantee that a device wouldn't accidentally enter provisioner mode if there is interference or range that blocks the provisioning beacons and then we end up having 2 or more independent provisioners (meaning 2 or more different networks).

Children
No Data
Related