GyverHub [beta]
Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса, интеграция в умный дом.
⚠️⚠️⚠️ Бета-версия, проект в разработке!. Более подробные примеры, документация, уроки, видеоролики и прочее по GyverHub - ПОСЛЕ РЕЛИЗА. Когда - не знаю, может в этом году. Обсуждение тут и в Телеграм чате ⚠️⚠️⚠️ |
Если вам нужна старая версия библиотеки или приложения (2023 год) - они в ветке old
Документация находится в Wiki репозитория. English docs - translate
Внимание! Перед началом работы обязательны к прочтению главы по установке библиотеки и настройке приложения
О проекте
GyverHub - это платформа, состоящая из библиотеки для устройства (Arduino-совместимого микроконтроллера) и приложения для управления. Приложение написано на JavaScript и может работать:
- Как онлайн версия на официальном сайте hub.gyver.ru: HTTP и HTTPS версия, есть HTTPS зеркало на GitHub Pages
- Как веб-приложение (оффлайн PWA): официальный сайт можно установить на любое устройство (Android/iOS/Linux/Windows/Mac...)
- Как телеграм-приложение
- Как нативное приложение:
- Как автономная вебморда из Flash памяти ESP8266/ESP32 - инструкция
Устройством может быть:
- ESP8266 и ESP32 - библиотека нативно поддерживает их WiFi функции для работы по HTTP/WS/MQTT
- Любые Arduino - работают в ручном режиме по любому способу связи
- Компьютер (персональный, одноплатный) - библиотека сервера на Python (в разработке)
Устройство и приложение обмениваются данными по своему протоколу через различные интерфейсы связи:
- MQTT - через Интернет (свой или сторонний MQTT брокер)
- HTTP + WebSocket - в локальной WiFi сети
- Serial - по USB или Bluetooth Serial
- Bluetooth - через Bluetooth BLE
- Telegram - через телеграм-ботов
Основные моменты:
- Приложение может обнаруживать устройства в своей "сети"
- В прошивке для устройства "собирается" графический интерфейс, который отправляется в приложение
- Можно управлять устройством в приложении или с сайта, даже через Интернет
- Библиотека позволяет максимально просто добавить устройство в систему умного дома по MQTT (Алиса, Home Assistant...)
- Полностью автоматический парсинг данных с приложения и умного дома
- Более 30 виджетов панели управления (кнопки, слайдеры, выключатели...)
- Полная кастомизация: можно создавать свои виджеты, подключать скрипты и стили в приложение
- Доп. модули: сенсорный графический дисплей, менеджер файлов, информация об устройстве, OTA обновление, проверка обновлений на GitHub, защита паролем, командная строка...
- 1000 FontAwesome иконок оформления для кнопок и списка устройств
- Тёмная и светлая темы, несколько цветовых схем, мультиязычный интерфейс
- Не имеет своего сервера и "личного кабинета", работает полностью автономно на ПК/смартфоне
- Открытая база пользовательских проектов
- OTA обновление проектов с GitHub, прошивка проектов из браузера по USB
В отличие от аналогов (RemoteXY, Blynk) GyverHub:
- Полностью бесплатный
- Не имеет ограничений
- Не привязан к серверам разработчика
- Не нуждается в локальном сервере
- Может работать без приложения и без доступа к Интернет
Благодарности
- neko-neko-nyan - идеи, советы и доработки И МНОГО МНОГО ВСЕГО ЕЩЁ!
- ZMain, DiTheRX - мобильное приложение (Android, iOS)
- neko-neko-nyan - десктопное приложение (Windows)
- Serega88kos - тестирование, идеи
- DenysChuhlib - идеи
- IliaSalaur - идеи
Версии
Обновление
- Рекомендую всегда обновлять библиотеку: в новых версиях исправляются ошибки и баги, а также проводится оптимизация и добавляются новые фичи
- Через менеджер библиотек IDE: найти библиотеку как при установке и нажать "Обновить"
- Вручную: удалить папку со старой версией, а затем положить на её место новую. "Замену" делать нельзя: иногда в новых версиях удаляются файлы, которые останутся при замене и могут привести к ошибкам!
Баги и обратная связь
При нахождении багов создавайте Issue, а лучше сразу пишите на почту alex@alexgyver.ru
Библиотека открыта для доработки и ваших Pull Request'ов!
При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:
- Версия библиотеки
- Какой используется МК
- Версия SDK (для ESP)
- Версия Arduino IDE
- Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
- Какой код загружался, какая работа от него ожидалась и как он работает в реальности
- В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код