OTA Updates

Created by Miroslav Biňas / mirek

### How many times have you received a notification on your mobile to update to the latest version of your OS?
## What is OTA? > the ability to download applications, services and configurations through a mobile or cellular network > ([Gartner](https://www.gartner.com/en/information-technology/glossary/ota-over-the-air))
## OTA Benefits * continuous improvement of devices * increase functionality * improves security * save cost
## Live Example
## Whats wrong?
### OTA services must be fast, secure and easy to use.
## Design Considerations
### Incremental Roll-Out of OTA Updates
### Recovery of Versions
### Code Compatibility Verifications
### Secure Communication
### Partial Updates
### Authenticating the OTA Update Image
### Security from Physical Attacks
### Minimizing Intrusion
![IoT Architecure](images/iot.architecture.png)
## Existing Solutions * [FreeRTOS](https://www.freertos.org) * [Mongoose OS](https://mongoose-os.com) * [balena.io](https://www.balena.io) * [Barbara OS](https://barbaraiot.com)
## What's the Time?
## RTC > A real-time clock (RTC) is a computer clock (most often in the form of an integrated circuit) that keeps track of the current time. > ([Wikipedia](https://en.wikipedia.org/wiki/Real-time_clock))
[![Motherboard](images/motherboard.jpeg)](https://www.alza.sk/asus-prime-h310m-r-r2-0-d5535927.htm)
![RTC Module](images/rtc.module.jpg)
![ESP32 Block Diagram](images/esp32.block.diagram.svg) * notes: * https://en.wikipedia.org/wiki/ESP32
## NTP > The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-latency data networks. > ([Wikipedia](https://en.wikipedia.org/wiki/Network_Time_Protocol))
![NTP Servers and Clients](images/ntp.servers.and.clients.svg)
## [www.ntppool.org](https://www.ntppool.org)
## `ntptime`
## Questions?