Библиотека для создания простого веб-интерфейса настроек на esp8266/esp32
- Веб-приложение весит около 20кб и вшивается в программу в бинарном gzip виде без возни с файлами
- Удобный билдер панели управления из скетча
- Два десятка типовых виджетов с возможностью объединения в группы и вложенные меню, в том числе вывод графиков + кастомные виджеты
- Система авторизации с разными правами для авторизованных юзеров и гостей
- Файловый менеджер и OTA (обновление по воздуху)
- Интеграция с библиотекой GyverDB для полностью автоматического хранения данных
- Компактный бинарный протокол связи
- Легко адаптируется под любую библиотеку HTTP сервера, из коробки реализовано три версии: GyverHTTP, стандартный esp-WebServer, ESPAsyncWebserver
- Из коробки поддерживает вебсокет со сторонними библиотеками
- Исходник веб-приложения здесь
Есть Android-приложение для поиска устройств с библиотекой в локальной сети
Находится в папке docs
ESP8266, ESP32
- GTL v1.2.1+
- GyverDB v1.2.3+
- StringUtils v1.4.30+
- GyverHTTP v1.0.23+
- BSON v2.0.5+
- Stamp v1.4.0+
- Table v1.1.0+
- StreamIO v1.0.5+
Tip
При установке из реестра PIO или Arduino IDE все зависимости установятся автоматически!
Дополнительно (ставится вручную):
- arduinoWebSockets для версии SettingsGyverWS/SettingsESPWS
- ESPAsyncTCP для версии SettingsAsync/SettingsAsyncWS
- ESPAsyncWebServer для версии SettingsAsync/SettingsAsyncWS
-
v1.0
-
v1.0.2
- Добавлен виджет Confirm (всплывающее окно подтверждения)
- Кастомные всплывающие окна для Input (Input теперь работает на просмотре AP WiFi точки на Xiaomi)
-
v1.0.5
- Добавлен виджет LED
- Добавлен файловый менеджер
- Добавлено ОТА обновление
- Добавлена авторизация и гостевой фильтр виджетов
- Новый стиль для Select
-
v1.1.0
- Добавлен виджет Number
- Создание виджета без ID (автоматический ID)
- Создание виджета без лейбла (будет равен типу виджета)
- Привязка внешней переменной к виджету на чтение и запись
- Редактор текстовых файлов в менеджере файлов
- Убран лаг с прошлым состоянием вебморды при обновлении страницы
- Возможность полностью убрать поддержку GyverDB дефайном
- Мелкие фиксы стилей
- Методы build(), value(), id() теперь являются членами (build, value, id) для краткости
-
v1.1.4
- У виджета Slider теперь кликабельный результат, можно ввести число
- Виджеты DateTime и Date теперь выводят и отправляют unix время с учётом часового пояса браузера
-
v1.1.5
- Виджету LED добавлена настройка цвета включенный/выключенный
- Виджету Confirm добавлена возможность подключить bool переменную для результата
- Добавлена возможность отправить всплывающее окно в Update
-
v1.1.6
- Добавлен виджет LabelNum для чисел
- Добавлены настройки вебморды (таймаут соединения, слайдеров, апдейтов)
-
v1.1.8
- Разбивка на пакеты для меньшего использования памяти
- Добавлен LabelFloat
-
v1.1.12
- Добавлена поддержка цвета виджетам Slider и Switch
-
v1.2.0
- Добавлен двойной слайдер
- Добавлен логгер (Web Serial)
- Добавлена поддержка кастомных виджетов на JS
- Добавлены обработчики скачивания и загрузки файлов
-
v1.2.5
- Добавлена очистка в Logger
- Умная автопрокрутка в Log
- Изменён дизайн Password
- Редизайн кнопок
- Обработка события и состояния подключения браузера
- Два стиля разделителя для Row
- Добавлен виджет HTML
- Добавлен виджет кнопки с событиями нажатия и отпускания
- Виджету Input добавлен regex + ограничение длины (для char[])
- Виджетам Date и DateTime можно задать часовой пояс для отображения
- Добавлена синхронизация времени с браузера
- Добавлен виджет вывода изображения из интернета или с флешки
- Добавлен виджет стрима с камеры ESP32-CAM
- Добавлен виджет "Вкладки"
- Обновление с цветом
- Настройка цветовой схемы всей вебморды
- Расширена документация, добавлены примеры
При нахождении багов создавайте Issue, а лучше сразу пишите на почту alex@alexgyver.ru
Библиотека открыта для доработки и ваших Pull Request'ов!
При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:
- Версия библиотеки
- Какой используется МК
- Версия SDK (для ESP)
- Версия Arduino IDE
- Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
- Какой код загружался, какая работа от него ожидалась и как он работает в реальности
- В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код