.. zephyr:code-sample:: lorawan-fuota :name: LoRaWAN FUOTA :relevant-api: lorawan_api Perform a LoRaWAN firmware-upgrade over the air (FUOTA) operation.
An application to demonstrate firmware-upgrade over the air (FUOTA) over LoRaWAN.
The following services specified by the LoRa Alliance are used:
- Application Layer Clock Synchronization (TS003-2.0.0)
- Remote Multicast Setup (TS005-1.0.0)
- Fragmented Data Block Transport (TS004-1.0.0)
The FUOTA process is started by the application and afterwards runs in the background in its own work queue thread. After a firmware upgrade is successfully received, the application is notified via a callback and can reboot the device into MCUboot to apply the upgrade.
A LoRaWAN Application Server implementing the relevant services is required for this sample to work.
This sample can be found under :zephyr_file:`samples/subsys/lorawan/fuota` in the Zephyr tree.
Before building the sample, make sure to select the correct region in the prj.conf
file.
The following commands build and flash the sample.
.. zephyr-app-commands:: :zephyr-app: samples/subsys/lorawan/fuota :board: nucleo_wl55jc :goals: build flash :compact: