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

Константин 271

★★★✩✩✩✩
12 Июл 2020
953
106
@andy040670, у меня сейчас эта прошивка стоит на лампе 730 диодов. Меньше 13к памяти не бывает. Иногда неск. дней стабильно всё, иногда - падает по неск. раз, ребутится при попытке переключить эффект или просто в web-интерфейсе что-то обновить, походить по нему. А с Алисы - не падало ни разу.
esp8266
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
Меньше 13к памяти не бывает. Иногда неск. дней стабильно всё, иногда - падает по неск. раз, ребутится при попытке переключить эффект или просто в web-интерфейсе что-то обновить
Я и говорю, что с памятью всё нормально, падения хаотичные. Просто включаю и падает, потом работает, или как вы справедливо заметили, "при попытке переключить эффект или просто в web-интерфейсе что-то обновить".
Может проработать 1 минуту, а может два круга в демо пройти (30 сек эффект, без 0, 250, 254, 255 эффектов)
Тут даже делать ничего не надо.
В прошивке включено только мп3 и микрофон.

Как я уже писал выше, у меня осталась плата прошитая с моего репо, до того как я случайно его испортил, попыткой слить дев в мастер, так вот, она самая стабильная.
Поставил на прогон, пока 0 вылетов.
1.png
Надеюсь vortigont поправит, приведёт к исходному состоянию и улучшит (оптимизирует) прошивку со временем.
 
Изменено:

Константин 271

★★★✩✩✩✩
12 Июл 2020
953
106
@andy040670, ясно.

А вы замечали такой глюк: Мерцание, скорость 127 - если её уменьшить, то за минуту все точки исчезают и новых не появляется. Музыка играет, свечения нет) Матрица 16*16
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
Мерцание, скорость 127 - если её уменьшить, то за минуту все точки исчезают и новых не появляется.
Здесь не понятно что вы имеете в виду. Скорость меняется, последствий нет, на старой прошивке, vortigont'а и на украинской.
Музыка играет, свечения нет) Матрица 16*16
Музыка играет, свечения нет потому что нет у меня матрицы)))
 

Константин 271

★★★✩✩✩✩
12 Июл 2020
953
106
Здесь не понятно что вы имеете в виду.
Вспышки мерцания секунд за 20-30 все исчезают полностью. Лампа тухнет. Т.е. перестают новые появляться. Стоит лишь потрогать скорость. Если вернуть на 127 и выкл/вкл - эффект снова работает как надо.

нет у меня матрицы)))
Понятно, вы - не проверите )))


@andy040670, - а как там красный цвет графики включен? Палитру тоже менять можно?
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
особо не ковырялся пока, но из того что оставлял на выходные крутиться видно что по памяти текут и 8266 и есп32. 8266 у меня часов по 6 работала, на каком эффекте падала я не следил. У есп 32 просто памяти больше, но тоже течет. Тут бы отделить зерна от плевел - течет какой-то эффект или что-то прочее в коде
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
Тут бы отделить зерна от плевел - течет какой-то эффект или что-то прочее в коде
Утечка как я понял постоянная, потому что копится. У меня хватает только на 2 круга демо, 30 сек на эффект.
Падение на втором круге происходит всегда на эффекте 71. Меташары, следующий эффект тоже сильно жрёт память.
 

Константин 271

★★★✩✩✩✩
12 Июл 2020
953
106
Что нужно изменить/добавить строки и в каких файлах, чтобы через mqtt менять громкость плеера? На данный момент, команды вроде есть, но они не работают - громкость не меняется.
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@Константин 271, для начала снимите лог где будет видно работают они или нет.
У меня нет плеера, я смотрел по логу - что-то там на команды отрабатывает. Детально разбираться вам, раз у вас плеер есть ) Дальше будем думать.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
для начала снимите лог где будет видно работают они или нет.
У меня нет плеера, я смотрел по логу - что-то там на команды отрабатывает.
Отрабатывают
Через веб интерфейс:
Bash:
DFplayer: Set volume: 17
Eff:1, FPS: 0, FastLED FPS: 0
MEM stat: 23680, HF: 11, Time: 17:35
По HTTP: /cmd?mp3volume=1
Bash:
pubCallback :
HTTP: MP3VOLUME - 1
SET
RA 0: 1
Не работает.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
а если так?
/cmd?MP3_VOL=10
Так работает:
Bash:
pubCallback :
HTTP: MP3_VOL - 10
SET
RA 22: 10
DFplayer: Set volume: 10
HTTP: MP3_VOL - 10
SET
RA 22: 10
DFplayer: Set volume: 10
Но в UI значение меняется только после перезагрузки страницы.
P/s
В украинской были не давно правки по этому поводу: MP3 volume http/mqtt control
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,585
1,552
Погоняв прошивку на 8266 в режиме демо 30 сек на эффект, заметил что после ~ 2-3 часов плата ребутится, как правило на эффекте "Метошары"
По идее, ещё Синусоид должен начинать тормозить спустя несколько дней.
Эффекты с багами до сих пор.
 

Константин 271

★★★✩✩✩✩
12 Июл 2020
953
106
для начала снимите лог где будет видно работают они или нет.
я на деле проверял. Команда идёт. Громкость не меняется.
Лог - как и чем?
В украинской были не давно правки по этому поводу
Да. Там - добавили.
 

Константин 271

★★★✩✩✩✩
12 Июл 2020
953
106
Кстати, как в этой лампе попросить произнести время, аналогично 6-кратному тапу по сенсору в прошивке Fiery? Т.е. в произвольный момент жму - слышу время.
И как запрограммировать говорить время ежечасно, к примеру? Желательно пример. Я так и не добился никакого произношения.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
я на деле проверял. Команда идёт. Громкость не меняется.
/set/MP3_VOL 15 , значение 0-30.
Кстати, как в этой лампе попросить произнести время, аналогично 6-кратному тапу по сенсору в прошивке Fiery? Т.е. в произвольный момент жму - слышу время.
6 касаний - отображение текущего времени с бегущей строкой, на включённой лампе. (Должна говорить если настроено)
И как запрограммировать говорить время ежечасно, к примеру? Желательно пример. Я так и не добился никакого произношения.
События -> Добавить -> Вывести время. Дата/время события (начало, с какого времени начать). Повтор=60. Останов через, мин=0. В любом состоянии=по желанию. Озвучивать время=вкл. Повтор, дни недели=выбрать все. -> Добавить.

Настройки -> DFPlayer -> Время=вариант 2. -> Сохранить.
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
Лог - как и чем?
Нужно собрать и залить прошивку в дебаг версии, вроде как в билдере это все есть, и там же команада на запуск монитора - запускаете при подключенной лампе и смотрите сообщения в консоль.
фух... освойте уже консоль, все станет намного проще. В папке проекта команда pio device monitor -e esp8266dev

@andy040670,
может сразу в шапку такие советы? Заберёте тему? Я постараюсь фак на гитхабе в маркдаун тоже оформить.

Нашел я (наверняка не последнее) место где память течет - это всё любимые контролы которые пересоздаются дважды при смене эффекта :) Тут структура из списка на указатели, кдн её копирует простым присвоением, а оператора копирования у списка нет. В итоге периодически появляются висячие указатели и use-after-free, оно будет либо падать случайно либо течь. Я недавно заменил либу списков на свою, где реализован deep-copy, и оно потекло как из ведра :)
Получается довольно много править, доведу до консистенции, выложу обновку. Хотя всех проблем это явно не решит, тут много таких мест.
 
  • Лойс +1
Реакции: andy040670

Константин 271

★★★✩✩✩✩
12 Июл 2020
953
106
/set/MP3_VOL 15 , значение 0-30.
команда /user/*********/2ABF25D12345/embui/set/MP3_VOL и payload {value} не срабатывает. Громкость не меняется. Сервак mqtt.by - но я пробовал и другие. Все работает, кроме громкости. Да и сам автор на гитхабе отвечал, что управления громкостью не было. Так что рулиться она не может даже теоретически. И потом он уведомил, что добавил эту функцию. Т.е. надо брать с гитхаба то, что он сделал после своего сообщения. Либо надо править ручками файлы в русской версии - знать бы что и куда он вписал. Наверняка это пара строк в паре файлов.

(Должна говорить если настроено)
может, и должно, но ни разу у меня не говорило. Посылка текста %TM тоже не приводит к произношению, хотя время - "бежит".

Настройки -> DFPlayer -> Время=вариант 2. -> Сохранить.
Строкой - да, выводит, и то - только на включенной лампе, во время проигрывания эфекта. На выключенной ничего. А время - не произносит. Строка - бежит синим цветом.

События -> Добавить -> Вывести время. Дата/время события (начало, с какого времени начать). Повтор=60. Останов через, мин=0. В любом состоянии=по желанию. Озвучивать время=вкл. Повтор, дни недели=выбрать все. -> Добавить.
а вот это - сработало! Даже на выключенной - сперва бегущая зелёная строка, потом - произношение. Сделал каждую минуту. Работает. Говорит. Но по 6-кратному тапу не говорит, да и не показывает, если лампа выключена.

Нужно собрать и залить прошивку в дебаг версии
это для меня тёмный лес.
Я только билдером делаю)
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
может, и должно, но ни разу у меня не говорило. Посылка текста %TM тоже не приводит к произношению, хотя время - "бежит".
У меня говорит на включенной лампе. На выключенной говорить не будет, так задумал автор, чтоб ночью лампа кого нибудь заикой не оставила.
команда /user/*********/2ABF25D12345/embui/set/MP3_VOL и payload {value} не срабатывает.
По HTTP отрабатывает нормально. HTTP и MQTT команды одни и те же, по крайней мере так задумывалось автором. Подымать локального москита мне сейчас в лом, чтоб проверить.
это для меня тёмный лес.
Я только билдером делаю)
В билдере для esp8266 - пункт 7D - собрать и прошить с логом (DEBUG).
Для esp32 - пункт 9D - собрать и прошить с логом (DEBUG).
После прошивки в интерфейсе в "Ещё" включить чикрыжик "Отладка".
В билдере - пункт D - Вывод отладочной информации (ЛОГ) - запустит сериал порт, где увидите отладочную информацию. ЕСП должна быть подключена по usb к компьютеру.
может сразу в шапку такие советы? Заберёте тему? Я постараюсь фак на гитхабе в маркдаун тоже оформить.
Не, я тут еще не много посижу, а потом опять на пол года пропаду (пока не факт), да и не программист я от слова совсем, просто была у меня эта лампа, разобрал (матрица ушла в другую сторону). Если проект будет развивается, подумываю прикупить и матрицу. Так что лучше ВЫ.)))
 

Svetlaya

✩✩✩✩✩✩✩
12 Апр 2021
12
3
Всем привет)
Вопрос, вывод текста по MQTT работает? Если да, киньте путь пожалуйста (name/embui/set/bright)