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

Dns7

✩✩✩✩✩✩✩
8 Сен 2024
13
0
Доброго времени. При компиляции возникает такая ошибка(на скрине). Хочу залить прошивку в ESP32, в Arduino IDE выбираю ESP32 Dev module.
Версия ядра 2.0.6, начинал с 1.0.6 но выдавал ошибку связанную с LittleFS. Версия FastLed 3.5.0.
 

Вложения

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Dns7,там в описании не исправлено. Нужна версия FastLED 3.6.0 или 3.7.0/ И версия ядра скорее всего 2.0.14
 

Dns7

✩✩✩✩✩✩✩
8 Сен 2024
13
0
@vvip, Не помогло к сожалению. Судя по ошибкам что то не так с библиотекой ESP mDNS которая вроде как идет в комплекте с ядром ESP.
 

Вложения

  • 159.6 KB Просмотры: 10

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Dns7,ну, если ты по прежнему хочешь по каким-то причинам использовать ядро 2.0.6 -придется разбираться самому. Тут я не в курсе.
 

Dns7

✩✩✩✩✩✩✩
8 Сен 2024
13
0
@vvip, Версия ядра, библиотек не имеет значение вообще. Цель просто реализовать проект. Версию 2.0.6 установил из за того что проект не компилировался выдавая ошибку(на скрине) на версии 1.0.6. Вы на 3ей странице порекомендовали установить ядро 2.0.6.
 

Вложения

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Dns7, а выше, описывая как устранить ошибку, я порекомендовал поставить FastLED 3.6.0 и ядро 2.0.14.
Но ты проигнорировал это предложение и продолжаешь трахаться, пытаясь скомпилировать под 2.0.6 Я ответил - что я не знаю как исправить в коде для того чтобы это собиралось под 2.0.6 и вообще возможно ли это.
Если бы тебе не было принципиально под каким ядром - ты бы просто поставил то что рекомендовано и собрал бы проект.
А с 2.0.6 я ничем помочь, увы, не могу. Жди может еще кто ответит.

И 1.14 - с Web-интерфейсом работает нестабильно бывает. Починить тоже пока не могу.
И Погоду с яндекса я пока не выложил починенную.
Так что может лучше посмотреть в сторону другого проекта
 

AnCore

★★★✩✩✩✩
27 Янв 2020
406
177
@Dns7, может быть имеет значение версия arduino ide (у меня 1.8.19, например).. поставьте рекомендованную версию ядра и fastLed
 

Вложения

Dns7

✩✩✩✩✩✩✩
8 Сен 2024
13
0
@vvip, Пардон😑 про версию ядра прошел мимо, прочитал половину и сразу пошел обновлять FastLED. Попробую с другим ядром. Внимательность мой "конек".
 

Dns7

✩✩✩✩✩✩✩
8 Сен 2024
13
0
@AnCore, Обязательно попробую с ядром, версия IDE у меня тоже 1.8.19.
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@AnCore,не имеет значения. Я собирал и под 1.8.19 и под 2.3.2
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Сотнег, нет. Тут нет GyverHUB. Я не помню уже точно, но Vortigont помог сделать NTP средствами ядра (плюс часовые пояса, переход на летнее/зимнее, еще что-то...), а не на отдельной функции, плюс обнаружение по mDNS. Скорее всего из за этого была поднята версия ядра. Кстати пробовал поднять до более современных 3.x.x - не помню почему (кажется проблемы с зоопарком ESP32 какие-то были) , но не взлетело. Откатился на 2.0.14
 

ala-a-din

✩✩✩✩✩✩✩
13 Мар 2021
32
1
Прошил esp32 судя по монитору порта в Arduino IDE все работает, кроме погоды. Пишет превышен интевал запроса. Как исправить?
Пробовал с Яндекса и с Openweather.
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@ala-a-din, ну с OpenWeatherMap должно работать, хотя и через раз - почему-то не всегда отвечает. А с Яндекса - переписывать получение с HTTP на HTTPS либо вообще выкидывать его и искать другие погодные сервисы. Ибо Яндекс с 28 июля 2024 года зажопился отдавать погоду по http.

Я искал, но на чем-то конкретном не остановился. Они либо платные, либо с ограничениями типа получать погоду не чаще чем раз в час или два, что по моему мнению как-то слишком редко... Так ничего и не выбрал в итоге для реализации.

И в отличие от Яндекса практически все сервисы требуют регистрации в личном кабинете и получение индивидуального ключа API.
Другой момент - у яндекса и OWM задается код города (на что и рассчитано приложение иWeb-интерфейс), а прочие сервисы требуют широту и долготу. Значит, их тоже нужно переделывать...

Такие пироги.

PS По OpenWeatherMap - тоже нужен ключ API и регистрация в личном кабинете. Если не менять дефолтный ключ что идет в прошивке - вполне возможно у сервиса есть какие-нибудь ограничения - вроде не более 10 запросов в час или 100 запросов в день или 1000 в месяц. И вот все, кто собрал устройство и не менял ключи API ломятся на сервер под одной учёткой. Быстро исчерпывают все вместе лимит и - кто не успел - тот опоздал. Успевшие получают погоду, остальные отлуп...

@Сотнег, предложенный тобой сервис http2https отлично работал. Примерно неделю. После чего сдох. По крайней мере у меня не отвечает больше... Увы...
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,619
1,563
@vvip,
может быть, @AlexGyver поднимет у себя на сайте такой редиректор?
Хотя бы с ограничениями на погодные сервера...
 

ala-a-din

✩✩✩✩✩✩✩
13 Мар 2021
32
1
либо с ограничениями типа получать погоду не чаще чем раз в час или два
Из курса метеорологии скажу так: погоду обновляют везде фактическую METAR которая не чаще чем в 30 минут, прогнозы TAF не чаще чем раз в 6 часов.
Поэтому если есть сервис который может давать погоду раз в 1 час - это будет хорошо.

По поводу api open weather - конечно же я подставил свой ключ, но то что он будет работать через раз вы правы, у меня один ключ работает в одном приложении на ТВ так там часто ошибки в последние месяцы.
 

Oleg Ivanov

✩✩✩✩✩✩✩
26 Окт 2023
13
3
UPD: Раскомментированные строки убрали проблему:
Из скетча GyverLamp 87in1 от gunner47:
// если у вас не обычная матрица, а сборка из ленты или гирлянда, и возникают непонятной природы артефакты в рисунке эффекта, попробуйте менять следующие три строчки
//#define FASTLED_ALLOW_INTERRUPTS      (1)                 // default: 1; // Use this to force FastLED to allow interrupts in the clockless chipsets (or to force it to disallow), overriding the default on platforms that support this. Set the value to 1 to allow interrupts or 0 to disallow them.
#define FASTLED_INTERRUPT_RETRY_COUNT   (0)                 // default: 2; // Use this to determine how many times FastLED will attempt to re-transmit a frame if interrupted for too long by interrupts
#define FASTLED_ESP8266_RAW_PIN_ORDER                       // FASTLED_ESP8266_RAW_PIN_ORDER, FASTLED_ESP8266_D1_PIN_ORDER or FASTLED_ESP8266_NODEMCU_PIN_ORDER
Добрый день.
А ни у кого не было проблем с китайскими матрицами 16х16 на WS2812B?
Почему-то идет включение диодов, рядом с активными. Загораются на полной яркости с "инвертированным" цветом.
На обычной ленте таких проблем нет - все чистенько.
На прошивке GyverLamp 87in1 от gunner47 на тех же пинах ленты/кнопки и такой же версии FastLed тоже все чисто.
Железо WemosD1mini и тактовая кнопка - все остальное отпаяно и отключено в скетче.
Перепайка/переназначение пина управления ленты (сейчас D2), смена версии ядра 8266/FastLed (сейчас 3.1.2/ 3.6), смена БП на проблему не влияет.
Что еще подкрутить можно?
 
Изменено:

Zordog

✩✩✩✩✩✩✩
14 Дек 2019
42
8

@vvip,
А как насчёт библиотеки BearSSL, которая интегрирована в библиотеку WiFi?
Там даже можно просто выбрать режим setInsecure() и устанавливать SSL-соединения без проверки сертификата. Рассматривали такое?
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Zordog, рассматривал. Выше по форуму (28 августа) я выкладывал скрипт как раз с использованием этой фичи. Оно работает только если памяти свободной более 35K. Если памяти менее 25к - оно просто крашит всю систему. Если менее 20 К - просто не соединяется. А по факту в этом проекте на ESP8266 - в наличии остается 10-15к свободных. На ESP32 наверное будет работать, но от 8266 тоже отказываться не хочется - у меня много устройств на нем сделано и работает... Хочется найти какое-то универсальное решение...
 
Изменено:

Zordog

✩✩✩✩✩✩✩
14 Дек 2019
42
8

@vvip,
Вся суть в setInsecure(). Как я понял, тогда не используется TLS и, как следствие, не выделяется 16-22 Кб из кучи (heap).
При обращении к проверенному адресу я, в старых релизах unix-систем (работа такая), обращаюсь по ip без проверки подлинности сертификата. Это костыль конечно, но не всегда есть возможность обновить openssl.
 
Изменено:

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Zordog, ну возьми выше скрипт да попообуй. Посоздавай динамически массивы, занимающие память. добавь диагностический вывод остатков свободной памяти в монитор. Ты все увидишь сам.
 

Oleg Ivanov

✩✩✩✩✩✩✩
26 Окт 2023
13
3
Добрый день добрым людям!
А есть какая-то возможность запустить SD-карту на WemosD1mini или единственный вариант - использовать ESP32?
Два МК Wemos в режиме эмуляции SD-карты работают без проблем, а сегодня подключил SD-шилд и с подключенной картой работают только примеры из библиотеки SD.
Как только прописываю define USE_SD 1, define FS_AS_SD 0 МК перезагружается в цикле.
WiFiPanel v.1.14с.2024.0215
CRC: Контроллер: ESP8266 NodeMCU
Версия ядра: ESP8266 v3.1.2
FastLED: 3.6.0
Версия EEPROM: 0xE3
Host: 'WiFiPanel'
Имя : 'WiFiPanel'
Инициализация файловой системы...
Использовано 1736704 из 3121152 байт
-------------------------------------------
Выделение памяти для LEDS :
32000 - 31224 -> 776
FM: 31152 Max: 31152 Frag: 0
-------------------------------------------

Матрица: плоская 16x16
Адресация: по подключению
Угол: правый нижний
Направление: вверх
Тип: зигзаг
Вывод на ленту:
Линия 1 PIN=D2, START=0, COUNT=256, COLORS=GRB

Доступные возможности:
  • Язык интерфейса: RUS
  • Бегущая строка: шрифт 5x8
- Кнопка управления
+ Синхронизация времени с сервером NTP
  • Управление питанием матрицы
  • Управление питанием (линия будильника)
  • Управление питанием (дополнительная линия)
  • Получение информации о погоде
+ Управление через Web-канал
  • Групповая синхронизация по протоколу E1.31
  • Дополнительный индикатор TM1637
+ Эффекты Jinx! с SD-карты CS=D8, CLK=D5, MISO=D6, MOSI=D7
  • Поддержка MP3 Player
  • Поддержка OTA
+ Кэш текстов бегущей строки: 200 символов на строку

Инициализация SD-карты...
SD-карта подключена.


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

Exception (3):
epc1=0x4000bf64 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4029a0f1 depc=0x00000000

ctx: cont
sp: 3ffffd50 end: 3fffffd0 offset: 0150
3ffffea0: 4029a0f1 3ffe9a3f 3ffffeec 40252cd5
3ffffeb0: 3fff2678 3ffe9a3f 00000000 402299ba
3ffffec0: 00000000 00000009 00000000 40254f04
3ffffed0: 00000000 00000000 00000000 4024d774
3ffffee0: 00000000 00000000 3fff262c 4025b41c
3ffffef0: 00000000 000003e8 0000000f 00000000
3fffff00: 00000000 00000000 00000000 00000000
3fffff10: 00000000 3fff2644 3fff464c 001b001f
3fffff20: 80000000 3fff42dc 000f000f 89000078
3fffff30: 3fff2678 3fff2678 3fff17c9 4022ec8f
3fffff40: 00000000 001a8000 00000000 00000100
3fffff50: 00000005 00000020 00000000 00363632
3fffff60: 00000000 feefeffe 00000000 feefeffe
3fffff70: 00000000 00000000 00303030 00000000
3fffff80: 00000100 00000000 00000001 00000004
3fffff90: 00000000 feefeffe feefeffe feefeffe
3fffffa0: feefeffe feefeffe feefeffe 3fff2888
3fffffb0: 3fffdad0 00000000 3fff285c 402563cc
3fffffc0: feefeffe feefeffe 3fffdab0 401010e9
<<<stack<<<

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

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

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Oleg Ivanov, нормально она работает на Wemos d1. Когда правильно подключена и пины соответствуют и без конфликтов с другими пинами. Были случае, что не видит карточку (при не правильном подключении, не подведенном питании или неправильно отформатированной карте или карте не того производителя), но вот чтобы перезагрузка была - не встречал...

А как ведет себя, если для эксперимента просто в исходной конфигурации от автора ничего не менять, просто включить SD-карту, а все остальные девайсы - отключены, только вывод на ленту?

А если попробовать эту же физическую сборку на версии 1.13?