Introduction
What is ESP Admin?
ESP Admin is an open source platform for remote management of Espressif microcontrollers.
Think of it as a web hosting platform but intended for IoT applications.
With a minimal setup, you can use it to
- Deploy firmware updates Over The Air
- Set configuration variables remotely
- Send custom commands
- Collect reports over email & webhooks
- Monitor logs remotely
How It Works?
At a high level, ESP Admin comprises a full-stack web Application and a firmware SDK. It follows an event-driven architecture via MQTT protocol where the Broker is user-defined.
SDK
Application
Broker
Two types of messages are transferred
- Command is a message the Application sends to the SDK via MQTT. It's used to control remote logging, push a firmware release, update config variables, or any other project-specific operation.
- Report is a message the SDK sends to the Application via MQTT & HTTP. It's used for reporting the device status or any other project-specific event.
MQTT Topics | Retained | Sent by | Notes |
---|---|---|---|
device/<device_id>/command/config | true | App | Send new variables |
device/<device_id>/command/custom | false | App | Send project commands |
device/<device_id>/command/log | false | App | Enable/disable logging |
device/<device_id>/command/restart | false | App | Trigger device restart |
device/<device_id>/command/update_trigger | false | App | Trigger release |
device/<device_id>/command/update_abort | false | App | Abort deployment |
device/<device_id>/logs | false | SDK | Send logs |
device/<device_id>/report/custom | false | SDK | Send custom reports |
device/<device_id>/report/status | true | SDK | Send device status |
device/<device_id>/report/update_status | false | SDK | Send update status |
device/<device_id>/report/update_progress | false | SDK | Send update progress |
Table of Contents