ESP, IoT WiFi лампа/гирлянда/информер ws2812/HUB75 - Обсуждение прошивки FireLamp_EmbUI

FireLamp_EmbUI - деполитизированный форк проекта "огненной" лампы (исходный проект FireLamp_EmbUI)

Проект был пересобран из старых форков и архивов репозитория пользователей и участников разработки. В исходном проекте был полностью выпилен русский язык, задним числом переписана история разработки в Git и удалена соотвествующая тема форума. Данный форк это не срез исходного репозитория, хотя сохранил часть общей истории до определенного момента.

Проект эволюционировал от "лампы" в гибридную прошивку для адресных лент / HUB75 RGB панелей.

Эволюцию проекта и смежные вопросы (архив) в теме универсальный информер/часы/лампа/гирлянда

Примеры работы проекта:



Внимание! Более актуальное описание и документацию можно найти на странице проекта в GitHub, шапка обновляется редко.
Так же рекоммендуется заглянуть в WiKi проекта, туда будет по мере возможностей собираться более подробная информация по функционалу лампы

Концепт
Исходный проект был значительно переписан и реструктурирован. В разработке основное внимание уделяется структуре кода, декомпозиции и объектоориентированности даже в ущерб функциональнсти и "фичам". Основная идея развития - вся конфигурация и управление периферией должна быть максимально доступна во время работы кода без необходимости пересборки всего проекта. Параметры в конфигурационных файлах и опции сборки сводятся к минимуму, упраздняются и заменяются настройками через WebUI.

ESP8266 vs ESP32

Разработка ведется только под контроллеры семейства esp32. ESP8266 морально устарел, было принято решение не тратить время на поддержку совместимости и уделить больше времени и ресурсов актуальной платформе. Последний стабильно работающий на контроллерах 8266 выпуск проекта - версия v3.1.1, используйте на свое усмотрение, корректная сборка с обновлёнными библиотеками не гарантируется.

Бинарные сборки
Проект можно прошить в чистую плату используя готовые сборки со страницы выпусков. Бинарные образы подготавливаются и прикрепеляются к выпускам начиная с v3.6.0. В списке Assets можно нати архивы factory_images_XX.zip и firmware_images_v3.6.0.zip. Factory - полный образ прошивки готовый для заливки в чистую плату, содержит в себе полный набор компонентов включая образ файловой системы с веб-ресурсами. Firmware - образы для обновления предыдущей версии прошивки, пригодные для заливки по воздуху через WebUI (OTA).


Как собрать проект
Для Windows понадобится установить git, python, platformio, проще всего это сделать с помощью скрипта. Подробнее можно прочесть в WiKi

Легкий способ:
для пользователей Windows OS можно использовать builder скрипт. Билдер был изначально написан @kostyamat (за что ему спасибо), адаптирован под форк текущей комадой (@andy040670).
Запускаете билдер и последовательно проходите шаги установки питона, гит, платформио, клонирование репозитория и сборку требуемого варианта прошивки.

Правильный способ:
Проект собирается с помощью Platformio
Для сборки проекта понадобится следующее:
Установить IDE Visual Studio Code, и, в качестве плагина к ней, установить Platformio. О том как это сделать можно найти массу роликов на youtube, например этот.

Желательно еще установить Git, обновлять проект будет значительно проще

Как скачать/обновлять проект

Актуальный срез проекта всегда можно скачать в виде zip-архива по ссылке, рекоммендуется скачивать последний выпуск со страницы релизов. Для желающих принять участие в тестировании можно поддерживать клон репозитория и подтягивать свежие обновления перед каждой новой сборкой. Открываем Git-bash, клонируем репозиторий в тукущую папку командой git clone --depth 1 --no-single-branch https://github.com/vortigont/FireLamp_JeeUI.git В дальнейшем для того чтобы обновить репозиторий достаточно перейти в папку проекта и выполнить команду 'git pull'.
Рекомендуется периодически обновлять зависимые библиотеки после обновления репозитория, обновление выполняется командой pio pkg update.

После того как вы скопировали проект (в виде zip архива или через git clone), необходимо в папке include скопировать файл user_config.h.default под новым именем user_config.h и в нем настроить сборку под свои параметры матрицы, номеров выводов и требуемых функций.

заметки по установке ПО под windows от @dina
дляпроверки того что всё ПО было установленн корректно в консоли в папке с проектом должны успешно выпоняться следующие команды:
git --version
git pull обновление репозитария
git status
pio --version
pio pkg update - обновление библиотек
pio run -e esp32 -t upload - прошивка
pio run -e esp32 -t uploadfs - прошивка Фс
git switch master - переключение на ветку мастер
git switch feat переключение на ветку feat


Сборка

  • Открываем папку проекта в VSCode
  • Что бы собрать прошивку, можно воспользоваться кнопками в нижней статусной строке:
    • PlatformIO:Build - собрать прошивку
    • PlatformIO:Upload - загрузить прошивку через USB в плату.

Platformio сам скачает необходимые библиотеки для сборки проекта.

Также можно открыть терминал с помощью клавиш Ctrl+Shit+` и воспользоваться расширенными командами для сборки проекта.

  • pio run -t upload - собрать и записать в контроллер проект по умолчанию под платформу esp32
  • pio run -e esp32debug -t upload - собрать и записать версию esp32 с отладкой, будет собрана прошивка под esp32 c выводом отладочных сообщений через serial интерфейс
  • pio deviсe monitor - запустить serial-монитор для просмотра сообщений, выдаваемых контроллером


Для работы лампы нужно сформировать и залить в контроллер образ файловой системы. Выполняется это командой аналогично записи прошивки, но с параметром -t uploadfs, к примеру
  • pio run -t uploadfs - записать в контроллер образ ФС под платформу esp32

После первой прошивки дальнейшие обновления можно заливать в контроллер по воздуху. Для этого нужно зайти браузером на контроллер по URL вида http://embui-xxxx/update, где xxxx это ID контроллера, нажать на кномку 'Firmware', выбрать файл с прошивкой и загрузить его в контроллер. Файл с прошивкой Platformio кладет в подпапки проекта:

  • .pio/build/esp32/firmware.bin - версия под esp32

В случае каких-либо проблем со сборкой, перво наперво нужно полностью очистить рабочий каталог платформио и попробовать пересобрать прошивку (платфомио заново выкачает актуальные версии зависимых библиотек).
Для очистки рабочего каталога нужно удалить из папки прокта каталог .pio

О том как настроить обновление по воздуху (OTA) для своей лампы см страницу проекта на Гитхабе.

Для знакомства с проектом можно воспользоваться собранными бинарниками от @andy040670 из этого поста

Озвучка для мп3 плеера
набор звуковых файлов для MP3 плеера можно скачать по ссылке из WiKi

Говорящие часы / кукушка
- настраиваема озвучка времени почасовая / пол часа / четверть часа
- тихие часы для отключения озвучки по ночам

Будильник
- 4 независимых будильника со своей мелодией у каждого
- каждый будильник может иметь один из режимов на выбор
- однократное срабатывание
- ежедневное срабатывание
- по будним дням
- по выходным дням

Управление
Лампа управляется через WEB-интерфейс или через мобильное приложение WLED-Native-Android, WLED-Native-iOS, старый WLED


Device API описан на странице в WiKi
 
Изменено:

Комментарии

Alex7272

✩✩✩✩✩✩✩
23 Сен 2023
30
0
Для матрицы да удобно, на круглой лампе цифры не видно, да и слепит она. А на ТМ индикаторе в темное время видно хорошо, показывает основное время и на несколько секунд температуру. (сижу на "соседней прошивке" только из-за этого, так бы давно прошил Вашу) .
 

IgorYur

✩✩✩✩✩✩✩
27 Апр 2024
9
1
Добрый день.
Подскажите новичку пожалуйста - где можно скачать (ссылка) полную актуальную версию этой прошивки, с электрической схемой и перечнем комплектующих ?
 

vortigont

★★★★★★✩
24 Апр 2020
953
511
Saint-Petersburg, Russia
@IgorYur, Ссылка на репозиторий есть в шапке. Готовой схемы нет, пока еще никто не нарисовал - дерзайте.
Но вообще прошивка подходит под любой шилд для лент/панелей. Все параметры настраиваются из веб-морды.
 

IgorYur

✩✩✩✩✩✩✩
27 Апр 2024
9
1
...Готовой схемы нет, пока еще никто не нарисовал - дерзайте....
Я бы с радостью поучаствовал в рисовании, если бы хоть примерно знал, что рисовать :), может хоть от руки черновик есть ?

Пы.Сы. репозиторий скачал, спасибо.
 

IgorYur

✩✩✩✩✩✩✩
27 Апр 2024
9
1
Увы не нашел в телеге ветку с таким или похожим названием. Ладно, спасибо. буду искать дальше. Может кто из собравших здесь поделится.
 

Andron-65

★✩✩✩✩✩✩
18 Май 2020
71
18
@Alex7272, А зачем лампе температуру выводить , в информере будет и температура и прогноз погоды и другие плюшки. Собирайте информер и наслаждайтесь просмотром температуры на информере там по-моему удобней. Конечно, можно и утюгом гвозди забивать , но все же удобней молотком. Этот проект как конструктор. Хочешь лампу -пожалуйста, хочешь информер _ тоже на здоровье. Думаю собрав информер , необходимость смотреть температуру на лампе отпадет
 

Andron-65

★✩✩✩✩✩✩
18 Май 2020
71
18
@IgorYur, Думаю рисовать схему в данном проекте совсем необязательно. У каждого своя плата , и каждый имеет возможность назначить свои пины. Тут все просто. Прошиваешь . В ВЕБ назначаешь свои пины для периферии и наслаждаешься.
 

IgorYur

✩✩✩✩✩✩✩
27 Апр 2024
9
1
Думаю рисовать схему в данном проекте совсем необязательно.
То что софт гибко настраивается это очень хорошо. Но всему должен быть разумный предел. Но вот я например (и наверное не только я) не знаю какие выводы я могу использовать для управления матрицей (к тому же это еще зависит и от матрицы - у HUB75 управляющих 13 (!!!) пинов) ) или куда подключить какую нибудь периферию (микрофон, звук и т.д.). И что делать в этом случае? Прошивать, потом смотреть в ВЕБе какие пины поддерживает прошивка и уже потом распаивать ? Удобно ? Уверен нет. Поэтому , как только я соберу рабочую версию, то планирую оформить схему и выложить здесь для всех. А там каждый будет вправе решать - использовать те соединения , что и я или перенастроить по другму.
 

dina

★★✩✩✩✩✩
3 Окт 2021
336
84
49
@IgorYur, А на первой странице ,зайти на гит хаб и почитать,что есть и чего нет.вся информация в вики проекта. и не ныть, а считать это тестом на профпригодность. :) Если схему будете делать ,то учитывайте поддержу вс 2812 ,хаб 75 и мах 7219.
 
Изменено:

IgorYur

✩✩✩✩✩✩✩
27 Апр 2024
9
1
@dina, Все свои тесты на профпригодность я сдал более 40 лет назад. А сейчас я просто наслаждаюсь процессом. И с радостью поделюсь полученной инфой и знаниями с другими, от меня не убудет.
 
  • Лойс +1
Реакции: dina

dina

★★✩✩✩✩✩
3 Окт 2021
336
84
49
У меня эти схемы с цветными картинками и цветными линиями ,паранойю и мигрень вызывают.Мне легче в даташит поглядеть ,свою профпригодность ,я тоже 40 лет назад подтвердил.
 

vortigont

★★★★★★✩
24 Апр 2020
953
511
Saint-Petersburg, Russia
народ, вики открыта для всех - рисуйте, выкладывайте, дописывайте. Схемы нет потомучто её банально никто до сих пор еще не нарисовал, не потому что все должны читать даташиты )
Как только кто-то нарисует - я добавлю в вики и в сам проект.
 

Alex7272

✩✩✩✩✩✩✩
23 Сен 2023
30
0
@Andron-65, Зачем мне дополнительно делать информер, когда есть лампа с ТМ индикатором который не слепит ночью. В зимнее время очень удобно: Открыл глаза, глянул температуру и решил включать прогрев машины или нет.
 

Andron-65

★✩✩✩✩✩✩
18 Май 2020
71
18
@Alex7272,C Вами полностью согласен если есть лампа , то делать информер совсем необязательно. Зачем если лампа устраивает. Но многим кроме лампы информер тоже не помешает. Это же не говорит о том, что если есть лампа, всем остальным не надо делать информер. Я думаю, автор и пишет код информера не для тех кому он не нужен, а для тех кому он очень нужен и нужен функциональный. К тому же с таким функционалом картинка поверх картинки по-моему еще и нет. Согласитесь что одному удобно смотреть температуру на маленьком индикаторе, другому чтобы информер включил утром чайник посредством внешнего реле. у третьего еще какая нибудь бредовая идея в голову придет. Но это же не говорит о том что все желания автор должен воплотить в жизнь.
 

dina

★★✩✩✩✩✩
3 Окт 2021
336
84
49
Автор же сказал ,про температуру на тм 1637 ,что бы хотелки на гит ,в исуе добавили. Если не добавили ,значит не больно и нужна. Глядя в исуе ,Автор планирует фронт работ.
 

Alex7272

✩✩✩✩✩✩✩
23 Сен 2023
30
0
@dina,Я добавил, только с гитом проблемы, надеюсь добавил туда Github. Если нет исправьте пожалуйста.