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

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

Комментарии

pisto

✩✩✩✩✩✩✩
21 Фев 2023
3
0
ДВС.
Уменя ESP8266 матрица 64х16.При выводе бегущей строки визуально наблюдаются какие-то рывки.При включении макроса "дата" эффект усиливается.Что может быть причиной??
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
@pisto,
Скорее всего - неверно выбранная версия ядра для выбранной платы
 

pisto

✩✩✩✩✩✩✩
21 Фев 2023
3
0
Спасибо.Помогло.До этого стояло ядро 3,0.2.Потом поверх него ставил 2.7.4.Хоть при выборе чипа и показывало 2.7.4,но все равно компилилось 3-е.Снес 3.0.4 и заработало нормально.Еще раз спасибо.
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
Итак, сообщаю. Версия проекта 1.13 закрыта и более поддерживаться не будет. Разве что - по мелочам.
На смену ей пришла версия 1.14 - https://github.com/vvip-68/LedPanelWiFi

В новой версии реализовано управление через Web-интерфейс. Управление через Android-приложение пока не поддерживается. Не нашелся еще программист, решивший написать приложение для этого варианта гирлянды в отличие от множества других вариантов лампы / гирлянды на гитхабе.

Версия Android-приложения из проекта 1.13 несовместима с версией проекта 1.14, потому что пришлось несколько поменять API.

Что нового?
Как уже отмечалось - управление через Web-интерфейс. Возможно это порадует некоторых пользователей-владельцев айфонов...
В выборе списка любимых эффектов появилась возможность указывать порядок воспроизведения эффектов, которые были отмечены как "любимые".

На этом, пожалуй, из нововведений на пока - всё...

То, что в предыдущей версии использовалось для управления Android- приложение собранное в конструкторе AppInventor сильно затрудняло добавление новых возможностей в прошивку. Изменять этот конструктор - головная боль, а без поддержки новых функций в управлении добавлять их было бессмысленно. Теперь все сильно упростилось. Ждем новых возможностей.

Из ограничений новой версии.
  • Нет приложения, которое бы управляло гирляндой через MQTT. Сама возможность управления и интеграции в Умный дом все еще поддерживается. Разве что-чуть-чуть поменялось API.
  • На платах Wemos d1 mini и NodeMCU на базе микроконтроллера ESP8266 количество диодов в гирлянде - 500-700 штук. При бОльшем количестве из за недостатка оперативной памяти управление работает нестабильно и может приводить к перезагрузке микроконтроллера.
  • Платы на базе ESP32 такого ограничения не имеют - там памяти много. Проверялась поддержка до 2000 светодиодов, но думаю это совсем не предел.
Тестирование новой версии прошивки пока широко не производилось. Что смог - протестировал сам.
Если кому-то будет данная версия интересна - будет больше вариантов оборудования, больше проверок на ошибки.
Будут ошибки - будем исправлять. Пока - что есть - то есть.

Вот таки дела, малята...
 
  • Лойс +1
Реакции: Sher, Scopex и VadZher

VadZher

★✩✩✩✩✩✩
4 Ноя 2021
125
35
Омск
@vvip,
Добрый вечер! Загрузил обновлённую прошивку на wemos d1 mini. На iPhone XS не открывается веб-интерфейс при переходе на начальную страницу по адресу192.168.4.1.IMG_5388.jpeg
Появляется такое сообщение, кнопка «загрузить» закрывает страницу.
На андроид-смартфонах всё открывается без проблем.
Пока пользоваться веб-интерфейсом непривычно, но сохранилась интуитивно понятная структура меню и настроек, никаких проблем не возникло.
Большое спасибо за поддержку и развитие проекта!
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
@VadZher, у меня нет айфона - тут я ничего сказать не могу...
Могу посоветовать распаковать index.html.gz и залить его на устройство в незапакованном виде.
Но раз браузер на айфоне не понимает, что файлы могут быть запакованными - он наверное и другие файлы также не сможет распаковать.
Можно попробовать распаковать все файлы, но тут я подозреваю, что в распакованном виде они не влезут в микроконтроллер. Или влезут совсем впритык и более на него уже практически ничего не будет возможным записать. То есть в папке firmware/data останется только папка web с незапакованными файлами web-странички.

@VadZher, есть ли на айфоне какой-то другой браузер кроме сафари? Хоть тот же хром?
Можно ли в сафари включить настройку "запрашивать сжатые веб-страницы"?
Например в Хроме и некоторых других браузерах есть в настройках галочка "Экономия трафика" - она включает запрос страниц с веб-сервера в сжатом виде. Есть ли что-то похожее на сафари?

 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
@Константин 271, ну да, можно менять через Web. Но тут ничего нового - размеры можно было менять и из приложения настройки на телефоне начиная с версии то ли 1.09, то ли 1.10 - давно уже...
 

VadZher

★✩✩✩✩✩✩
4 Ноя 2021
125
35
Омск
@vvip,
Установил браузеры Хром, Яндекс и Опера - веб-интерфейс не открывается, предлагает загрузить файл. Разархивировал сначала index.html, а потом и все файлы - надпись о загрузке исчезла, просто чистый экран. Андроид также разархивированные файлы не открывает, отображает чистый экран. Видимо, сказывается нехватка памяти. Попробовал пересжать все файлы с меньшей степенью сжатия - опять появляется надпись о загрузке файла index.html. Если его загрузить и открыть - чистый экран.
Вообще, Safari работает со сжатыми веб-страницами. Я через него открывал веб-интерфейс в прошивках на лампу от Alvikskor’а, EmbUI и др. Сейчас специально смотрел на GitHub, у них тоже сжатые интерфейсы в формате *.gz. Буду ещё что-то пробовать, мне кажется, проблема тут не очень существенная. Тем более, что с ноутбука, андроид-смартфона всё работает.
Понравилась реализация сортировки списка эффектов, в веб-интерфейсах не видел подобного ранее.
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
VadZher, на esp8266 мало памяти и быстродействие так себе. Она сжатый то файл скрипта отдает 20-30 секунд. А несжатый - раза в 3-4 больше по размеру. Браузер запрашивает сразу несколько файлов, вебсервер в МК при недостатке памяти просто их не отдает. А если не отдаст - страница в браузере просто не нарисуется. Есть ли возможность собрать на ESP32? Просто хотя бы посмотреть как будет себя вести на айфонах...
 

VadZher

★✩✩✩✩✩✩
4 Ноя 2021
125
35
Омск
@vvip,
Да, конечно! В течении дня загружу прошивку на Esp32 и отпишусь. Скажите, структура файлов a_def_devc.h и a_def_pass.h в 14 версии прошивки изменилась? Или, я могу пользоваться этими файлами для 13 версии?
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
@VadZher, почти не изменилась. Там добавились некоторые новые поля, их немного. Возможно еще посортировал чуть-чуть, чтобы в группы логические объединить параметры. Сравните и добавьте недостающее
 

Константин 271

★★★✩✩✩✩
12 Июл 2020
950
105

Сотнег

★★★★★★★
15 Янв 2020
4,407
1,509
Файлы отдаёт библиотека веб-сервера.
Очевидно, что у прошивок эти библиотеки разные, раз реакция браузеров в iOS разная.
Как минимум, версии отличаются.

Проблема в заголовке HTTP-пакета. Там, видимо, указано, что содержимое сжато, но в какой-то другой строке есть отличие, или её (строки) просто не хватает.

Хотя.........
index.html.gz - браузер вообще-то не должен знать, что у файла было расширение .gz

Веб-сервер должен отдавать содержимое по адресу без данного расширения.
Гляньте в Chrome на компьютере в мониторе передачи, там реально идут обращения к файлам с расширением .gz?

Если так, то это просто @vvip не разобрался, надо поудалять это расширение из всего кода и из всех .html и .html.gz-файлов.
 

VadZher

★✩✩✩✩✩✩
4 Ноя 2021
125
35
Омск
@vvip,
Ошибка компиляции на ESP32. Какую библиотеку нужно поставить? Из прилагаемой папки библиотек скопировал все.
IMG_5389.jpeg
 

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
45
11
@VadZher, Думаю "LittleFS.h" (по крайней мере на нее сейчас ругается при компиляции)
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
Ну вот если есть конкретно специалисты - подскажите. Смотрел кучу примеров - сделано по ним. Насколько успел глянуть в вышеобозначенных проектах - там то же самое, вроде. Конкретно индексный файл, насколько я понимаю - вообще не запрашивается. Запрашивается корневая папка сервера, в ответ мы подсовываем ему индексный файл, сжатый в gzip. О чем, честно предупреждаем в заголовке
1681798343508.png
Что я делаю не так?
 
Изменено:

vvip

★★★★✩✩✩
18 Дек 2018
506
230
@VadZher - littleFS - не библиотека. это часть ядра ESP32. Очевидно у вас ядро не той версии стоит. Ставьте 2.0.6. Предыдущая версия прошивки была для ядра 1.0.6, и там библиотеки не было в составе ядра, она шла отдельной библиотекой
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
Это в коде прошивки. В ответ на запрашиваемый файл. В данном случае - index.html сжатый.
Сервер может разные типы отправлять - предупреждение в заголовке нужно браузеру, получающему контент, чтобы знал что и в каком виде ему посылают. Кусочек взят из примера. Везде работает, кроме, как оказалось, айфонов. Видимо для сафари нужно что-то дополнительное отправлять...

Опять же в коде от Alvikskor’а, EmbUI - что-то подобное. Я не увидиел каких-то нюансов. Ткните носом, что у меня не так...
 

Сотнег

★★★★★★★
15 Янв 2020
4,407
1,509
@vvip,
попробуй просто убрать дописку ".gz".

Браузер в заголовке должен узнать только то, что содержимое сжато.
А за это отвечает строчка со словом "gzip".
 

Сотнег

★★★★★★★
15 Янв 2020
4,407
1,509
@vvip,
в примере слово (расширение) ".gz" предназначено для адреса файла при обращении к LittleFS.
А не для того, чтобы его браузеру в заголовке HTTP-пакета сообщить.
 

vvip

★★★★✩✩✩
18 Дек 2018
506
230
@vvip,
в примере слово (расширение) ".gz" предназначено для адреса файла при обращении к LittleFS.
А не для того, чтобы его браузеру в заголовке HTTP-пакета сообщить.
Ты видишь там в примере, берут path - равный "index.html". далее в другую переменную - path_GZipped - добавляют ."gz".
В beginResponse -подставляют path_GZipped. Чем это отличается от моей конструкции? Или у меня глаз замылен?