About the process of updating firmware using Device Update for IoT Hub.

Hinata Katsunori 536 Reputation points
2022-03-14T08:02:53.92+00:00

Hello.

The firmware update appears to have been completed in the following tutorial.

https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-azure-real-time-operating-system

I had assumed that the device would need to perform the firmware update using the "Device Upadate Agent" API as described in the following reference.

https://github.com/azure-rtos/netxduo/blob/feature/adu/addons/azure_iot/docs/azure_rtos_iot_adu_agent.md

Does this mean that if the "Device Update Agent" is installed on the device side, it will automatically work with the "Device Update for IoT Hub" on the cloud side to complete the firmware update?

Am I correct in understanding that there is no need to implement using the "Device Upadate Agent" API, especially on the device side?

Thanks in advance.

Azure Internet of Things
Azure RTOS
Azure RTOS
An Azure embedded development suite including a small but powerful operating system for resource-constrained devices.
Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
Azure IoT SDK
Azure IoT SDK
An Azure software development kit that facilitates building applications that connect to Azure IoT services.
0 comments No comments
{count} vote

Answer accepted by question author
  1. QuantumCache 20,676 Reputation points Moderator
    2022-03-14T21:32:31.083+00:00

    Hello @HinataGrape-6694 Thanks for using this forum with great useful queries!

    Am I correct in understanding that there is no need to implement using the "Device Upadate Agent" API, especially on the device side?

    More clarity on this link-->What is Device Update for IoT Hub: REST API services are used to manage the devices from your applications(simple words: App running on your Laptop\Mobile to control various device updates), for Programmatic APIs to enable automation and custom portal experiences. Agent is required on device side & can run alongside other system processes that connect to your IoT Hub. another example: this REST API can be used from a Postman to trigger\delete the device Update.

    182880-image.png

    For example, the RaspberryPi Tutorial show how the agent is configured on the device: Configure the Device Update agent on Raspberry Pi.

    I would highly recommend completing this tutorial: Tutorial: Device Update for Azure IoT Hub using the Raspberry Pi 3 B+ reference image to get E2E basic understanding of this concept.

    Workflow:
    Point 1:

    ADU gets the device information\List from the IoTHub.

    So basically ADU uses the IoTHub to manage the device updates.

    183023-image.png

    Point 2:

    How ADU accepts the instructions?

    • The Developer creates the update and manifest and imports it on the ADU.
    • ADU will store it.
    • Update instructions will be ready for distribution.

    182976-image.png

    Point 3:

    Once the Update imported to ADU, now IoTHub signal the devices to pull the 'Update Commands', here the Agent installed on the device does this pulling work.
    Finally the update is downloaded and installed and the Success\Failure status is sent to ADU via IoTHub.

    182939-image.png

    Please comment in the below section for further help in this matter!.

    Please accept the helpful response as 'Answer', which will be helpful to others as well with similar questions


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.