Learn the basics of Over-the-Air (OTA) updates, common problems with OTAs, how to solve them, and how to make your OTAs successful.
It’s possible that you oversee or market connected products for your business, or you may simply be researching the specifics of over-the-air updates to see if they make sense for your particular line of products. No matter where you are in your IoT journey, we believe you will learn something from this.
What is An over the Air (OTA) Update?
An OTA update is the term for the remote distribution of new software, firmware, or other data to hardware that is connected to the Internet.
“Remote” is the key word here. You almost certainly approved an OTA and used new software without going to an Apple or Dell storefront if you own a smartphone or laptop. OTA rollouts frequently occur for commercial and emergency vehicles, smart thermostats, electric bikes and scooters, and the majority of other smart devices.
Despite this, implementing successful OTAs is much easier said than done, and OTA-related horror stories are sadly not uncommon.
Before they begin developing a solution, the most astute businesses always take into account their device management strategy. The two most frequent methods used by teams to keep connected devices in good health and working properly are OTA updates and manual updates, in which a technician physically modifies the hardware or uploads firmware to individual devices.
Both methods can be justified depending on the circumstance and the products in question, but switching from OTAs to manual updates or vice versa is infrequently justified. In the end, the initial choice must expand as you sell more devices and acquire more clients.
Why We Need Software Updates:
Unfortunately, many organizations do not pay serious attention to the need of updating IoT devices so first let us discuss why we need software updates in smart devices:
- Improve the stability of software and applications
- Enhances compatibility with hardware
- Helps in faster time to market – release now, update later
- Protect against rising cyber attacks with critical security patches
- Facilitates innovative software-based business models
Now that we are aware of the necessity of smart device software updates, the question of how to maintain these widely used devices is raised. Since manually updating such remote devices would be too expensive and time-consuming.
How can we maintain the system without any physical intervention in epidemic situations like the Covid-19 outbreak, which led to a global lockdown scenario and made scheduling field service visits extremely difficult and dangerous?
The Solution – over the Air (OTA) Updates:
It is crucial that we implement a system that will enable us to remotely access and update in order to reduce the expense of field service visits and improve operational efficiency for a fleet of widely dispersed devices.
An application, configuration, or firmware can be wirelessly downloaded to internet-enabled devices, also referred to as IoT, over the air (OTA). Similar to how our smartphones, tablets, laptops, and computers update, it functions similarly.
Numerous businesses have recently expressed interest in implementing OTA technologies, but right now, partly as a result of the COVID-19 pandemic, we are seeing a significant uptick in their use. Online conferencing tools like Zoom, Skype, and Microsoft Teams are extremely popular today because they allow people to connect virtually and increase productivity in the workplace. In order to increase operational efficiency, organizations are also realizing the value of connecting remotely with their widely used devices.
3 OTA Architectures for IoT Devices
The proper over-the-air (OTA) update architecture for a company depends on the devices themselves, the business procedures, and the IT team’s availability and expertise. OTA updates are a scalable method of ensuring that IoT devices in the field have the most recent configurations, programs, and firmware. The devices’ security and performance can both be maintained using this technique.
Edge-to-cloud, gateway-to-cloud, and edge-to-gateway-to-cloud are three OTA architectures that IT teams can use to make sure their IoT devices receive regular updates. The architecture a company opts for depends on the hardware needed, the network architecture, the IT team’s expertise, and the IoT device itself.
With edge-to-cloud updates, the cloud sends a patch to a microcontroller’s firmware or device software that is connected to the internet. In close proximity to the IoT device, the microcontroller serves as a processor and update dispatcher at the network’s edge.
Think about an air conditioner that utilizes an edge device, such as Monitor One from us. This piece of hardware, which uses less processing power overall, is designed to keep an eye on a small number of parameters, in this case, the pressure and temperature of the refrigerant line. This would be a low processing-intensive application that is a perfect fit for edge-to-cloud architecture if those are the only essential pieces of data required and no need for DSP or FFT operations to be performed at the edge.
Not updating all devices simultaneously could result in new dangers. Devices may fail to install incremental fixes and patches, leaving them vulnerable to hackers and malfunctioning hardware and software. The devices that will be impacted by each update must also be clearly understood by IT staff in order for them to alert business leaders ahead of time. Separate device updates raise the possibility of bricking a device if the update is not successfully completed, unless the device has the ability to automatically recover from a failed or interrupted update.
When a central repository is collecting large amounts of data streams from numerous sensor nodes, gateway architectures are required. They are ideal for tasks involving 50 or more variables and requiring significantly more processing power than an edge solution. Companies buy powerful processors with high computing power to manage all that data (think Linux or Windows machines); developers then create OTA updates for the processing system.
IoT devices benefit from data transmission through continuously updated gateways while being unaffected by gateway-to-cloud updates. In order to connect devices to systems that don’t meet their requirements, gateways are used. Some devices connect directly to the cloud using low energy and do not support energy-intensive protocols like Wi-Fi or Bluetooth. Other devices, such as those that only gather data to transmit to cloud-based analytics services, lack sufficient processing power to handle updates or are single-purpose and not designed to handle updates.
The Dusun IoT gateway offers robust OTA update and firmware management capabilities, enabling organisations to distribute and manage firmware updates efficiently for their IoT devices, ensuring optimal performance, security, and functionality at all times.
Due to the combination of the first two types, this final architecture is the most difficult. The processing system and the data-gathering edge devices and nodes both require OTAs in the edge-to-gateway-to-cloud architecture. Often, our customers will deploy these so-called “sensor nodes” alongside the gateway solution of their choice.
This architecture updates each device based on its unique requirements, lowering security risks and maintaining high performance for every device. Being isolated from the rest of the fleet lowers the risk to the entire fleet in the event of a failed or interrupted update. Microcontrollers and internet connectivity are not prerequisites for handling the update on devices. Through a wired or wireless connection to the gateway device alone, they receive updates.
Dusun offers powerful edge computing capabilities, open software and hardware resources, and SDKs. With strong FAE support and rapid app deployment support, Dusun’s edge computing gateways are ideal chocies for IoT applications, including building management, energy management, manufacturing, transportation and oil & gas.
Important OTA Design Considerations for IoT Systems
As was previously mentioned, many IoT horror stories involve customers having their devices bricked as a result of unsuccessful OTA updates.
The OTA mechanism was not implemented in a fail-safe manner, which meant that neither the user nor the manufacturer could easily roll back or overwrite the flawed image. This is what these incidents have in common in addition to the fact that the new device image was flawed, a risk that exists whenever software is involved.
Here are some key considerations to take into account when thinking about OTA update solutions for IoT systems:
- Updates that have been corrupted or stopped must be automatically recovered from. OTA updates ought to be atomic, successfully completing their task or gracefully failing in a way that can be recovered. No update should be able to break a device’s connection to the update server and stop new updates from being pushed, and a failed update should be able to roll back to the previous stable version.
- A code’s integrity and provenance must be verified. While a connected device’s ability to get updates remotely has many benefits, it also raises security issues. To ensure that connected devices only accept code from verified authors and that it hasn’t been altered in transit, cryptographic code signing must be used.
- It is wise to check your code for compatibility. You will need to distribute various firmware images as part of your OTA update process if you’re supporting a number of MCU architectures in the field. Before implementing the update, it is highly advised to first verify that the image received by a specific remote device is actually suitable for the client’s MCU architecture, for example., check that you’re applying an image built for a an MCU of that kind using TI’s CC3220. This kind of unintentional mismatch can have effects that are challenging, if not impossible, to reverse.
- By default, use secure communication channels. Every OTA update should be carried out through secure channels of communication. This should cover both the local connection between the gateway and its edge devices as well as the TLS connection between the cloud and any gateways or edges that are connected to the internet.
- Updates in parts ought to be possible. Partial updates should be supported so that only the updates to a firmware image need to be transmitted and applied to a specific device, reducing both bandwidth usage and on-device processing time.
Any IoT product development strategy should be built upon a reliable and secure software update process. IoT updates must be created to reduce hackers’ capacity to circumvent the process and wreak havoc by modifying and installing malicious software on devices. End-to-end security must also be considered during design. You can only guarantee a secure remote software update strategy by pre-planning with the appropriate mindset and design philosophy.