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

Mesh OTA DFU: How do you send the .zip file containing the DFU from Android OTA to the mesh?

Dear Mesh Experts,
 
Allow me to briefly explain the project:

  1. The firmware contains a generic level server model and the code from the mesh DFU example. It is running on an nRF52832 with SoftDevice 7.2.0, a matching bootloader and device page. (Please note that we're talking about a BLE mesh.)
  2. The app is written in Flutter. Provisioning, unprovisioning, connecting, getting and setting values... It all works fine.
  3. A DFU-zip-file containing an updated application has been created as explained at Configuring and performing DFU over Mesh.

So far, so good. The question is, what needs to be done to perform the background firmware update? The workflow I'd like to implement looks roughly like this:

  1. The Flutter app connects through a proxy node to the mesh.
  2. The app uploads the DFU-zip-file OTA to the proxy node it is connected to.
  3. The proxy node just forwards the DFU-zip-file into the mesh.
  4. All matching nodes (which includes the sending proxy node) receive the DFU-zip-file from the mesh and happily update themself.

Sounds simple, the questions are:

  • How do you send the DFU zip file from the app to the connected proxy node (OTA)?
  • Once the proxy node received some part of the data, how do you broadcast it into the mesh?
  • Or..., do you have any better ideas how to implement it?

 Your advise is very much appreciated. Thank you, and all the best for 2021!

  • Hi Amanda,

    That's interesting. So, to summarize the current state of the Mesh DFU:

    1. To use Mesh DFU, the new firmware must be provided by serial line.
    2. There is currently no api to provide a new firmware for a Mesh DFU through a proxy node.
    3. For pure OTA DFU, BLE is basically the only options.

    It sounds like the use cases for Mesh DFU are rather limited...
    Anyway, thanks for the detailed clarifications. I'll migrate to BLE DFU.

Related