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

Implementing DFU OTA for beacon

Hi Nordic,

I am trying to extend DFU feature to my beacon application. Please help me with how to go about it. I went through the given tutorials on DFU/OTA, but I haven't got a clear idea on how to implement it for beacon.

Also I have a doubt..

Is DFU code snippet alone, enough for the beacon application, or is it to necessary to add the device manager snippets too, as given in of the peripheral examples?

Parents
  • I did a quick test, seems to be working without Device Manager. I just skipped calling dfu_app_dm_appl_instance_set() after removing Device Manager.

    Here is my main.c, can be used with the ble_app_hrs dfu example.

    The first step is to see add the DFU service and get it to appear in nRF Connect.

    You need a trigger. You need a way to tell the application that it should go into bootloader mode. This is typically done by a button, or you can go buttonless by using DFU service. The DFU service can only be accessed in a connection.

    You can implement buttonless DFU in a beacon application, but then it must be connectable. A beacon is typically not connectable, only advertises.

  • This is obviously a mistake, but typically you would bond and share this bond information between application and bootloader, and then you would need the device manager. It is probably why the documentation mentions this, anyways, it is not correct.

    Which compiler are you using? Could you explain a bit more about how you are implementing this conditional compilation?

Reply Children
No Data
Related