Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 3.36 KB

README.en.md

File metadata and controls

53 lines (41 loc) · 3.36 KB

RUSSIAN | EXAMPLES | CHANGELOG | PlatformIO CI

EmbUI

Embedded WebUI Interface framework

A framework that helps to create WebUI and dynamic control elements for Arduino projects. It offers Interface-as-a-code approach to segregate web frontend and MCU backend firmware development.

Supported platforms

  • ESP32, ESP32-S2, ESP32-C3, ESP32-S3 Arduino Core
  • ESP8266 Arduino Core branch v2.6 only

Features

  • asynchronous data exchange with frontend via WebSocket
  • creating html elements using DOM and {{ mustache }} templater
  • packet based data exchange with WebUI, allows transfering large objects containing multiple elements split into chunks and using less MCU memory
  • dynamic UI elements update without page refresh
  • allows fetching data/ui objects via 3rd party AJAX calls
  • supports multiple parallel connections, WebUI updates simultaneously on all devices
  • embedded WiFi manager, AP-failover on connection lost, autoreconnection
  • full support for TimeZones, daylight saving autoswitchover
  • embedded NTP sync, NTPoDHCP support, custom NTP servers
  • OTA firmware updates via WebUI/CLI tools
  • zlib-compressed FOTA using esp32-flashz lib
  • mDNS/ZeroConf publisher, discovery
  • device autodiscovery via:
    • WiFi Captive Portal detection - upon connecting to esp's WiFi AP a device/browser will show a pop-up advising to open an EmbUI's setup page
    • Service Browser Android
    • SSDP for Windows
    • Bonjour iOS/MacOS
  • self-hosted - all resources resides on LittleFS locally, no calls for CDN resources

Projects using EmbUI

  • FireLamp / Informer - DIY HUB75/ws2812 led panel/matrix informer, clock, cristmas light project
  • ESPEM - ESP32 energy meter for Peacfair PZEM-004
  • InfoClock - Clock/weather ticker based on Max72xx modules

WebUI samples based on EmbUI framework

embui UI

embui options

embui dtime

InfoClock

Usage

To run EmbUI it is required to upload an FS image with resources to LittleFS partition. Prebuild resources are available as archive. Unpack it into data folder to the root of Platformio project

Documentation/API description

to be continued...