Skip to main content

Over The Air Updates(Beta)

Any modern IoT Hardware is not complete without remote firmware update functionality, often called Over The Air Updates. The Over The Air updates are not limited to firmware. In modern edge computing hardware, several services can run in parallel, often divided into individual executable binaries. Other types of assets also need to be updated, like Image, Video, or Audio files.

Using Anedya, you can deploy and manage OTA Updates for thousands of devices. You can target specific groups of devices, roll out in a phased manner, and even automatically abort if something goes wrong. Overall, an OTA Update involves the following steps:

  • You upload an asset: A firmware, executable binary, video file, or even a zip file containing multiple files, which is called an Asset in terms of Anedya and can be deployed.
  • Create a Deployment: Create a deployment by specifying which devices to target, specify stages of deployment, and auto-abort criteria.
  • Device fetches new deployments: Device polls Anedya's MQTT or HTTP APIs at regular intervals (say every 3 Hours). Anedya will automatically provide information on applicable deployments.
  • Device downloads the asset: The device can then download the asset and notify Anedya that the update process has begun.
  • Installation finishes: The device performs installation actions.
  • Device status update: The device acknowledges Anedya about the success or failure of the update process.
note

Please note that hardware support is required for OTA Updates

Hardware Readiness

Certain provisions are required in the hardware to support OTA updates. Broadly, these provisions are regarding:-

  • Firmware update capability: Make sure that your device firmware is written with firmware update support
  • Security and Integrity checks: The device should have public keys used to sign the firmware updates so that, once downloaded, the asset can be verified for authenticity and integrity

For more details, refer to the Hardware Readiness section.

⚠️Work in Progress!

Documentation is a work in progress. Use for beta testing only!