The Over the Air (OTA) package in BSPF manages firmware upgrades over cloud. It also provides configurable options to trigger OTA locally and by MQTT commands.
The OTA package supports two generic strategies, which we believe should cover industrial and consumer use cases
End User or Field Engineer Controlled
This strategy is used when user or person in field has control over running updates. This is useful in environments where the end device may have other dependencies before updating itself. It is also useful in cases where you want the end user to have more control over the update process.
Cloud initiated by IoT Manager
This strategy is useful in industrial contexts where the environment is known and the devices need to be updated centrally. The package can perform batch or scheduled updates.
OTA Cloud Server Features
1. Register devices and users
2. Authenticate OTA update requests from users
3. Authenticate the connected devices
4. Store firmware versions on cloud
5. Administer OTA updates to single
6. Administer OTA updates in batches
7. Scheduled OTA updates
OTA App Features
The app is built with react Native for iOS and Android. It provides the following functionality out of the box.
1. Account creation and log in
2. Provision Wi-Fi devices
3. Configure devices over BLE
4. Run user controlled updates
5. Run local firmware updates
OTA Device Firmware Features
The device firmware implements dual bank fail safe OTA process. It provides the following features.
1. Establish MQTT and HTTP connections
2. Receive OTA trigger commands over MQTT or BLE
3. Download the firmware update file over HTTP
4. Run the fail-safe dual bank OTA update process
5. Send firmware update status to cloud over MQTT
This library is specifically built for ESP32. Utilizes ESP-IDF as basis and is part of BuildStorm ESP32 product framework for ESP32. The goal of is to allow optimized integration of AWS IoT features for ESP32.
We offer engineering and consulting services to build your product on top of the product framework. Schedule a call to discuss more.