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 (PnP) to allow messages to flow between the Device Update agent and the Device Update service.
- The platform layer does the high-level update download, install, and apply actions, which can be platform- or device-specific.
The following diagram lists Device Update agent capabilities and actions.
Interface layer
The interface layer is made up of the following components:
These interfaces use a configuration file for the device specific values to report to Device Update services. For more information, see Device Update configuration file.
Device Update core interface
The Device Update core interface is the primary communication channel between the Device Update agent and Device Update services.
Device information interface
The device information interface implements the Azure IoT PnP DeviceInformation
interface.
Diagnostic information interface
The diagnostic information interface enables remote log collection for diagnostics.
Platform layer
All clients that run on Linux systems, such as the Device Update Raspberry Pi reference image, use the Linux platform layer. The Linux platform layer integrates with the Delivery Optimization client for downloads.
The Linux platform layer implementation that integrates with Delivery Optimization for downloads is in src/platform_layers/linux_platform_layer. This layer can integrate with update handlers such as SWUpdate
, Apt
, and Script
to implement the installers.
If you choose to implement your own downloader instead of Delivery Optimization, be sure to review the requirements for large file downloads.
Update handlers
Update handlers invoke installers or commands to do over-the-air updates. You can either use existing update content handlers, or implement a custom content handler that can invoke any installer to execute the over-the-air updates you need for your use case.
Check and upgrade agent version
You can check the installed versions of the Device Update agent and the Delivery Optimization agent in the properties section of your IoT device twin.
If you use the Device Update agent, make sure you're on the version 1.0.0 general availability (GA) version. For more information, see Migrate devices and groups to the latest Device Update release.
Related content
- Device Update for IoT Hub configuration file
- Azure Device Update for IoT Hub using a Raspberry Pi image
- Azure Device Update for IoT Hub using the Ubuntu package agent
- Tutorial: Complete a proxy update by using Device Update for Azure IoT Hub
- Azure Device Update for IoT Hub using a simulator agent
- Device Update for Azure IoT Hub using Eclipse ThreadX