Section two, oh the a programming in ESP 32. In this section, we will learn the following topics. What is ot a programming? How do ot updates happen in the ESP 32 how to implement basic ot a programming in the sparkfun ESP 32 thing. Implementing ot updates through a web server in the sparkfun ESP 32 thing. Implementing cloud based OTA updates in the sparkfun ESP 32 thing.
Implementing the Wi Fi manager library in the sparkfun ESP 32 thing. Part One, implementing Wi Fi manager and OTA update in projects, part two, implementing Wi Fi manager and ot update in projects video What is ot a programming. In this video, we will learn what ot a programming is, and then its features. Later, we will learn about different ot architectures. Finally, we will learn about some design consideration for implementing ot EA. Have you ever checked your smartphone and got an alert to update to the latest version of a mobile operating system, whether it's Android or iOS, all smartphones get frequent software updates.
Previously, users had to connect their smartphone to PC and use proprietary software to update the phone. This was very inconvenient, and the chances of update errors were high. So ot technology has increased in significance. As mobile devices evolve, and new applications emerge. over the air updates refer to the practice of remotely updating the code or an embedded device, the embedded hardware must be built with IoT functionality for this mechanism to work. The proliferation of IoT has led manufacturers to use over the air updates for IoT devices.
In the early days of IoT, updating remote devices often caused intermittent disruption, and performance degradation. As IoT platforms have evolved, they are using IoT updates to remotely and reliably update connected devices with little to no interruption. ot updates offer many benefits for the Internet of Things devices, like remote patching of bugs, or security flaws. Rather than having expensive service technicians, or inexperienced users perform the updates in person. They also offer the potential for new revenue streams for the manufacturer with add on services Through an OTA update 40 updates have also made new releases of products more flexible. A company can choose to release the product with incomplete software.
But with complete hardware, and later, you're in the distribution continue with the programming phase. When a product reaches the hands of the consumers, they will receive an OT update that will enable all the features. This can save weeks or even months for a company, all due to Octa. In fact, this is exactly what Tesla the electric car manufacturer is doing. The Future Proof their cars with all the hardware they need on deployment to customers, and gradually rollout cool features via OTA updates. These benefits, however, must be balanced by the risks.
For example, a poorly executed OTA update can result in malfunctioning too devices and significant inconvenience to consumers as well as reputational damage to the manufacturer. In 2017, a Smart Lock manufacturer, called lock state sent an IoT update that made more than 500. Smart locks inoperable. The update made the Smart Lock unable to be locked, and no longer able to receive over the air updates. The company had no other choice than to either replace the lock or manually update the locks. Also, OT updates offer a potential path for the introduction of malware on IoT devices and can therefore compromise security for both consumers and the manufacturer.
For example, an IoT device might be tricked into downloading from a different server, which could substitute malware in place of the real ot update. Also So a man in the middle attack could substitute ot files that are different from those sent by the original ot server. With millions of IoT devices, even a small percentage of IoT failures or security breaches will result in thousands or 10s of thousands of affected consumers. If you want to know more about many IoT horror stories, because of problems with faulty ot updates, check out the links in the resources section. Based on different factors, there are mainly three different ot architectures bus, there is no one size fits all approach to ot a, the right approach for a given IoT project depends on the nature of the hardware, the system architecture, and the product itself. The top three ot architecture are as follows h2 Cloud IoT architecture in the cloud architecture in internet connected microcontroller, also known as an edge device is capable of receiving new firmware files from a remote server.
These files can contain updates to both the microcontrollers underlying hardware capabilities, as well as to the application running on top of them. gateway to cloud IoT architecture. In this architecture, an internet connected gateway is responsible for managing a fleet of local edge devices. The Edge devices are the IoT devices connected to the gateway. In this architecture, the gateway is only capable of receiving updates to its software host application and or its own firmware. h2 gateway to cloud architecture and internet connected gateway is responsible for managing a fleet of locally connected edge devices which in turn are capable of Receiving remote firmware updates via the gateway.
In this architecture, the edge devices are independently capable of receiving updates. Let us now look into some important design considerations for implementing IoT a mechanism for IoT systems. The design must include an incorporate the following features to avoid significant problems. Automatic recovery, auto update should be atomic, either succeeding completely or failing gracefully in a recoverable manner. A field update should be capable of rolling back to the previous stable version, and no updates should have the ability to disable a device's connection to the update server and preventing further updates from being pushed. encrypted channel.
All OTA updates should be performed over encrypted communication channels. This should include TLS connection between the cloud and internet connected gateway or edge. It should also include a TLS connection in the local connection between the gateway and its edge devices. Code Integrity check, cryptographic code signing must be used to confirm that connected devices only accept code from verified authors and that the code hasn't been altered in transit. Code compatibility check if multiple microcontroller architectures are used in an IoT system, a code compatibility checking feature must be incorporated before applying the update. Partial updates support to decrease both bandwidth consumption and on device processing time.
Partial updates should be supported so that only the changes to a firmware image need to be transmitted and applied to a given device. Summary. In this video we have covered the following topics, what is ot programming, the OT features and drawbacks, or ta architectures for IoT systems and design consideration for implementing ot EA. In the next video, we will learn how over the air programming works in the ESP 32