Skip to content

GyverLibs/Settings

Repository files navigation

latest PIO Foo Foo Foo

Foo

Settings

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

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

Tip

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

promo

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

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

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

ESP8266, ESP32

Caution

Подключение в проект библиотеки FastLED версии старше 3.7.8 ломает вебсервер! Ждём фиксов со стороны ESP или FastLED

Зависимости

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
    • Добавлен виджет "Вкладки"
    • Обновление с цветом
    • Настройка цветовой схемы всей вебморды
    • Расширена документация, добавлены примеры
  • v1.3.0

    • Добавлена поддержка websocket во все три версии сервера
    • Добавлена поддержка SD карты одновременно с Flash памятью
    • Отправка обновлений из любого места в программе (по websocket)
    • Добавлен виджет графиков: 4 типа графиков с поддержкой бинарных таблиц и csv
    • Добавлен виджет джойстик
    • В логгер добавлена подсветка цветом строк с учётом их статуса (ошибка, предупреждение, инфо)
    • Добавлена группировка опций в виджет Select
    • При запросе перезагрузки Reload теперь сохраняется текущее открытое меню, если иерархия и названия меню не изменились
    • Добавлен виджет Ссылка
    • Добавлен минимум и максимум в Number
    • Мелкие исправления и улучшения

Баги и обратная связь

При нахождении багов создавайте Issue, а лучше сразу пишите на почту alex@alexgyver.ru
Библиотека открыта для доработки и ваших Pull Request'ов!

При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:

  • Версия библиотеки
  • Какой используется МК
  • Версия SDK (для ESP)
  • Версия Arduino IDE
  • Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
  • Какой код загружался, какая работа от него ожидалась и как он работает в реальности
  • В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код