NordicSemiconductor / IOS-nRF-Toolbox

The nRF Toolbox is a container app that stores your Nordic Semiconductor apps for Bluetooth Low Energy in one location.
https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Toolbox
BSD 3-Clause "New" or "Revised" License
590 stars 205 forks source link

IOS-nRF-Toolbox

The nRF Toolbox is a container app that stores your Nordic Semiconductor apps for Bluetooth Low Energy in one location.

It contains applications demonstrating the following Bluetooth LE profiles:

Additionally, the HomeKit profile allows to switch a supported HomeKit device to DFU mode.

Device Firmware Update (DFU)

The Device Firmware Update (DFU) profile allows you to update the application, bootloader and/or the Soft Device image over-the-air (OTA). It is compatible with Nordic Semiconductor nRF5x devices that have the S-Series SoftDevice and bootloader enabled. From version 1.5 onward, the nRF Toolbox has allowed to send the required init packet. More information about the init packet may be found here: nrf util.

nRF Toolbox is using the iOSDFULibrary framework, available here: IOS-Pods-DFU-Library. The library is packaged with the project so no extra work is needed, if you would like to manually update it or modify it, it is bundled via cocoapods so a simple pod update will handle updating the library for you.

The DFU profile has the following features:

Secure Device Firmware Update (Secure DFU)

The Secure Device Firmware Update (Secure DFU) profile allows you to securely update your Nordic Semiconductor nRF5x S-Seriese devices. This works by verifying that your firmware files are signed by the vendor that released the code and has not been tampered with, also this means that the peripherals will only accept updates from the intended developers and reject any firmwares that are not properly signed with the matching key.

As an applications developer, the frontend for the DFU Library is agnostic of the DFU protocol in use, so there are no changes to be done on the mobile application's side to support Secure DFU.

Requirements

Resources