Skip to content

Latest commit

 

History

History
70 lines (44 loc) · 4.89 KB

File metadata and controls

70 lines (44 loc) · 4.89 KB
title Azure Device Update for IoT Hub agent overview
description Understand the structure and functions of the Azure Device Update for IoT Hub agent.
author cwatson-cat
ms.author cwatson
ms.date 12/19/2024
ms.topic concept-article
ms.service azure-iot-hub
ms.subservice device-update

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.

:::image type="content" source="media/understand-device-update/client-agent-reference-implementations.png" alt-text="Diagram that shows agent implementations." border="false" lightbox="media/understand-device-update/client-agent-reference-implementations.png":::

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