WiFi лампа-будильник. Обсуждение прошивки от vvip-68

WiFi лампа-будильник. Обсуждение прошивки от vvip-68
Всем добрый день. Собрал светодиодную матрицу на wemos d1r1 и на прошивке от vvip-68(за прошивку огромное ему спасибо). Матрица получилась размером 102 на 16 пикселей. Захотелось управлять гирляндой с телефона, чтобы wemos был подключён к домашнему роутеру. Плата подключается к WiFi но не получает данных о погоде и данных с сервера времени. Гирлянда зависает, и плата так и не может получить данные из интернета. Монитор порта выглядит вот так:1645769623394.png
Буду благодарен любой помощи в решении проблемы.
Заранее спасибо!
 
Изменено:

Комментарии

VadZher

★✩✩✩✩✩✩
4 Ноя 2021
134
37
Омск
@Evgeny50,
Поправить можно в скетче, настройка #define COLOR_ORDER. Для одной ленты укажите значение RGB, для другой GRB. Или, Вы планируете их одновременно использовать с одним контролером?
 

vvip

★★★★✩✩✩
18 Дек 2018
518
242
@Evgeny50,
Поправить можно двумя способами. Оба требуют лезть в скетч и писать исправляющий код.
1. Разнести ленты на разные пины контроллера, отказаться от настройки пинов через WEB, прописать назначение пинов на ленты вручную.

1703237071822.png

Раскомментировать зеленый блок и прописать там свои используемые пины, порядок цветов, начало сегмента и количество диодов в сегменте
Красный блок - весь if () закомментировать

2. Либо вариант - перед отправкой сформированного изображения на ленту в цикле для каждого диода неправильной ленты поменять порядок цветов на правильный, вызвать FastLED.show() еще раз в цикле вернуть "как было". Это примерно тут:

1703237395611.png

То ли тут в форуме, то ли на гитхабе в Issues или Discussions проектов 1.13 и 1.14 кто-то уже спрашивал. Там приводилось решение.
Ищущий до обрящет.
 

Dragon17

✩✩✩✩✩✩✩
22 Май 2022
2
0
@vvip, Добрый день. По поводу бегущей строки по устранению ошибок с макросом {P} в v.1.13 что нужно поправить, чтобы обратный отсчет по центру был и цвет фона менялся?
 

vvip

★★★★✩✩✩
18 Дек 2018
518
242
@Dragon17, что-то мне кажется в 1.13 этого исправления нету.
Я вообще не собирался поддерживать устаревшие версии прошивок...
 

vvip

★★★★✩✩✩
18 Дек 2018
518
242
@Dragon17, попробуйте взять из репозитория сегодняшнюю версию. Я перенес правки касательно макроса {P} из версии 1.14 в версию 1.13. Должно работать. Чтобы отсчет обратный после первой прокрутки текста с сообщением далее выводился по центру нужно в конец макроса добавить #T. Ну и фон в макросе {B#000000} - черный - тоже должен работать
 

Dragon17

✩✩✩✩✩✩✩
22 Май 2022
2
0
VVIP, еще раз спасибо! На ESP8266 NodeMCU все работает. Новый год спасен))) А вот на Wemos d1 mini фон у макросов поменялся на черный, секунды тоже по центру отсчитывает, но сами строки показывает до и даже после события в макросах P и S. Хотя макросы аналогичные прописываю. На Wemos кстати у меня еще SD карта, но анимации в моем формате 16x10 не читаются, а вот на другой матрице (16x16) попробовал анимации размером 16x16 - работает. Делал по инструкции в Jinx. По монитору порта не видит папку 16x10. Размеры везде менял при создании анимации. Но почему то вот так. Ну да и ладно. В следующем году может попробую еще раз.
С наступающим Новым годом!!!
 

vvip

★★★★✩✩✩
18 Дек 2018
518
242
Один и тот же код работает - что на NodeMCU, что на Wemos. Касательно бегущей строки - так еще ина ESP32 - абсолютно тот же код. Ни строчки ни точки различий. Поэтому как-то странно все это читать. Различия в поведении могут быть только при различиях в содержимом бегущей строки. Присмотритесь внимательнее. А то тут спрашивали "почему не работает", а по факту оказалось - вроде все одинаково, но там в макросе забыли пробел поставить, там латинская буква на русскую заменилась, там скобочку забыли или лишнюю поставили... Так что - "аналогичные" не значит "идентичные"....

Про SD-карту - ну, показываете что в логе при старте контроллера пишет. Показывайте, какие папки на карте в проводнике видно, что в этих папках находится. Не написали ли в названии папки 16x10 букву 'x' как хэ русское? Действительно ли в этой папке лежат ролики под размер 16х10?
Показываются ли эти ролики утилитой JinxFramer правильно, в нужном формате кадра?

Потому что Jinx - глючный. Если создаешь устройство вывода под 16x16 и сохраняешь ролики, потом недостаточно пойти и сказать - теперь у меня размер матрицы 16x10. Он скажет "ага", но сохранять все равно будет в 16x16 пока не удалишь и не пересоздашь устройство вывода с переразметкой матрицы под нужный размер...Проверьте что за ролики у вас там на самом деле лежат... И это где-то там в FAQ на wiki было упомянуто. Не пропустили ли вы этот шаг?
 

6yJlka

✩✩✩✩✩✩✩
27 Ноя 2023
24
1
@vvip, вечер добрый!
Снова я🥲. Собрал вторую матрицу, но уже для родителей. Наблюдаются зависания что ли. Зависнет на анимации и висит до выключения и повторного включения.
Код пробовал перезалить на микроконтроллер, тестил дома у себя, вроде помогло. Но оказалось что нет. Все так же виснет.
Ещё думал, что это из-за того что не подключал к WiFi, а все через точку доступа работала, но опять же нет. Виснет и всё. Какие-то предпосылки перед зависанием не заметил. Куда копать? Что можно сделать?
Собирал на Wemos D1 mini с SD шилдом и встроенным модулем часов.
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
27
2
Оформи код соответствующим тэгом
Доброй ночи. Давно хотел собрать проект по-серьезней, чем гирлянда на елку. Недавно получил от наших друзей WEMOS D1 mini и гирлянды. Сделал матрицу на окно. Размер 15х15, угол нижний правый, направление вверх. Из 2 классных проектов уважаемого автора VVIP выбрал, что по-проще (для меня, не сильно искушенного) WI-FI panel под управлением из Приложения под Андроид. Скачал последнюю версию 1.13 (проект, как понял больше не развивается). Внес свои параметры и данные в скетч. Прошивка прошла без замечаний. Панель начала транслировать эффекты, показывать часы. Но подключить Приложение WIFI PANEL SETUP не получается. Все возможные варианты IP подставлял: любые 2 цифры отличные от от последних двух в IP роутера

// ******************* ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ подключения к сети *********************

// Внимание!!! Если вы меняете эти значения ПОСЛЕ того, как прошивка уже хотя бы раз была загружена в плату и выполнялась,
// чтобы изменения вступили в силу нужно также изменить значение константы EEPROM_OK в строке 7 этого файла (см.выше)
// или в Arduino IDE в меню "Инструменты" -> "Erase Flash" выбрать значение "All Flash Contents"

// ------------------------ Локальная сеть ---------------------

#ifndef NETWORK_SSID
#define NETWORK_SSID "MGTS_149" // Имя WiFi сети
#endif

#ifndef NETWORK_PASS
#define NETWORK_PASS "3ze486e8" // Пароль для подключения к WiFi сети
#endif

#ifndef DEFAULT_IP
#define DEFAULT_IP {192, 168, 1, 44} // Сетевой адрес устройства по умолчанию
#endif

#ifndef DEFAULT_PORT
#define DEFAULT_PORT 2390 // Сетевой порт устройства по умолчанию
#endif

#ifndef GTW
#define GTW 1 // Последняя цифра в IP адресе роутера. Обычно IP роутера 192.168.0.1, но некоторые роутеры имеют адрес 192.168.0.100 или 192.168.0.254
#endif // Тогда здесь вместо 1 должно быть 100 или 254 соответственно

// ------------------------ Сервер времени ---------------------

#define DEFAULT_NTP_SERVER "ru.pool.ntp.org" // NTP сервер по умолчанию "time.nist.gov"
#define DEFAULT_AP_NAME "PanelAP" // Имя точки доступа по умолчанию
#define DEFAULT_AP_PASS "12341234" // Пароль точки доступа по умолчанию


// ---------------------------------------------------------------

#define EEPROM_MAX 4096 // Максимальный размер EEPROM доступный для использования
#define EFFECT_EEPROM 400 // Начальная ячейка eeprom с параметрами эффектов, 5 байт на эффект
#define TEXT_EEPROM 1000 // Начальная ячейка eeprom с текстом бегущих строк

#ifndef BRIGHTNESS
#define BRIGHTNESS 32 // Яркость матрицы по-умолчанию 0..255
#endif

// ------------ Настройки региона погоды и часового пояса

#ifndef TIME_ZONE
#define TIME_ZONE 3 // Смещение часового пояса от UTC
#endif

#ifndef WEATHER_REGION_YDX
#define WEATHER_REGION_YDX 213 // Код региона погоды по Yandex
#endif

#ifndef WEATHER_REGION_OWTH
#define WEATHER_REGION_OWTH 1502026 // Код региона погоды по OpenWeatherMap
#endif
Ответ один "Не подключен"
Пробовал менять стоящий параметр GTW 1 на свои 44, эффект на панели почти замирал, с трудом пытаясь моргать светодиодами.
Монитор порта показывает, что идут обращения к серверу NTP и погоды, и между чередой этих обращения пытается пробиться эффект.
Возвращаю GTW на 1 и вот что пишет монитор:

21:44:19.438 -> ...........
21:44:23.038 -> WiFi подключен. IP адрес: 192.168.1.44
21:44:23.038 ->
21:44:23.038 -> UDP-сервер на порту 2390
21:44:23.078 -> Переход в авторежим отключен
21:44:23.078 -> Режим: Анимация
21:44:23.958 -> NTP-сервер ru.pool.ntp.org -> 162.159.200.123
21:44:23.958 -> Отправка NTP пакета на сервер ru.pool.ntp.org
21:44:23.958 ->
21:44:23.958 -> Запрос текущей погоды
21:44:24.198 -> Погода получена: Yandex
21:44:24.198 -> Город: Moscow
21:44:24.198 -> Сейчас: пасмурно, снег с дождем, -2ºC
21:44:24.198 -> Код иконки: 'ovc-ra-sn'
21:44:24.198 -> Цвет неба: '#1b2f53'
21:44:24.198 -> Сейчас:
21:44:24.198 -> Рассвет: 08:58
21:44:24.198 -> Закат: 15:59
21:44:24.198 ->
21:44:24.238 -> UDP << ip='162.159.200.123:123'; ntp sync
21:44:24.238 -> Получен UDP пакeт размером 48
21:44:24.238 -> Разбор пакета NTP
21:44:24.238 -> Секунд с 1970: 1703540665
21:44:24.238 -> Получено время: 25.12.2023 21:44:25
21:44:24.238 -> --------------------
21:45:23.078 -> Режим: Палитра
21:46:23.078 -> Режим: Звездопад

ОЧЕНЬ ПРОШУ ПОМОЩИ!!!! Эффекты, конечно, работают, меняются, часы показывают, НО! хочется получить возможность управлять.
Схема минимальная - без всего с обычной разомкнутой кнопкой.
Спасибо! А то до НГ совсем ничего осталось....
 

donatos696

★✩✩✩✩✩✩
17 Ноя 2019
49
10
Если ESP подключилась к Вашей сети - зайдите на свой роутер и там в Wi-Fi клиентах должна отображаться Ваша ESP'шка.

Примерно вот так.
 

Вложения

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
27
2
@donatos696, извиняюсь за свои вопросы, не спец, начальный юзер 60-ти лет, только набираюсь хоть какого-то ума. Ни на смартфоне, ни на компе, кроме имени моей сети, которое я с паролем и IP ввел в скетче, другого не вижу. Или я не то и не там смотрю?
 

donatos696

★✩✩✩✩✩✩
17 Ноя 2019
49
10
Судя по Вашему логу - вот IP адрес Вашей панели (192.168.1.44). Его надо указывать в приложении.
 

Вложения

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
27
2
@donatos696, нет, к сожалению. Это IP адрес... извините, пришла мысль - это адрес WIFI адаптера ASUS (у меня беспроводная сеть), т. е. параметр Шлюз (в сведениях о подключении) 192.168.1.1 - это и есть IP hjenthf/ Vj;tn 'nj ,snm dthysv&

IP адрес моего роутера

Эта мысль может быть верной?
 

lsdf

✩✩✩✩✩✩✩
22 Окт 2023
5
0
сумбурно
192,168,1,1 - роутер
192,168,1,44 - подключенная лампа
 

vvip

★★★★✩✩✩
18 Дек 2018
518
242
@Игорь К., скорее всего вижу две причины.
По уменьшению вероятности.
1. Посмотрите в настройках роутера - не стоит ли там галочка "Изоляция клиентов". В разных роутерах может называться по разному, но что-то вот такое. Для Асуса, вероятно, что-то вроде этого:

1703549401773.png

Так вот это должно быть выключено. https://www.asus.com/ru/support/FAQ/1044821/

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

В любом случае причина - данные с вашего телефона не доходят до устройства. Чтобы проверить так ли это - нужно в каком-нибудь хранилище программ типа Google Play Market скачать утилиту / приложение типа Ping и "попинговать" устройство. Как только оно начнет отзываться - телефон должен подключаться к лампе.

@6yJlka, не сталкивался с зависанием. Ни на анимации ни на чем либо еще. Даже не знаю в какую сторону смотреть. И традиционно - а что в этот момент в мониторе порта, если есть возможность посмотреть. Иначе это все гадание на кофейной гуще...

И если работаете через точку доступа - на всякий случай выключите в приложении Setup (или на Web-странице в зависимости от версии) - Получать время из интернета и получение погоды из интернета.

А виснет только на анимации или на других эффектах тоже? А если отключить Анимацию - виснет?
 
Изменено:
  • Лойс +1
Реакции: Divin

6yJlka

✩✩✩✩✩✩✩
27 Ноя 2023
24
1
@vvip, наверно выразился, не анимация, а в общем и целом эффекты, периодичность и зависимость не выявил. Могло хоть на змейке зависнуть, хоть на северном сиянии (что вчера произошло).
В монитор порта надо будет глянуть, пока был МК у меня что-то не подумал об этом, а вчера уже у родителей осталась гирлянда.
По поводу работы от точки доступа, то нет, я и к вафле подключал уже - зависание осталось, но вроде реже:(
 

vvip

★★★★✩✩✩
18 Дек 2018
518
242
@6yJlka,тогда не знаю. Даже в голову ничего не приходит...
Пока я с таким не сталкивался / не столкнусь - я починить это не смогу.

А что за версия то? 1.13 если - она вроде давно и стабильно работает.
В версии 1.14 были (есть) проблемы с исчерпанием памяти на 8266, но она не зависает, а перегружается и продолжает работать.
Я сейчас знаю как освободить больше памяти и работаю над этим, но к НГ скорее всего не успею доделать, а тем более оттестировать.

А БП один и тот же использовался что при тестах дома, что у родителей? Может там БП как-то дурит, помехи по питанию дает?

Если совсем все плохо и использовалась версия 1.14 - то в репозитории две ветки - одна main, другая с изменениями.
Вот та что с изменениями - там вроде некоторые проблемы с памятью пофиксены, но она не тестирована досконально.
Можете на свой страх и риск попробовать ее. B она будет еще допиливаться - есть еще некоторые оптимизации, которые даже туда еще не выкладывал - не доделаны.
 

6yJlka

✩✩✩✩✩✩✩
27 Ноя 2023
24
1
@vvip, версия 1.14. да, БП были разные и на обоих были такие баги.
У меня моя гирлянда чисто с МК, тоже wemos 8266, но без кнопки, без модуля сд карты и времени и что самое интересное работает норм. Были пару раз зависания тоже, но после очередной перезаливки прошивки они пропали и больше я тьфу тьфу тьфу их не встречал пока у себя.
Мистика какая-то 😅

Дополнение: после того как зависнет если ей переденуть БП она включается с первым светящимся светодиодом и не стартует дальше/ либо же вообще ничего не светится и не стартует норм. Опять же нужно будет глянуть в монитор порта если зависнет.
 
Изменено:

donatos696

★✩✩✩✩✩✩
17 Ноя 2019
49
10
Игорь К., Вы здесь прописываете данные своей сети. Попробуйте оставить всё по умолчанию и подключиться к появившейся новой сети "PanelAP", при этом на телефоне надо отключить мобильную передачу данных. Если получится подключиться, то в приложении "WiFi Panel Setup" необходимо ввести адрес 192.168.4.1 и из него (приложения) уже и позиционировать матрицу и настраивать подключение к Вашей домашней сети. Пароль от сети "PanelAP" - "12341234".
 

Вложения

vvip

★★★★✩✩✩
18 Дек 2018
518
242
@donatos696, к точке доступа подключится. Но когда пропишешь сеть (а она и сейчас подключается), если в сети будет включена изоляция клиентов (см. выше) - будет всё то же самое. Клиенты в сети (лампа, комп, роутер) не будут видеть друг друга.
 

donatos696

★✩✩✩✩✩✩
17 Ноя 2019
49
10
На сколько я понял - у него в качестве IP для лампы/матрицы указан адрес, который уже установлен для ASUS'а, который выступает в качестве усилителя/репитера.
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
27
2
Доброе утро, всем. Хотя за окном дождит и совсем не по-доброму. Спасибо за советы. Я также как @donatos696 склоняюсь к тому что, указал в скетче IP адаптера .44 (следующий за ним .45 Приложение WIFI Panel Setup определяет как IP смартфона) и это вероятная проблема неподключения Приложения. Если это так, то мои действия: заменить в пароле сети 1.44 на 1.1, оставить пароль как есть и GTW 1. Если случится коннект, то где найти IP адрес панели? Или, все же, путем через точку доступа PanelAP, как рекомендует @donatos696. Спасибо, что не бросаете "мученика" в новом дее
 

donatos696

★✩✩✩✩✩✩
17 Ноя 2019
49
10
Если Вы всё таки хотите настроить подключение к сети сразу в скетче, то там необходимо прописать имя вашей сети, пароль и IP адрес конкретно матрицы/лампы, т.е. не головного роутера (как я понимаю его адрес 192.168.1.1), не ASUS'а (192.168.1.44), не телефона (192.168.1.45) и не какого либо ещё устройства, присутствующего в Вашей сети, а назначить конкретный адрес именно лампе/матрице - т.е. в скетче прописать, например, 192.168.1.144
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
27
2
@donatos696, я тормоз! этого варианта не рассматривал. все пытался в Приложении подобрать адрес панели... как говорится "век живи, а в ..60 учись". Спасибо. Сейчас на работе. Вечером начну с этого варианта. Если - нет, то через точку доступа. Что-то же сработает. Я верю. Под Новый Год должны чудеса совершаться. Еще раз спасибо за науку. Хорошего дня. Вечером отпишусь по итогам.
 

6yJlka

✩✩✩✩✩✩✩
27 Ноя 2023
24
1
@vvip, в общем сегодня тестил вечером, пытался чтобы зависло всё. Делал это путем многократного обновления веб страницы настроек ленты с нескольких устройств сразу. Ложилась на ура. Но чтобы прям намертво легло всё - не вышло.
Как я понял, все же проблема с недостатком памяти. Заполнена и так под завязку почти, а каждое обновление веб страницы начинает есть её еще.
Видимо придётся на есп32 переходить, ну либо ждать отзывов от людей, кто потестил исправления и оптимизацию в последней прошивке.
Но все же интересно, почему зависает намертво. Даже жесткая перезагрузка не помогает с первого раза.