Architecture
The SDK is built with ESP IDF framework using PlatformIO. Source code can be found here.
ESPAdmin
Report
Command
Update
Logger
Store
OTA
NVS
HTTP
MQTT
ESP Arduino
- MQTT is a client that handles connection, publish and subscribe to device related topics.
- HTTP is a client that calls REST API with authorization.
- NVS is a non-volatile key-value storage driver.
- OTA is an asynchronous handler that performs OTA updates.
- Store is a single source of truth that holds firmware states and configurations.
- Report is a module that sends Report messages.
- Command is a module that accepts Command messages and executes actions.
- Update is a module that checks for updates and reports deployment status.
- Logger is a utility to print logs locally and publish them remotely.
- ESPAdmin is the namespace that groups the SDK APIs.