Awesome
Огненная лампа FireLamp_EmbUI
Информер, лампа, гирлянда с поддержкой светодиодных матриц/лент ws2812 и HUB75 RGB панелей.
Канал в Telegram для общения пользователей прошивки - LampDevs
Группа ВКонтакте
<details> <summary>Project Manifest</summary> Деполитизированный форк проекта "огненной" лампы [FireLamp_EmbUI](https://github.com/DmytroKorniienko/FireLamp_EmbUI). Проект был пересобран из старых форков и архивов репозитория пользователей и участников разработки на момент примерно 2021 года. В [исходном](https://github.com/DmytroKorniienko/FireLamp_EmbUI) проекте был полностью вырезан русский язык, задним числом переписана история разработки в Git и удалена соотвествующая тема [форума](https://community.alexgyver.ru/threads/wifi-lampa-budilnik-obsuzhdenie-proekta.1411/). Данный форк это не срез исходного репозитория, хотя сохранил часть общей истории до определенного момента. </details>Галерея
Содержание
WiKi проекта
Актуальную документацию по проекту можно найти в WiKi
Прошивка / сборка проекта
Подробно опции прошивки сборки описаны в WiKi Залить собраную прошивку можно через ESPWebFlasher
Концепт
Исходный проект был полностью реструктурирован и переписан. Из "огненой лампы" проект трансформировался в универсальный движёк для работы как с адресными лентами так и RGB HUB75 панелями. Проект академический, используется как платформа для разработки отдельных библиотек под платфому ESP32. Целью разработок - создание качественных асинхронных библиотек, классов и компонентов.
В разработке основное внимание уделяется структуре кода, декомпозиции и объектоориентированности в ущерб набору "фич" и количества функций. Основная идея развития - проект должен быть лекго конфигурируем и полностью настраиваться без необходимости создания дремучих конфиг файлов и пересборок уникальных прошивок. Вся периферия и функционал должен быть максимально гибко настраиваем уже во время работы кода без необходимости пересборки/перепрошивки проекта. Проект поставляется в виде бинарных сборок, может быть прошит и использован с любым шильдом/платой под HUB75 информеры/ленты. назначение выводов под периферию выполняется целиком из WebUI.
Библиотеки, используемые в проекте
В процессе работы на проектом были разработаны с нуля или адаптированы следующие библиотеки:
- EmbUI - Embedded WebUI framefork. Building interactive UI based on websockets for your Arduino projects
- ESPAsyncButton - Event-based asynchronous button library for ESP32 family chips. It generate events for various button press patterns, like short/long press, clicks, autorepeat, multiple clicks
- LedFB - template-based LED framebuffer library for FastLED / AdafruitGFX API
- DFMiniMp3 - библиотека DFPlayer'а от Makuna, адаптированная для run-time конфигурации
- esp32-flashz - zlib compressed OTA firmware update for ESP32. Implements on-the-fly OTA images decompression on upload/flashing
- TM1637 - адаптированная библиотека от AKJ7 переработанная для дополнительных эффектов анимации
- ESP32-DNSServerAsync - Async version of ESP32's DNSServer based on AsyncUDP lib
- [CronoS]https://github.com/vortigont/CronoS) - task scheduler for ESP32 based on RTOS with CRON syntax sugar
ESP8266 vs ESP32
Разработка ведется под контроллеры семейства esp32. ESP8266 морально устарел, было принято решение не тратить время на поддержку совместимости и уделить больше времени и ресурсов актуальной платформе. Последний стабильно работающий на контроллерах 8266 выпуск проекта - версия v3.1.1, прочий код в ветке legacy.