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 TopicsRetainedSent byNotes
device/<device_id>/command/configtrueAppSend new variables
device/<device_id>/command/customfalseAppSend project commands
device/<device_id>/command/logfalseAppEnable/disable logging
device/<device_id>/command/restartfalseAppTrigger device restart
device/<device_id>/command/update_triggerfalseAppTrigger release
device/<device_id>/command/update_abortfalseAppAbort deployment
device/<device_id>/logsfalseSDKSend logs
device/<device_id>/report/customfalseSDKSend custom reports
device/<device_id>/report/statustrueSDKSend device status
device/<device_id>/report/update_statusfalseSDKSend update status
device/<device_id>/report/update_progressfalseSDKSend update progress