NRF52840 OTA for central and peripheral.

Hi All,

           I am using NRF52840 in my project. The architecture of the project includes the following :-

There are 2 peripheral devices which are connected to the central device via BLE. The central device is connected to the WIFI module via UART. WIFI module has got internet connection and is connected to cloud. Now I have to do OTA for the peripheral devices and central device via WIFI module. The WIFI module will be receiving OTA packages from the server for all devices(peripheral and central. I have some questions below:-

1) The idea is to receive the OTA file through WIFI module via UART peripheral. Can we do OTA on central device via UART? 

2) The peripheral 1 & peripheral 2 also need to do OTA via WIFI module. The WIFI module will transfer the OTA file via UART to the central device and the central device will then have to send the OTA file via BLE to the peripherals. Can the peripherals perform OTA via Central device by BLE file transfers? 

3) How will the DFU OTA packages transferred in case 1 and 2? Do we have any better idea for this? While doing OTA upgrade via BLE through NRF connect app I saw that we need to give zip file of DFU package in order to do OTA. How will these zipped folders be transmitted via UART and BLE?

4) If there are any existing application or examples please share to me the details.

Thanks & Regards,

Snehal

Parents Reply Children
  • Hi,

    1) The idea is to receive the OTA file through WIFI module via UART peripheral. Can we do OTA on central device via UART? 

    This is possible but would depend on what you have on your wi-fi module. You would probably need to accept the image, store it in flash and then reboot to swap images. You would probably need to implement the side which sends the file.

    2) The peripheral 1 & peripheral 2 also need to do OTA via WIFI module. The WIFI module will transfer the OTA file via UART to the central device and the central device will then have to send the OTA file via BLE to the peripherals. Can the peripherals perform OTA via Central device by BLE file transfers? 

    This is similar to the first option where you could use BLE instead of UART.

    3) How will the DFU OTA packages transferred in case 1 and 2? Do we have any better idea for this? While doing OTA upgrade via BLE through NRF connect app I saw that we need to give zip file of DFU package in order to do OTA. How will these zipped folders be transmitted via UART and BLE?

    Transmission of images is possible via either mobile or PC app over BLE. Image would need to be segmented and transferred over the air. Verification would also be needed in the application before switching to bootloader for image swapping. 

    4) If there are any existing application or examples please share to me the details.

    Regarding examples, there are no official samples for sending side but for receiving side you could have a look at DFU Bootloader examples.  Additionally, there is a sample provided by my colleague - background DFU. Finally, there is documentation about DFU protocol.

    Best regards,
    Dejan

  • Regarding 3rd point..

    3) How will the DFU OTA packages transferred in case 1 and 2? Do we have any better idea for this? While doing OTA upgrade via BLE through NRF connect app I saw that we need to give zip file of DFU package in order to do OTA. How will these zipped folders be transmitted via UART and BLE?

    Transmission of images is possible via either mobile or PC app over BLE. Image would need to be segmented and transferred over the air. Verification would also be needed in the application before switching to bootloader for image swapping. 

    Can we transfer zipped folders from wifi module to central device via uart??? The DFU packages are seen to be compressed folders. How to do such transfers via uart??

    Thanks & Regards,
    Snehal

  • Hi,

    Communication via UART should be possible. We do not have any samples that could show you how to do this UART transfer. You would need to implement desired functionality yourself. For general information you could take a look at serial communication (UART) from NCS Fundamentals course. 

    Best regards,
    Dejan

Related