Three years have passed, and car owners are no longer surprised by OTA (Over-The-Air) updates from various automakers. In today's world where smart devices are ubiquitous, everyone is very familiar with the concept of "software upgrades": software can be upgraded, personal computers can be upgraded, mobile phone systems can be upgraded… But upgrades for Internet of Things (IoT) devices may still feel unfamiliar and intriguing. Why can seats or steering wheels that didn't originally have heating functions gain new features with just a single software update? This leads us to our main topic today— OTA .
What is OTA?
OTA (Over-The-Air) is a wireless transmission technology used for remote updates and configurations between Internet of Things (IoT) devices. OTA refers to remotely updating or upgrading the software or firmware of embedded systems via wireless communication networks. OTA updates are a convenient method for pushing new features, performance improvements, security patches, or other changes to embedded devices without physical contact with the device or manual user intervention.
• OTA simplifies the device update and maintenance process. Traditional software update methods typically require users to take their devices to a service center or use a wired connection for updates, which is both time-consuming and cumbersome. OTA technology, on the other hand, allows devices to automatically receive and install updates, significantly saving time and effort. • OTA technology improves device reliability and security. By regularly updating device software, potential security vulnerabilities and performance issues can be fixed, thereby reducing the risk of device attacks and damage.
OTA technology enables remote diagnostics and troubleshooting, helping users resolve issues more quickly.
In the Internet of Things (IoT) field, OTA technology is widely used in various devices, such as smart homes, smart cities, and industrial automation.
Features of OTA solutions
To address the challenges of remote updates, IoT platform remote update solutions need to have the following characteristics.
Short time and high efficiency
IoT platforms should minimize remote upgrade time and improve upgrade efficiency. This can be achieved by: • Controlling the upgrade package size and using differential packetization to reduce the package size, thereby minimizing remote network transmission time; and • Enhancing upgrade flexibility through in-module upgrades.
• Added breakpoint resume function to avoid data retransmission caused by terminal failure or communication interruption, and reduce data transmission time.
Make reasonable use of wireless resources to improve the service efficiency of terminal updates.
To improve the efficiency of wireless resource utilization, the terminal remote update service should support concurrent multi-task operation, with each task corresponding to a remote update plan that includes a group of remote terminals to be updated. Simultaneously, to ensure the normal operation of other terminal services within the same wireless area, the IoT platform should limit the number of terminals performing update operations.
High reliability
High reliability is essential to ensure efficient terminal updates . Remote update management and control must be precise, accurate, and intelligent. The IoT platform should be able to perform validity checks based on the specific terminal's status (such as version, file type, upgrade package size, etc.) before triggering the remote update process. By introducing a state machine mechanism to control the remote update process and implement exception handling, the coordination of control between the terminal and the cloud can be ensured, reducing the risks of remote update operations.
• During remote upgrades, to prevent potential errors or loss of upgrade package data, it is necessary to consider using an upgrade package verification mechanism to ensure the integrity of the upgrade package, using a reliable transmission protocol to ensure the reliability of data transmission, and using the retry strategy of the IoT platform to ensure the stability of the transmission and upgrade process.
Universality
Universality means that heterogeneous terminals from different fields and of different types connected to the IoT platform should use the same terminal update process. This minimizes the maintenance costs of remote terminal updates, enabling users to self-service, self-manage, and scale up updates for heterogeneous terminals. The remote terminal update solution needs to separate control flow and business flow, ensuring that the control flow is unaffected by the terminal's environment. The control flow should be carried using standard, open international standard protocols to guarantee the feasibility of the technical solution.
It is compatible with upgrade packages and supports personalized upgrades of business flows, as well as differential package upgrade services provided by third-party differential service providers.
Reference architecture and service process of OTA system
The structure of the IoT cloud platform remote update system consists of two parts: a server and a terminal.
Structure of IoT cloud platform remote update system
The remote update server is a functional module of the IoT platform, primarily implementing user self-service and remote update management and control functions. User self-service refers to users creating remote update tasks and querying remote update status through a portal. Task creation includes updating version, upgrade package, terminal groups to be upgraded, and update policies; remote update management includes update triggering, upgrade package download and installation control, and policy execution control in case of download and installation failures.
The generation and download of the upgrade package are completed on the server side, and two methods are supported:
One approach is for the IoT platform to provide a download service for terminals that need to be upgraded . In this approach, users upload upgrade packages through a portal, and the IoT platform is responsible for managing the upgrade packages.
Another option is for a third-party differential server to provide the generation and download of differential packets . In this method, users need to select the access address of the third-party differential server when setting up a task.
Regardless of the method used, both the server and the client must support the function of resuming interrupted downloads .
During remote updates, the terminal needs to download and install the upgrade package according to the server's instructions and report the installation results. Terminal downloads should support resume functionality and upgrade package verification. Terminal installation should support installation and fault tolerance functions. Fault tolerance refers to the isolation and handling of faults during the installation phase to ensure that installation failures do not affect the normal operation of the terminal.
The remote update service process includes four stages: update task creation, update triggering, upgrade package download, and installation .
OTA Service Process Diagram
Conclusion
In the field of the Internet of Things (IoT), OTA technology is widely used in various devices, such as smart homes, smart cities, and industrial automation. However, OTA technology also faces some challenges: First, due to the wide variety of devices, different devices may require different OTA technologies and protocols. This necessitates developers to customize development for different devices and application scenarios, increasing development and maintenance costs.
Secondly, the security and reliability of OTA technology also need to be considered. If errors or interruptions occur during the OTA update process, it may cause the device to malfunction or data to be lost.
In summary, OTA technology provides a more efficient and secure way to update and maintain IoT devices. While it faces some challenges, we believe that OTA will play an even greater role in the future as the technology continues to develop and improve.