Device Update for IoT Hub agent overview
The Device Update agent consists of two conceptual layers:
- The interface layer builds on top of Azure IoT Plug and Play, allowing for messaging to flow between the Device Update agent and Device Update service.
- The platform layer is responsible for the high-level update actions of download, install, and apply that may be platform- or device-specific.
The interface layer
These interfaces rely on a configuration file for the device specific values that need to be reported to the Device Update services. For more information, see Device Update configuration file.
Device Update core interface
The Device Update interface is the primary communication channel between the Device Update agent and services. For more information, see Device Update core interface.
Device information interface
The device information interface is used to implement the
Azure IoT PnP DeviceInformation interface. For more information, see Device information interface.
Diagnostic information interface
The platform Layer
The Linux platform layer integrates with Delivery Optimization for downloads and is used in our Raspberry Pi reference image, and all clients that run on Linux systems.
The Linux platform layer implementation can be found in the
src/platform_layers/linux_platform_layer and it integrates with the Delivery Optimization client for downloads.
This layer can integrate with different update handlers to implement the
installers. For instance, the
SWUpdate update handler,
Apt update handler, and
Script update handler.
If you choose to implement with your own downloader in place of Delivery Optimization, be sure to review the requirements for large file downloads.
Update handlers are used to invoke installers or commands to do an over-the-air update. You can either use existing update content handlers or implement a custom content handler that can invoke any installer and execute the over-the-air update needed for your use case.
Changes to Device Update agent at GA release
If you are using the Device Update agent versions, please migrate to the latest agent version 1.0.0 which is the GA version. See GA agent for changes and how to upgrade
You can check installed version of the Device Update agent and the Delivery Optimization agent in the Device Properties section of your IoT device twin. Learn more about device properties under ADU Core Interface.
You can use the following tutorials for a simple demonstration of Device Update for IoT Hub:
Image Update: Getting Started with Raspberry Pi 3 B+ Reference Yocto Image extensible via open source to build your own images for other architecture as needed.