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.