https://github.com/gyverlibs/settings
Простой конструктор вебморды для настроек esp8266/esp32
https://github.com/gyverlibs/settings
arduino esp32 esp8266 gui settings settings-gyver settingsesp settingsgyver ui webface
Last synced: 5 months ago
JSON representation
Простой конструктор вебморды для настроек esp8266/esp32
- Host: GitHub
- URL: https://github.com/gyverlibs/settings
- Owner: GyverLibs
- License: gpl-3.0
- Created: 2024-07-04T13:12:05.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-05T22:01:10.000Z (over 1 year ago)
- Last Synced: 2025-01-31T05:33:18.887Z (over 1 year ago)
- Topics: arduino, esp32, esp8266, gui, settings, settings-gyver, settingsesp, settingsgyver, ui, webface
- Language: C
- Homepage:
- Size: 1.07 MB
- Stars: 43
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/GyverLibs/Settings/releases/latest/download/Settings.zip)
[](https://registry.platformio.org/libraries/gyverlibs/Settings)
[](https://alexgyver.ru/)
[](https://alexgyver.ru/support_alex/)
[](https://github-com.translate.goog/GyverLibs/Settings?_x_tr_sl=ru&_x_tr_tl=en)
[](https://t.me/GyverLibs)
# Settings
Библиотека для создания простого веб-интерфейса настроек на esp8266/esp32
- Веб-приложение весит около 20кб и вшивается в программу в бинарном gzip виде без возни с файлами
- Удобный билдер панели управления из скетча
- Два десятка типовых виджетов с возможностью объединения в группы и вложенные меню, в том числе вывод графиков + кастомные виджеты
- Система авторизации с разными правами для авторизованных юзеров и гостей
- Файловый менеджер и OTA (обновление по воздуху)
- Интеграция с библиотекой [GyverDB](https://github.com/GyverLibs/GyverDB) для полностью автоматического хранения данных
- Компактный бинарный протокол связи
- Легко адаптируется под любую библиотеку HTTP сервера, из коробки реализовано три версии: GyverHTTP, стандартный esp-WebServer, ESPAsyncWebserver
- Из коробки поддерживает вебсокет со сторонними библиотеками
- Исходник веб-приложения [здесь](https://github.com/GyverLibs/Settings-web)
> [!TIP]
> Есть приложение для поиска устройств с библиотекой в локальной сети:
> - [Android](https://github.com/GyverLibs/Settings-discover)
> - [Windows](https://github.com/TonTon-Macout/APP-for-AlexGyver-Settings)
> - iOS: [AppStore](https://apps.apple.com/us/app/gyver-settings/id6751504764) | [Репозиторий](https://github.com/Vl-VSV/Gyver-Settings)

## Документация
Находится в [папке docs](https://github.com/GyverLibs/Settings/tree/main/docs/1.main.md)
## Совместимость
ESP8266, ESP32
> [!CAUTION]
> **ESP8266** Подключение в проект библиотеки FastLED версии старше [3.7.8](https://github.com/GyverLibs/Settings/issues/35#issuecomment-2691839527) ломает вебсервер! Ждём фиксов со стороны ESP или FastLED
### Зависимости
- [GTL](https://github.com/GyverLibs/GTL) v1.3.0+
- [GyverDB](https://github.com/GyverLibs/GyverDB) v1.3.0+
- [StringUtils](https://github.com/GyverLibs/StringUtils) v1.4.30+
- [GyverHTTP](https://github.com/GyverLibs/GyverHTTP) v1.0.26+
- [BSON](https://github.com/GyverLibs/BSON) v2.1.0+
- [Stamp](https://github.com/GyverLibs/Stamp) v1.4.0+
- [Table](https://github.com/GyverLibs/Table) v1.2.0+
- [StreamIO](https://github.com/GyverLibs/StreamIO) v1.0.5+
> [!TIP]
> При установке из реестра PIO или Arduino IDE все зависимости установятся автоматически!
Дополнительно (ставится вручную):
- [arduinoWebSockets](https://github.com/Links2004/arduinoWebSockets) для версии SettingsGyverWS/SettingsESPWS
- [ESPAsyncTCP](https://github.com/esphome/ESPAsyncTCP) для версии SettingsAsync/SettingsAsyncWS
- [ESPAsyncWebServer](https://github.com/esphome/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
- Добавлен виджет "Вкладки"
- Обновление с цветом
- Настройка цветовой схемы всей вебморды
- Расширена документация, добавлены примеры
- v1.3.0
- Добавлена поддержка websocket во все три версии сервера
- Добавлена поддержка SD карты одновременно с Flash памятью
- Отправка обновлений из любого места в программе (по websocket)
- Добавлен виджет графиков: 4 типа графиков с поддержкой бинарных таблиц и csv
- Добавлен виджет джойстик
- В логгер добавлена подсветка цветом строк с учётом их статуса (ошибка, предупреждение, инфо)
- Добавлена группировка опций в виджет Select
- При запросе перезагрузки Reload теперь сохраняется текущее открытое меню, если иерархия и названия меню не изменились
- Добавлен виджет Ссылка
- Добавлен минимум и максимум в Number
- Мелкие исправления и улучшения
## Баги и обратная связь
При нахождении багов создавайте **Issue**, а лучше сразу пишите на почту [alex@alexgyver.ru](mailto:alex@alexgyver.ru)
Библиотека открыта для доработки и ваших **Pull Request**'ов!
При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:
- Версия библиотеки
- Какой используется МК
- Версия SDK (для ESP)
- Версия Arduino IDE
- Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
- Какой код загружался, какая работа от него ожидалась и как он работает в реальности
- В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код