Skip to content

Embedded WebUI framefork. Building interactive UI based on websockets for your Arduino projects. This is a fork of EmbUI project

License

Notifications You must be signed in to change notification settings

vortigont/EmbUI

Repository files navigation

ENGLISH | EXAMPLES | CHANGELOG | PlatformIO CI

EmbUI

Embedded WebUI Interface framework

Фреймворк для построения web-интерфейса и динамических элементов управления для проектов Arduino

Поддерживаемые платформы

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

Возможности

  • асинхронный интерфейс обмена данными с браузером через WebSocket
  • построение элементов DOM на основе шаблонизатора {{ mustache }}
  • пакетный интерфейс обмена с WebUI, возможность передавать большие объекты из множества элементов по частям
  • динамическое обновление отдельных элементов интерфейса безе перерисовки всего документа
  • возможность подгружать данные/элементы интерфейса через AJAX
  • поддержка нескольких параллельных WebUI подключений с обратной связью, интерфейс обновляется одновременно на всех устройствах
  • встроенный WiFi менеджер, автопереключение в режим AP при потере клиентского соединения
  • полная поддержка всех существующих часовых зон, автоматический переход на летнее/зимнее время, корректная калькуляция дат/временных интервалов
  • встроенная синхронизация часов через интернет, поддержка NTPoDHCP, пользовательский NTP
  • OTA, обновление прошивки/образа ФС через браузер/cli
  • поддрежка обновления из сжатых образов (zlib-compressed FOTA) через библиотеку esp32-flashz
  • автопубликация контроллера в локальной сети через mDNS/ZeroConf
  • возможность обнаружения устройства:
    • WiFi Captive Portal detection - при подключении к WiFi AP контроллера устройтсво/браузер покажет всплюывающее окно с предложением открыть страницу настройки EmbUI
    • Service Browser Android
    • SSDP for Windows
    • Bonjour iOS/MacOS
  • self-hosted - нет зависимостей от внешних ресурсов/CDN/Cloud сервисов

Проекты на EmbUI

  • ESPEM - энергометр на основе измерителя PZEM-004
  • InfoClock - Часы-информер на матричных модулях Max72xx
  • FireLamp_JeeUI - огненная лампа на светодиодной матрице ws2812 (API не совместим с данным форком)
  • EmbUI - исходный проект данного форка

Примеры построения интерфейсов

embui UI

embui options

embui dtime

InfoClock

Использование

Для работы WebUI необходимо залить в контроллер образ фаловой системы LittleFS с web-ресурсами. Подготовленные ресурсы для создания образа можно развернуть из архива. В Platformio это, обычно, каталог data в корне проекта.

About

Embedded WebUI framefork. Building interactive UI based on websockets for your Arduino projects. This is a fork of EmbUI project

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published