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

BLE mesh and FOTA upgrade

I am working with nRF Connect SDK using an nRF52840 DK. And I want to realise both BLE mesh and FOTA upgrade. FOTA upgrade example SMP Server Sample works properly for Bluetooth Low Energy (without any mesh). And now I want to integrate this FOTA upgrade into BLE mesh application. Please, tell me, how can I do it in the best way?
I had some attempts to realise it, however I faced some difficulties. I don't know how to stop mesh advertisement, which started by bt_mesh_prov_enable, and run ordinary BLE advertising by bt_le_adv_start. bt_le_adv_stop and bt_mesh_prov_disable didn't stop mesh advertisement, since calling bt_le_adv_start function after them returned EALREADY error code. As I think, I could merely set a flag to upgrade (after pressing a button or some command) and reboot microcontroller, and depending on this flag run the FOTA upgrade sample. But I think that there's a more straightforward way to realise this functionality. Can you explain to me how to merge BLE mesh example and FOTA upgrade properly?

Parents
  • Hi,

    Sorry for the late reply. I spoke to one of our developers about this and it seems like this isn't supported, unfortunately.

  • Thanks for your reply! It sounds frustrating.

    But is it possible to stop BLE mesh advertising and run ordinary BLE advertising by some trigger kinda a button or a command? Do you want to say that it's impossible to realise? Why doesn't bt_mesh_prov_disable function stop BLE mesh to allow me to run bt_le_adv_start after it and advertise SMP Service with UUID 8D53DC1D-1DB7-4CD3-868B-8A527460AA84 and etc.? And is it an appropriate workaround to reboot the microcontroller with running BLE mesh and run usual FOTA upgrade after it without BLE mesh? It won't be FOTA upgrade through BLE mesh, certainly, rather it will be direct BLE connection and upgrade.

    I merely thought that others realised the same functionality and it's a typical problem, which already was solved. That's why I would like to know the best practice how to realise FOTA upgrade in the case of BLE mesh.

    How is it expected to realise FOTA upgrade of microcontrollers within a BLE mesh?

Reply
  • Thanks for your reply! It sounds frustrating.

    But is it possible to stop BLE mesh advertising and run ordinary BLE advertising by some trigger kinda a button or a command? Do you want to say that it's impossible to realise? Why doesn't bt_mesh_prov_disable function stop BLE mesh to allow me to run bt_le_adv_start after it and advertise SMP Service with UUID 8D53DC1D-1DB7-4CD3-868B-8A527460AA84 and etc.? And is it an appropriate workaround to reboot the microcontroller with running BLE mesh and run usual FOTA upgrade after it without BLE mesh? It won't be FOTA upgrade through BLE mesh, certainly, rather it will be direct BLE connection and upgrade.

    I merely thought that others realised the same functionality and it's a typical problem, which already was solved. That's why I would like to know the best practice how to realise FOTA upgrade in the case of BLE mesh.

    How is it expected to realise FOTA upgrade of microcontrollers within a BLE mesh?

Children
No Data
Related