NordicSemiconductor / Android-nRF-Mesh-Library

The Bluetooth Mesh Provisioner and Configurator library.
https://www.nordicsemi.com/
BSD 3-Clause "New" or "Revised" License
414 stars 177 forks source link

Identify a provisioned device when in DFU #428

Closed Mavericksb closed 2 years ago

Mavericksb commented 3 years ago

Hello, I'm using SDK 3.1.5. Let's say I have a mesh network with 3 nodes and I want to update the firmware of a "specific" previously provisioned Mesh Node. How can I discriminate which one of those 3 devices has been put in DFU ?

In other words, apart form storing the mac address of a device somewhere on a local DB, how can I match the device put in DFU with the device I want to update ? Is there any method ? The ones I found use serviceData advertised by the node. But since the device has been already provisioned I see that when I put the device in DFU it send a a serviceData array of 9 bytes (network ID) and not of 18 bytes (device UUID) that is advertised if the devices is not yet provisioned .

Thank you.

roshanrajaratnam commented 3 years ago

I guess it depends on your DFU implementation?

roshanrajaratnam commented 2 years ago

Hi, have you implemented DFU yourself? The UUID is advertised only when the device is unprovisioned. As of now you will have to connect to the node directly and do DFU!