Is there any way to evaluate the addresses of all mesh network nodes in the nRF51-ble-broadcast-mesh project and send it to the "master device"? I am working against sdk-8-support branch.
Is there any way to evaluate the addresses of all mesh network nodes in the nRF51-ble-broadcast-mesh project and send it to the "master device"? I am working against sdk-8-support branch.
Hi! There is no built-in way to do this, but you could run your own solution on top of it.
First off - do you mean the BLE-advertisement address of each device, or are you referring to mesh-handles as addresses?
If you mean advertisement addresses, you need to be a bit careful. Reporting these addresses to some master device on a single handle would cause conflicting handle-version-data tuples, and some of your devices would get the conflict-event. This can be a really tricky problem to resolve correctly.
For similar issues (like this one), we've recommended assigning one handle per device (randomly, or by some managed scheme), and only have that device sending on that handle. This removes any chance of version-conflicts in the mesh, and your message transfers would be a lot more likely to succeed. This way, you can have each device transmit their own advertisement address on their assigned handle, and you wouldn't have any conflicts. You would have to be a bit careful though - if you send too many packets on too many handles at once, you might over-saturate the mesh, and risk losing some of the packets. This could be solved by increasing the cache size in each device or find a way to keep your devices from transmitting their address at the same time.
Hi! There is no built-in way to do this, but you could run your own solution on top of it.
First off - do you mean the BLE-advertisement address of each device, or are you referring to mesh-handles as addresses?
If you mean advertisement addresses, you need to be a bit careful. Reporting these addresses to some master device on a single handle would cause conflicting handle-version-data tuples, and some of your devices would get the conflict-event. This can be a really tricky problem to resolve correctly.
For similar issues (like this one), we've recommended assigning one handle per device (randomly, or by some managed scheme), and only have that device sending on that handle. This removes any chance of version-conflicts in the mesh, and your message transfers would be a lot more likely to succeed. This way, you can have each device transmit their own advertisement address on their assigned handle, and you wouldn't have any conflicts. You would have to be a bit careful though - if you send too many packets on too many handles at once, you might over-saturate the mesh, and risk losing some of the packets. This could be solved by increasing the cache size in each device or find a way to keep your devices from transmitting their address at the same time.
How can we then get all the handle addresses stored on the device?