Skip to content

Простой конструктор вебморды для настроек esp8266/esp32

License

Notifications You must be signed in to change notification settings

GyverLibs/Settings

Repository files navigation

latest PIO Foo Foo Foo

Foo

Settings

Библиотека для создания простого веб-интерфейса настроек на esp8266/esp32

  • Веб-приложение весит около 20кб и вшивается в программу в бинарном gzip виде без возни с файлами
  • Удобный билдер панели управления из скетча
  • Два десятка типовых виджетов с возможностью объединения в группы и вложенные меню, в том числе вывод графиков + кастомные виджеты
  • Система авторизации с разными правами для авторизованных юзеров и гостей
  • Файловый менеджер и OTA (обновление по воздуху)
  • Интеграция с библиотекой GyverDB для полностью автоматического хранения данных
  • Компактный бинарный протокол связи
  • Легко адаптируется под любую библиотеку HTTP сервера, из коробки реализовано три версии: GyverHTTP, стандартный esp-WebServer, ESPAsyncWebserver
  • Из коробки поддерживает вебсокет со сторонними библиотеками
  • Исходник веб-приложения здесь

Есть Android-приложение для поиска устройств с библиотекой в локальной сети

promo

Документация

Находится в папке docs

Совместимость

ESP8266, ESP32

Зависимости

Tip

При установке из реестра PIO или Arduino IDE все зависимости установятся автоматически!

Дополнительно (ставится вручную):

Версии

  • 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
  • Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
  • Какой код загружался, какая работа от него ожидалась и как он работает в реальности
  • В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код