Skip to content

DmytroKorniienko/EmbUI

Repository files navigation

EmbUI

Embedded WebUI Interface

arduino-library-badge PlatformIO CI

CHANGELOG

Framework for building a web-interface and controls for projects under Arduino ESP

Supported controllers/platforms

  • ESP8266 Arduino Core
  • ESP32/ESP32-S2/ESP32-C3/ESP32-S3 Arduino Core

Capabilities

  • automatic publication of the controller in the local network via mDNS/ZeroConf
  • device discovery capability:
  • communication with the browser via WebSocket
  • support for multiple parallel connections, the interface is updated simultaneously on all devices
  • self-hosted - no dependencies on external resources/CDN/Cloud services
  • built-in WiFi manager, auto-switch to AP mode when client connection is lost
  • full support for all existing Time Zones, automatic changeover to summer/winter time, correct calculation of dates/time intervals
  • OTA, FS firmware/image update via browser
  • the ability to load data / interface elements via AJAX

Projects based at EmbUI

  • FireLamp_EmbUI - ws2812 led matrix fire lamp
  • ESPEM - energy meter based on the PZEM-004 module

Examples of building interfaces

EmbUI image

Other picturesespem uiespem opts

Usage

For WebUI to work, it is necessary to upload an image of the LittleFS file system with web resources to the controller. Prepared resources for creating an image can be deployed from the archive. In Platformio this is usually the data directory at the root of the project.

Depends

Projects URL Remarks
ArduinoJson https://github.com/bblanchon/ArduinoJson.git
AsyncWebServer-mod https://github.com/DmytroKorniienko/ESPAsyncWebServer/tree/ESPAsyncWebServerMod manual install, fork
AsyncMqttClient https://github.com/marvinroger/async-mqtt-client.git manual install
TaskScheduler https://github.com/arkhipenko/TaskScheduler.git
FtpClientServer https://github.com/charno/FTPClientServer.git manual install, fork
ESP32SSDP https://github.com/luc-github/ESP32SSDP.git manual install, esp32
AsyncTCP https://github.com/me-no-dev/AsyncTCP.git manual install, esp32