Locally OTA update process


I have just completed AWS FreeRTOS ota demo. And it works very well.

But the use case on which I am working required something different.

Here is my use case

I want to update the microcontroller firmware locally means suppose an scenario in which uc is connected to a edge gateway (ex Reaspberry Pi4)may be over the network/wire, the reason why we do so is we don’t want to connect lakhs of device directly to cloud that cost very high. Rather then it we will connect an edge gateway to cloud that deals with OTA related stuff.

So here is doubt I have:

Do here in this scenario I can utilise AWS FreeRTOS library ?if so then how?

what could be the overall approach. Do any one share me any links or resouces that can be kick start.

I have idea to deal aws to edge gateway transaction, But how later things I can achieve have doubt.

Please suggest.



You can start with the CSDK demos in the repository GitHub - aws/aws-iot-device-sdk-embedded-C: SDK for connecting to AWS IoT from a device using embedded C.. You should be able to use the provided ports and ota demo on linux environment. Refer to OTA over MQTT demo which you can run on the edge gateway. After the file is downloaded to the edge gateway you need to distribute it on local network and apply the firmware updates. You can also look into the Greengrass for the edge gateway and the instructions to setup are available for raspberry pi Getting started with AWS IoT Greengrass - AWS IoT Greengrass. Please refer Greengrass documentation for more information here.