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

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

Комментарии

LikePod

✩✩✩✩✩✩✩
15 Сен 2023
10
0
@vortigont,
Ну почему старую. Я так понял есть вопрос в оптимизации работы с esp32. + На wemos D1 удобнее собирать (SD шилд + макетная плата нивелируют максимальное рукопопие начинающего) Ну и если я правильно понял - с esp32 в принципе могут быть проблемы, при работе в ардуиновской среде(+ их же несколько:S2,c3,h2,c6 и когда пишут "возьмите esp32" - то сразу вопрос, а про какой конкретно процессор говорят ) .

А вот 8266 - уже зверёк более понятный🤣 И работает на нем все стабильно у всех
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
с esp32 в принципе могут быть проблемы, при работе в ардуиновской среде
это в корне неверно. Как раз при работе с лентами проблем с 8266 намного больше.
Это морально устаревший чип, платы на котором сечас стоят примерно столько же сколько и есп32.
Плат есп32 разных вариантов полно, уже с разъемом под сдкарту без всяких шильдов внешних. При ваших планируемых размерах ленты рассматривать 8266 вообще не имеет никакого смысла.
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
Итак, обновление. v.1.14a.2023.1216

В первую очередь для того, кто просил сделать управление отдельным дополнительным пином, для включения ёлки по расписанию.

Тем, кому добавленные фичи не интересны и текущая собранная гирлянда работает более-менее стабильно - стоит подумать - нужно ли обновляться за 14 дней до Нового года, или оставить всё на следующий год. Но если вы в душе авантюрист, надеетесь погонять/потестировать или у вас есть запасной микроконтроллер, на котором можно потестировать новое и если что-то пойдет не так, то...

Итак.
1. У меня работает несколько гирлянд, основная - контроллер на одном окне esp32 в режиме MASTER и 3 гирлянды-приемника еще на трех окнах, на Wemos в режиме SLAVE. В браузере для контроля открыты 4 вкладки с Web-интерфейсом каждого из контроллеров. Чтобы не путаться где что - добавил возможность изменить системное имя устройства.

1702710638463.png

2. Добавлена возможность назначить отдельный пин микроконтроллера на включение/выключение его по расписанию. Заодно добавлена возможность вывода сигнала на отдельный пин при срабатывании будильника (Рассвет + основной будильник). Не знаю зачем, но вдруг пригодится.

Настройки в скетче:

1702710815226.png
1702710851627.png

Настройки в интерфейсе:
1702710954644.png

Настройки расписания:
1702711021555.png

Управление дополнительным пином:
Задается на вкладке "Режимы /по времени/"
Время задается в колонке справа от Режима. Указывать режим, который нужно включить в это время не обязательно. Но если в это время нужно включить какой-то режим одновременно с управлением пином дополнительного вывода - укажите.
Справа от колонки действия - переключатель. Использовать управление дополнительным выходом или нет. Возможно, что требуется только включить режим, а пин не нужно использовать. Если пин нужно использовать - активируйте переключатель.
Галочка справа от переключателя - если установлена - пин нужно активировать (включить) если не установлена - выключить.
Уровень активного сигнала - высокий / низкий =- задается в настройках пинов на вкладке "Настройки" - "Оборудование".

Чтобы пин можно было включить / выключить в любой момент вне расписания - на страницу управления эффектами вынесена отдельная кнопка:

1702711413934.png

Управление по будильнику:

На настроенный для будильника пин управления на вкладке "Настройки" - "Оборудование" подается активный уровень во время начала рассвета, после окончания основного будильника (или выключения будильника вручную) активный уровень с пина снимается.

Следите, чтобы пины дополнительного управления при включенной фиче не пересекались, иначе одна фича будет устанавливать сигнал на пине, другая снимать и ничего работать не будет.

Настраивайте эти пины из WEBUI, там есть контроль назначения пинов, исключающий их пересечение
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@LikePod,

@vortigont,
Ну и если я правильно понял - с esp32 в принципе могут быть проблемы, при работе в ардуиновской среде(+ их же несколько:S2,c3,h2,c6 и когда пишут "возьмите esp32" - то сразу вопрос, а про какой конкретно процессор говорят ) .
Когда не уточняют какую именно модель ESP32 брать - ответ как правило - "любую". Значит, в проекте нет особенностей использования архитектуры конкретного контроллера esp32

А вот 8266 - уже зверёк более понятный🤣 И работает на нем все стабильно у всех
Вот для этого проекта это уже, увы, не так... Всякие там Web-серверы и сопутствующее используют довольно много памяти. А ее на esp8266 сильно мало, в отличие от esp32. Плюс некоторая криворукость автора в вопросах кодирования приводит к истощению / фрагментации памяти. И вто время как esp32 имеет еще большой пул свободной памяти, на esp8266 он может фрагментироваться и в какой-то момент контроллер "упадет", то есть перезагрузится.

Так что для этого проекта как раз лучше использовать esp32. А поддержка esp8266 - так, дань традициям...
 
  • Лойс +1
Реакции: LikePod

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
их же несколько:S2,c3,h2,c6
берите "классику" - не ошибетёсь. Или S3. S2 одноголовая, с остальными есть свои особенности и опыта работы с ними мало пока.
Если не жалко чуток переплатить, то берите версии сразу с sd картой или 8/16 мб памяти. На 4х уже тесновато становится.
 
  • Лойс +1
Реакции: LikePod

Vitalo777

✩✩✩✩✩✩✩
16 Дек 2023
5
0
Здравствуйте помогите разобраться в GyverPanelWiFi_v1.13 от vvip-68 (выбрал эту версию так как у меня андроид) на плате ESP8266
Скоро Новый Год, а я все не могу разобраться(((
Хотел вывести время, погоду, и бегущую строку!
купил адресную ленту 3шт по 50 светодиодов планировал их установить 15х10

1) Установил Arduino IDE 1.8.19 (Виндовс 7)
2) прописал в настройках http://arduino.esp8266.com/stable/package_esp8266com_index.json
3) скачал установил менеджер плат 2.7.4
4) в libraries скопировал все среды с проекта
5) Установил библиотеку FastLED 3.5.0
6) Захожу в скеч на вкладку a_def_hard.h Меняю
44 #define A_DEF_DEVC 0
49 #define A_DEF_PASS 0
55 #define WEATHER_API_KEY "ae273c25f982183bb7257e0e38f99b6b"
63 #define DEVICE_VARIANT 0
164 #if (DEVICE_VARIANT == 1)
172 #define WIDTH 15
173 #define HEIGHT 10
174 #define MATRIX_TYPE 0
175 #define MATRIX_INDEX 0
176 #define CONNECTION_ANGLE 0
177 #define STRIP_DIRECTION 1
179 #define META_MATRIX_WIDTH 1
180 #define META_MATRIX_HEIGHT 1
189 #define USE_POWER 0
232 #if (DEVICE_VARIANT == 0)
7) в a_def_soft.h
18 #define NETWORK_SSID "Xiaomi_DC20"
22 #define NETWORK_PASS "12345678"

Заливаю в плату начинает мигать светодиод бистро на плате в мониторе порта
ets Jan 8 2013,rst cause:2, boot mode:(3,1)

load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

Может что-то еще нужно поменять в скече?
Неделю уже мучаюсь, а новый год все ближе(((. Плата еще без подключения кнопки и светодиодной ленты.
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@Vitalo777,
в чем был (скрытый) смысл менять в строке 164 условие для параметров используемого варианта ( ранее в строке 63 вы определили, что используете DEVICE_VARIANT 0) на 1, в результате чего все что вы определили в строках 172-189 просто игнорируется компилятором, а используется то, что (по условию, определенного теперь для варианта 0, в строке 232) , где даже отключен вывод в лог информации о работе прошивки) и вы там ничего не меняли...

То что вы видите приведенный вывод, который отдается микроконтроллером на скорости 74880, (тогда как основной вывод из скетча должен быть на 115200) свидетельствет о неправильно выбранной скорости в мониторе порта.

Именно поэтому даже не понятно - запустилось у вас что-то или МК висит.
 

Vitalo777

✩✩✩✩✩✩✩
16 Дек 2023
5
0
@vvip,
Значит нужно
164 #if (DEVICE_VARIANT == 0)
232 #if (DEVICE_VARIANT == 1)
Получается 0 Это включено а 1 выключено?
Изменил и ругается на
122 #error Нет определения карты индексов для заданных WIDTH и HEIGHT
Монитор порта я просматривал на 115200
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@Vitalo777,

Да, нужно.Получается,что 0 - это вариант с ID=0, 1 - с ID=1, а еще при необходимости могут быть2,3,4,5 и так далее

Изменил и ругается на
122 #error Нет определения карты индексов для заданных WIDTH и HEIGHT
Монитор порта я просматривал на 115200
Ну это значит у вас что-то несовместимое задано где-то тут:
1702742210276.png
 

LikePod

✩✩✩✩✩✩✩
15 Сен 2023
10
0
Доброго всем вечера) ещё вопрос появился.. не могу запустить эффекты с SD карты.. брал разные размеры, по разному форматировать последний раз: FAT, стандартный размер кластера. Анимации закидываю в корень, в папку 16х16. (Папу беру из примера в архиве, анимации работают в режиме эмуляции СД карты) и ноль положительного эффекта. При нажатии на "sd-карта" просто перекидывает на другой эффект.. в какую сторону копать?..

upd В ком порт пишет после инициализации SD карты - "SD карта не подключена"
 
Изменено:

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@LikePod, у вас что-то странное. Если в "эмуляции СД карты" - он не может писать SD-карта не подключена. Потому что она есть всегда и это файловая система микроконтроллера... Что-то где-то вы неправильно написали (описали ситуацию)
 

LikePod

✩✩✩✩✩✩✩
15 Сен 2023
10
0
@vvip,

Может не так выразился. В режиме эмуляции - все как надо работает. А режиме, где эффекты с карты надо брать - не работает. Ну как я понял - не может увидеть/проинициализировать карту. Скажите, по сд картам есть ограничения? И в какой фс форматировать надо?
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@LikePod, никаких ограничений, главное, чтобы правильно подключена была. Форматировать - либо в FAT либо обычно в FAT32/ Как по умолчанию предлагает - так и ставлю.

Смотрите подключение карты к системе. Много раз встречался, когда провода данных (4 провода) припаивают, а провода питания нет. Чаще всего землю (минусовой провод). Встречался с шилдами, которым требовалось припаивать оба провода питания - и +5В и +3.3В если хоть один не припаяешь - не работала. В общем - вариантов масса.
 

LikePod

✩✩✩✩✩✩✩
15 Сен 2023
10
0
@vvip,
Вобщем магия какая-то. Имею: плата wemos d1, SD шилд, и кнопку, и старенькая micro-SD на 1гб (Из всех заработало пока только с ней). Если подключить карту и подать питание - система не стартует (в логах ничего не появляется). Если сначала подать питание, и через пару сек воткнуть карту - все стартует и эффекты с карты читаются. Если нажать накнопку Reset - то система опять не стартует (пока карта в шилде), но если перезапустить с SD картой через вебморду - то все перезагружается. Возможно пробемы с картой памяти (остальные на 64, 128гб - с ними не хочет заводиться -думаю может объем слишком большой для этого проекта..)
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@LikePod, скорее проблема в самом шилде. Шина SPI на карту использует пины D5,D6,D7 и это не обсуждается, потому что они аппаратные. Пин D8 -Chip Select - может быть произвольным. Но он просто расположен рядом с остальными, ибо удобно. И для запуска микроконтроллера в момент старта он должен быть притянут к земле. Если шилд подает при вставленной карте на этот пин HIGH - микроконтроллер не запустится.

Что касательно объема SD-карты - я обычно использую карты на 8 или 16 ГБ
 

LikePod

✩✩✩✩✩✩✩
15 Сен 2023
10
0
Люди добрые, спаситепомогите) не могу завести эту шайтан вундервафлю нормально
С SD картой вроде разобрался (заменил шилд - теперь воде работает. Хотя логики не понял - но работает и ладно - детали позже буду разбирать.
Теперь новая напасть) Взял тут плату esp32 (s2), и не могу ее заставить работать =/Если в компиляторе выставить в качестве платы "ESP32 Dev Module", как описано в инструкции - то компилируется, но не могу залить на плату (wemos s2 mini). Если выбираю (что логично) "ESP32S2 Dev Module",то отказывается компилироваться (мозгов понять, на что ругается - не хватает). Подскажите, у кого нибудь компилируется под эту плату? Или может у кого есть успешный опыт загрузки на esp32 s2?
 

Вложения

Vitalo777

✩✩✩✩✩✩✩
16 Дек 2023
5
0
Ну это значит у вас что-то несовместимое задано где-то тут:
1702742210276.png
Заменил
175 #define MATRIX_INDEX 1

монитор порту показывает

WiFiPanel v.1.13.2023.1205
Версия EEPROM: 0x5D
Host: 'WiFiPanel'

Инициализация файловой системы...
Использовано 16384 из 2072576 байт

Нет конфигурации сети: SSID не задан
Нет конфигурации сети: пароль не задан
Загрузка строк выполнена.
Использованы адреса EEPROM 1000 - 1037
Свободно ячеек 3058

Матрица: плоская 100x225
Адресация: по подключению
Угол: левый нижний
Направление: вверх
Тип: зигзаг
Cегменты: 10x15
Угол: левый нижний
Направление: вверх
Тип: зигзаг

Доступные возможности:
  • Бегущая строка: шрифт 5x8
  • Кнопка управления: тактовая
  • Синхронизация времени с сервером NTP
- Управление питанием
+ Получение информации о погоде
  • Управление по каналу MQTT
  • Групповая синхронизация по протоколу E1.31
  • Дополнительный индикатор TM1637
  • Эффекты Jinx! с SD-карты
  • Поддержка MP3 Player

Поиск файлов карт индексов...
Нет файлов карт индексов

sMATRIX_TYPE=0

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Exception (28):
epc1=0x40240b28 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: cont
sp: 3ffffcf0 end: 3fffffc0 offset: 0190
3ffffe80: 20b0d0ba 2033504d 79616c50 208b7265
3ffffe90: 786e694a 81d12021 2d445320 00000000
3ffffea0: 3ffe8df5 00000010 3fffff30 40237fde
3ffffeb0: 00000000 00000000 6b4f000a 4023a55d
3ffffec0: 00002e48 000005c9 000005c9 3fff1230
3ffffed0: 00000001 3fff123c 3fff1230 40233584
3ffffee0: 3ffefab4 3ffefb4a 00000020 40100d6f
3ffffef0: 40236b1c 3fff1288 3ffe90c3 40236f0d
3fffff00: 3ffefab4 0000000e 3fff123c 40233706
3fffff10: 3fffff48 3fffff48 3fff1288 3ffef3cc
3fffff20: 000057e4 3fff123c 3fff1288 4022a976
3fffff30: 3fff4800 000e000f 80002000 00000100
3fffff40: 00000005 00000020 31780000 00350035
3fffff50: 80efeffe 00003000 0034003f 80efeffe
3fffff60: 38333600 feef0034 80efeffe 3fff3400
3fffff70: 0019001f 80efeffe feefeffe feefeffe
3fffff80: 00000000 3ffef3f0 feefeffe feefeffe
3fffff90: feefeffe feefeffe feefeffe 3fff13b8
3fffffa0: 3fffdad0 00000000 3fff1378 40239490
3fffffb0: feefeffe feefeffe 3ffe85e4 40101035
<<<stack<<<

last failed alloc call: 4022A858(67500)

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

ets Jan 8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

Не пойму почему Матрица плоская 100х225
Также не подключен к сети Wi-Fi (Домашней) и вообще не видит эту сеть.
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@Vitalo777, а контроллер то какой? Может тупо памяти не хватает? 22500 - это не хухры-мухры.
И в любом случае - проект не предназначен для матриц такого размера. У него адресация диодов - байтовая с отрицательными значениями - то есть тип индекса при адресации - int8_t/ Это означает, что по ширине/высоте не поддерживается более 128 сток / колонок.

Это вам другой проект нужен. На этом - не взлетит.
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@Vitalo777, ну оно ж не с потолка такие размеры берет.
Значит - либо так в настройках скетча прописано - приложите ваш файл a_def_hard.h
Либо прошейте с очисткой всей памяти - возможно в EEPROM остался какой-то мусор, который воспринимается скетчем как реальные значения.
Инструменты - Erase Flash: Erase All Content
 

Vitalo777

✩✩✩✩✩✩✩
16 Дек 2023
5
0
Значит - либо так в настройках скетча прописано - приложите ваш файл a_def_hard.h
Инструменты - Erase Flash: Erase All Content
Перезалил с Erase Flash: Erase All Content
Подключился к ней через приложение просит настройки матрицы при нажатии сохранить не чего не происходит.
светодиодную ленту еще не подключал может из за этого?
Screenshot_2023-12-17-12-31-34-810_appinventor.ai_vvip_phone.PanelSetupWiFi.jpg
 

Вложения

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@Vitalo777, а что должно происходить при нажатии "Сохранить"? Чего вы ожидаете?
 

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@Vitalo777,потому что вы (на скриншоте в вашем первом посте выше) используете приложение для НАСТРОЙКИ матрицы. А на скриншоте что непосредственно впосте выше - приложение для УПРАВЛЕНИЯ матрицей. Это два совершенно разных приложения.
 
  • Лойс +1
Реакции: Vitalo777

vvip

★★★★✩✩✩
18 Дек 2018
503
225
@LikePod,

Похоже у ESP32S2 меньше пинов чем у обычной ESP32. Идите в файл utility.ino и закомментируйте следующий кусок кода:

1702793023279.png

И не используйте в настройках скетча нигде пины G22, G23, G25, G27, G32 - их нет на вашей плате.
 
  • Лойс +1
Реакции: LikePod