vvip-68 / LedPanelWiFi

LED панель или гирлянда на WS2812/WS2813, управление ESP8266/ESP32, Web-интерфейс
71 stars 14 forks source link

PROJECT_PHOTO

WiFi панель или гирлянда на ESP8266 / ESP32 с Web-интерфейсом

Описание проекта

Этот проект является продолжением и развитием проекта "Крутая WiFi панель / гирлянда на esp8266 своими руками", который был зафиксирован на версии 1.13. В отличие от версии 1.13, версия 1.14+ имеет возможность управления через Web-интерфейс, что несомненно должно порадовать владельцев iPhone и тех, кому не подходит по каким-то причнам управление через Android-приложение.

Что может огорчить - версия 1.14 несовместима с Android-приложением от предыдущей версии. Также - если вы управляли своей гирляндой удаленно через MQTT с андроид приложения из проекта - вам лучше оставаться не предыдущей версии - этав версия управление через MQTT не поддерживает. Возможно, когда найдется специалист, способный четко на уровне ТЗ описать взаимодействие контроллера с MQTT брокером на уровне, описывающем какие команды отправлять, какие слушать, формат команд, как поддержать интеграцию с умным домом, тогда управление через MQTT и вернется в прошивку. Пока - нет.

Основное назначение проекта - настенные экраны или гирлянды на широкие балконы. Полный функционал реализуется для матриц с размерами от 23x11. Для матриц меньших размеров существуют некоторые ограничения, связаные, например, с невозможностью отображения часов крупным шрифтом 5x7 для которого требуется матрица не менее 23 пикселей по ширине. Для матриц менее 23 колонок шириной в часах может использоваться только шрифт 3x5 для которого достаточно 15 колонок. Для функции "Бегущая строка" минимальная высота матрицы - 8 пикселей. Таким образом, заводские матрицы размером 16x16 прекрасно подходят для сборки часов-будильника со спецэффектамми, а заводские матрицы 32x8 - для мини-бегущей строки-информатора.

Матрицы могут собираться в сборки, состоящие из заводских матриц одинакового или разного размера. Так, для бегущей строки можно собрать матрицу 64x8, 96x8 или 128x8. Единственное ограничение на размеры матрицы - не более 128 диодов по ширине и высоте.

Общее количество светодиодов, которые поддерживает прошивка зависит от типа используемого микроконтроллера.

Для плат на базе микроконтроллера ESP8266 общее количество диодов не должно превышать 600-800. При бОльшем количестве светодиодов в матрице ввиду малого объема доступной оперативной памяти устройство может работать нестабильно при управлении через Web-интерфейс. Страница управления может не открываться в браузере или открытие страницы может приводить к перезагрузке микроконтроллера.

Платы на базе микроконтроллера ESP32 имеют существенно больший объем доступной оперативной памяти и могут управлять матрицами значительно большего размера.

Железо

Фишки

Эффекты:

Интерактивные игры:

Кнопка управления режимами, последовательность переключения:

Будильник сработал, идет рассвет или мелодия пробуждения

Схема

Варианты схем с различным набором компонент, для микроконтроллеров ESP8266 - NodeMCU, Wemos d1 mini, ESP32 представлены здесь.

SCHEME

Вариант релизации от Дмитрия (7918514) - схемы, фотографии сборки и готового изделия, печатные платы - все материалы доступны по ссылке в папке "Монстр".

Вам скорее всего пригодится

Как скачать и прошить

Подробная инструкция тут

Важно

Если проект не собирается (ошибки компиляции) или собирается, но работает неправильно (например вся матрица светится белым и ничего не происходит) - проверьте версии библиотек. Используйте библиотеки из папки libraries проектаю Данный проект рассчитан на работу с версиями ядра плат ESP8266 версии 3.1.2, ESP32 версии 1.0.6 и библиотеки FastLED версии 3.5.0;

Не используйте библиотеку поддержки плат ESP8266 (ядро) версии отличной от 3.1.2 и ESP32 версии отличной от 1.0.6 - с ними проект нормально работать не будет ввиду несовместимости с библиотекой FаstLED указанной версии, а также ввиду проблемной реализации функций ядра новых версий из за чего эффекты и бегущая строка выводятся с подергиваниями

Внимание!!!
При использовании ESP32 с версией ядра 1.0.6 обязательно выполнение следующих действий:

Если указанное выше не будет выполнено - при попытке сменить эффект в Web-интерфейсе вы получите перезагрузку микроконтроллера с сообщением, содержащим строки либо 'Stack overflow' либо 'Heap corrupted'

Прошивка использует для работы и хранения настроек - файловую систему микроконтроллера. В вариантах компиляции в настройках в меню Arduino IDE "Инструменты"

Для возможности обновления прошивки "по воздуху" (Over The Air, OTA) - вариант разметки файловой системы должен включать в себя опцию ОТА для ESP8266 или APP для ESP32

Полезная информация