Azure device update service for a system having multiple MCUs

Sagar Epari 130 Reputation points
2023-07-05T18:10:33.5533333+00:00

Hello,

We have a system (a bit complex) with multiple microcontrollers. However front-ending (connection to Azure) would be done by say the primary microcontroller. Which means the device update for all the microcontrollers would be received by the primary microcontroller. Note: We are having Azure middleware for FreeRTOS in the primary microcontroller.

I am trying to visualize the device update solution using the device update service (in IoTHub). Can I use device update service with the manifest filled with details describing for which microcontroller the update is triggered? I guess its possible. Am I missing anything?

OTA_Design

Thanks

Sagar

Azure IoT
Azure IoT
A category of Azure services for internet of things devices.
399 questions
Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
1,189 questions
0 comments No comments
{count} votes

Accepted answer
  1. LeelaRajeshSayana-MSFT 15,321 Reputation points Microsoft Employee
    2023-07-06T01:14:37.02+00:00

    Hi @Sagar Epari Greetings! Thank you for posting the question here.

    The approach depends on the relationship and the communication between the primary microcontroller and its child devices. Are the child devices registered with IoT Hub? Does the primary microcontroller act as a gateway device to the child devices? If so, you might want to look into Disconnected device updates and target the child microcontrollers using Device groups. Following is the architecture to represent this appraoch.

    enter image description here

    Kindly note that this feature is currently in preview and if you decide this is what you need, you can access to the preview is by invitation. Request Access to the Microsoft Connected Cache preview for Device Update for IoT Hub and provide the information requested if you would like access to the module. Here are a few resources that will help you with next steps if this approach works for

    If the child devices can be treated as a subcomponent of the primary microcontroller, I believe you can achieve this use case by following the Proxy update pattern supported by the device update for IoT Hub. Here is a brief overview of Proxy updates and multi-component updating.

    With proxy updates, you can target over-the-air updates to multiple components on the IoT device or to multiple sensors connected to the IoT device. Use cases where proxy updates are applicable include:

    • Targeting specific update files to different partitions on the device.
    • Targeting specific update files to different apps/components on the device
    • Targeting specific update files to sensors connected to an IoT device. These sensors could be connected to the IoT device over a network protocol (for example, USB, CANbus etc.).

    Here is how the architecture looks like if you take the second approach

    enter image description here

    Here are the resources that would help you with the approach

    Hope this information helps. Please let us know if you have any additional questions or need further assistance.


    If the response helped, please do click Accept Answer and Yes for the answer provided. Doing so would help other community members with similar issue identify the solution. I highly appreciate your contribution to the community.


0 additional answers

Sort by: Most helpful

Your answer

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