This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

OTA DFU protocol, using SMP BLE service (instructions for mobile app developers)

Hi,

I have implemented BLE OTA DFU using SMP service (I integrated SMP sample)  on nRF25833. Version of NCS: 1.8.0.

I have tested it with nRF Connect mobile app and it works great. 

I update the device's firmware by selecting DFU tab in nRF Connect mobile App and by selecting the app_update.bin. After that I select the TEST AND CONFIRM button, after which the update process begins.

My question:

Is there any documentation that describes DFU SMP protocol so App developers can implement DFU into our app (for Android and iOS).

Are there tools or any other documentation that may help them to implement it or better understand how to update firmware with app_update.bin file?

The documentation I found:

DFU BLE protocol for sdk 17.0.2 : Describes Secure DFU Service (Not SMP service), it also describes BLE protocol but I am not sure that same protocol is used for DFU using SMP Service.

I also found this repository: GitHub - NordicSemiconductor/Android-DFU-Library: A library with DFU feature for Android 4.3+.   I guess this one is most meaningful for App developers, but is it compatible with SMP service.

Best Regards,

Zarko

Parents
  • Hello,

    As it says in the readme of the github that you linked to, for nRF Connect SDK (NCS), you should use this:

    https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager

    Which is compatible with the SMP service. 

    In addition I guess that the old but thrustworthy nRF Toolbox is also an option (which also supports NCS). But without having checked it out, I guess it is just a larger app using the nRF Connect Device Manager library. (link to github for both iOS and Android) to the top right.

    Other than that, I don't think that we provide much documentation for the SMP service. It is not really a service that we designed or maintain, but it is a bootloader written by Zephyr, that we use in our nRF Connect SDK. Give either of them a go, and see if they can help you get started. If not, the last place that I can think of is to look into the implementation of mcumgr, which is a computer tool that you can use with the SMP service. 

    Best regards,

    Edvin

Reply
  • Hello,

    As it says in the readme of the github that you linked to, for nRF Connect SDK (NCS), you should use this:

    https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager

    Which is compatible with the SMP service. 

    In addition I guess that the old but thrustworthy nRF Toolbox is also an option (which also supports NCS). But without having checked it out, I guess it is just a larger app using the nRF Connect Device Manager library. (link to github for both iOS and Android) to the top right.

    Other than that, I don't think that we provide much documentation for the SMP service. It is not really a service that we designed or maintain, but it is a bootloader written by Zephyr, that we use in our nRF Connect SDK. Give either of them a go, and see if they can help you get started. If not, the last place that I can think of is to look into the implementation of mcumgr, which is a computer tool that you can use with the SMP service. 

    Best regards,

    Edvin

Children
No Data
Related