title | description | author | ms.author | ms.date | ms.topic | ms.service |
---|---|---|---|---|---|---|
Understand Device Update for Azure IoT Hub Agent| Microsoft Docs |
Understand Device Update for Azure IoT Hub Agent. |
ValOlson |
valls |
2/12/2021 |
conceptual |
iot-hub-device-update |
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 Services.
- The Platform Layer is responsible for the high-level update actions of Download, Install, and Apply that may be platform, or device specific.
:::image type="content" source="media/understand-device-update/client-agent-reference-implementations.png" alt-text="Agent Implementations." lightbox="media/understand-device-update/client-agent-reference-implementations.png":::
The Interface layer is made up of the Device Update Core Interface and the Device Information Interface.
These interfaces rely on a configuration file for the device specific values that need to be reported to the Device Update services. Learn More about the configuration file.
The 'DeviceUpdate Core' interface is the primary communication channel between Device Update Agent and Services. Learn More about this interface.
The Device Information Interface is used to implement the Azure IoT PnP DeviceInformation
interface. Learn More about this interface.
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.
Update Handlers 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 which can invoke any installer and execute the over-the-air update needed for your use case.
We have added many new capabilities to the Device Update agent in the latest Public Preview Refresh agent (version 0.8.0). See list of new capabilities for details.
If you are using the Device Update agent versions 0.6.0 or 0.7.0 please migrate to the latest agent version 0.8.0. See Public Preview Refresh 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 Device Update Core Interface.
Understand Device Update agent configuration file
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 you own images for other architecture as needed.
-
Package Update: Getting Started using Ubuntu Server 18.04 x64 Package agent
-
Proxy Update: Getting Started using Device Update binary agent for downstream devices
-
Getting Started Using Ubuntu (18.04 x64) Simulator Reference Agent
-
Device Update for Azure IoT Hub tutorial for Azure-Real-Time-Operating-System