I'm trying to create a unified process for managing firmware updates for groups of IOT devices. The catch: I've got devices in both Google & Azure clouds, utilizing both Google IOT Core & Azure IOT Hub services.
Note, my goal is to devise a way to notify a group of devices they are required to update their FW, preferably passing them a URL to the FW to be downloaded via a simple HTTP request.
For Azure, there's a dedicated recommended process specified here: We use the device twin to communicate to a group of devices a signed-URL from a storage to the required FW file. The underlying service in use to update the device twin to multiple devices is Azure's IOT device configuration, which (to my understanding) is responsible for load-balance and monitoring.
I'd like to have an equivalent way of doing the same thing in Google IOT, but didn't find the equivalent of Azure's IOT device configuration service. Consider the requirement to have a FW update to all IOT devices under a registry - I imagine that iteration over all devices in the registry and update their configuration is not a good solution, specifically if done inside a cloud function.
My two questions are:
- Is there an elegant way of implementing the Azure process using Google Cloud services?
- Considering Google IOT alone here, what is the recommended way of doing FW updates in this environment?
Note, the target IOT devices is based on ESP32, so 3rd party solutions for FW update management are probably not going to work here. I'm looking to utilize the IOT Core/Hub as much as possible here.
Thanks
I am azure guy, but invested some time in exploring GCP.
I learnt that IoT Core facilitates OTA using MQTT bridge.
Reference (if you have not explored already):
https://cloud.google.com/community/tutorials/cloud-iot-mender-ota
https://medium.com/@o.lourme/gcp-cloudiotcore-esp32-mongooseos-2nd-config-state-encrypt-7c5e937e5be9
p.s: I don't see any option of azure service being used on GCP, while I have learnt few inter connections with AWS though.