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

DFU over BLE mesh through mobile application

Hi,

I am using nordic nrf52832 module with BLE mesh SDK V2.2.0

I want to do DFU for application + softdevice without any serial connection through mobile app between BLE mesh network of 3 to 5 device.


1) Is it possible to do DFU without any serial connection which is mentioned in DFU quick start guide?

2) Does any android/iOS mobile application available for the DFU demo?

3) If yes, from where can I get the source code for firmware? In nrf5_SDK_for_Mesh_v2.2.0_src, not able to find the source code for DFU through mobile app and without serial connection.

4) Is there any guide to develop the DFU through mobile app?

5) Also there is mesh_bootloader_armcc_nrf52832_xxAA.hex and mesh_bootloader_serial_armcc_nrf52832_xxAA.hex under the directory nrf5_SDK_for_Mesh_v2.2.0_src/bin/bootloader/armcc. What is the difference between these two?

Parents
  • Hi Khushbu.

    1) At the moment this is not implemented in the bootloader, so this is something you have to implement yourself.

    2) We do not have any Android/iOS mobile application which supports this at the moment.

    3)  -----

    4) We do not have any guide to develop DFU through a mobile application at the moment.

    5)

    mesh_bootloader_serial_armcc_nrf52832_xxAA.hex have serial support.

    mesh_bootloader_armcc_nrf52832_xxAA.hex allocates pins to the UART.

Reply
  • Hi Khushbu.

    1) At the moment this is not implemented in the bootloader, so this is something you have to implement yourself.

    2) We do not have any Android/iOS mobile application which supports this at the moment.

    3)  -----

    4) We do not have any guide to develop DFU through a mobile application at the moment.

    5)

    mesh_bootloader_serial_armcc_nrf52832_xxAA.hex have serial support.

    mesh_bootloader_armcc_nrf52832_xxAA.hex allocates pins to the UART.

Children
  • Can you please describe more about 

    mesh_bootloader_serial_armcc_nrf52832_xxAA.hex have serial support.

    mesh_bootloader_armcc_nrf52832_xxAA.hex allocates pins to the UART?

  • Hi.

    I gave you some wrong information in my last answer, sorry about that.

    The file mesh_bootloader_serial_armcc_nrf52832_xxAA.hex, have serial support. This file can receive a DFU over serial communication, and then you can spread this file over the mesh network to other bootladers which does not have serial support.

    The file mesh_bootloader_armcc_nrf52832_xxAA.hex, this file has not serial support and does not allocate pins to the UART. It can only receive a DFU through the mesh network, and not over serial communication.

    Hope this clears things up.

    - Andreas

  • Hi,

    We are planning to update the mesh application of a proxy server on provisionee node which has already flashed with mesh bootloader "mesh_bootloader_armcc_nrf52832_xxAA.hex" and softdevice "s132_nrf52_6.0.0_softdevice.hex", we don't have any plan to update bootloader or softdevice for future, we only need to update application firmware.

    In my case, my mobile application is a provisioner role and if I understand correctly then We need to write service in provisioner mobile application which will push application firmware on the mesh network and all provisioned node will update with a new firmware.

    Please correct me if I misunderstood on the above point, and could you please give any suggestion from where we can start to explore for the mesh application firmware update from provisioner node.

  • Hi.

    You could do this through GATT, by adding a custom service which is able to receive the data in the mesh nodes. You could then pipe DFU-packets into the mesh stack by using nrf_mesh_dfu_rx(), which is found in nrf_mesh_dfu.h. You also need to have a matching service client in the mobile application.

    You cannot do this by advertisements in Android or iOS.

    - Andreas

Related