ESP, IoT WiFi лампа-будильник. Прошивка FireLamp_JeeUI (GPL)

WiFi лампа-будильник. Прошивка FireLamp_JeeUI (GPL)
Инструкция по установке прошивки (ее можно скачать отсюда , это последняя стабильная версия), но самая актуальная версия, которая разрабатывается в данный момент, находится тут: develop-ветка

Существует
Консольный билдер для прошивки (Win8.1 - 10) , если нет желания ставить VS Code+PIO, можете использовать данный вариант.



Еще варианты подключений можно поглядеть тут. По использованию пинов ESP8266/ESP32 можно поглядеть в этом сообщении и сообщениях рядом.

-----------------------------------------------------------------------

Также можно прошить заранее подготовленную прошивку и ФС отсюда, здесь самая новая версия от 25.02.2021
Проект: скачать отсюда, фреймворк JeeUI2 переработан и взят отсюда , но за время разработки фреймворк был существенно переработан, поменял название и фактически лампа уже работает на фреймворке EmbUI, который позволяет строить WebUI интерфейсы для любых проектов, считайте его готовым движком создания интерфейсов под ESP8266/ESP32, может использоваться кем угодно под свои задачи, полностью открыт и разработка продолжается. На уровне фреймворка есть:
1. Асинхронный вебсервер, с поддержкой до 5 одновременных клиентов и синхронизацией между ними.
2. Поддержка http-get запросов
3. Поддержка mqtt
4. SSDP, mDNS, полностью автоматический WiFi c восстановлением после сбоев
5. Предустановленный и преднастроенный базовый интерфейс
6. Фреймворк достаточно экономно расходует память и можно отключить некоторые потребляющие память части, типа SSDP
7. Поддержка локализации
8. Инструкция и примеры использования
В общем будут вопросы по фреймворку и его использованию - задавайте в теме. Лампа не единственный проект который может использовать фреймворк, на данный момент на нем же у меня в тестовом варианте собрана веб-камера для esp32, но пока еще не довел до ума и не выделил в отдельный проект.

Далее более подробно по установке:

Учтите, что PIO и VS Code развиваются и инструкция может быть немного не актуальна и не соответствовать текущим версиям ПО. При возникновении вопросов/проблем - задавайте их в теме.

1. Устанавливаем Visual Studio Code в зависимости от вашей операционной системы 32 или 64 битную версию.
2. Устанавливаем Git он тоже понадобится, так как Visual Studio Code на пару с PlatformIO будут ругаться что его им очень не хватает.
3. Перезагружаем компьютер.
4. Установить PlatformIO для этого запустить Visual Studio Code и в меню View выбрать пункт Extensions - либо воспользоваться сочетанием клавиш (Ctrl+Shift+X)
5. Выбрать PlatformIO IDE и нажать Install
6. Перезапустить Visual Studio Code у вас сразу откроется вкладка PIO Home, работаем в ней.
7. В вкладке Открыть проект - Open Project - заходим в папку с проектом и нажимаем Open "FireLamp_JeeUI-master"



8. Слева открываем Platformio.ini и делаем необходимые настройки, раскомментировать нужный board, это плата на которой вы собираете лампу, и закомментируйте ненужную.
9. Тут же нужно добавить настройки Com порта на котором у вас ваша плата, это делается командой upload_port = COM8 (где COM8 номер вашего порта COM2, COM3 и т.д.)
10. Останется настроить саму прошивку под себя это делается в include - config.h там все подробно откомментировано.
11. Первоначально вам необходимо будет записать файлы в ФС контроллера, иначе веб-интерфейс не будет доступен! Делается это так меню Terminal - Run Task.. (Ctrl+Alt+T) - PlatformIO - PlatformIO: Upload File System Image, если вы не забыли указать нужный Com порт и подключили плату все должно быть успешно.
Так вот там по умолчанию нет этого пункта.
Нужно нажать Кнопку PlatformIO, потом выбрать конфигурацию, которую собираешь и только потом Upload Filesystem Image. И только после такого она появляется в Run Task. Правильный скриншот прилагаю.

1600444586890.png
12. Можно собирать и заливать прошивку в лампу. Делается это нажатием на PlatformIO Upload.



P.S. Если вы забудете выполнить 11 пункт то не сможете подключится к лампе, при подключении к ней она будет перезагружаться.

Способы обновления прошивки:

OTA
- обновляется сама прошивка и есть возможность обновить File System Image как это описано выше, можно работать с лампой так как и по физическому подключению к COM порту без разбора и подключения проводом.

Для обновления прошивки по OTA нужно сделать изменения в файле PlatformIO.ini
1. Закомментировать по аналогии с другими строками и соблюдением пробелов, ваш COM порт.

2. Раскомментировать следующие строки, обратите внимание пробелы очень важны, если не соблюсти их будет выдаваться ошибка при запуске прошивки и она так и не начнется.

В строке с IP адресом, указать ваш адрес лампы.

C++:
upload_protocol = espota
upload_port = 192.168.1.36
upload_flags =
    --auth=12345
    -p 3232


Перед началом обновления, не забудьте перевести лампу в режим обновления PIO-ОТА, для http обновления (читать ниже) это делать не обязательно. Также убедитесь, что обновление прошивки через PIO разрешено дефайном в user_config.h

* внимание, для питона важны отступы (пробелы), так что внимательно выравнивайте на одном уровне

HTTP - обновление через web интерфейс, можно обновить как прошивку, так и ФС:
IP адрес лампы\update указываем файл firmware.bin или то же самое через WebUI
Нужно будет выбрать файл и нажать Upload, на кнопке Обновление появятся проценты прогресса.

1606756811806.png
Здесь на картинке под 1 показан вариант ОТА через PIO, под 2 - вариант через http для WebUI.

Для формирования файла firmware.bin нужно в PlatformIO запустить сборку прошивки без заливки. Для формирования ФС - соответственно соберите ФС и загрузите файл ФС пользуясь теми же кнопками, как при заливке прошивки.
1588144337363.png



После непродолжительной сборки прошивки, терминал выдаст ответ:
= [SUCCESS] =
файл будет находится в папке со скачанной прошивкой .pio\build\esp8266dev\
Я прошиваю после стирания:
Быстрый старт.

Что потребуется:
Visual Studio Code - скачиваем и устанавливаем, желательно перелогиниться или перезагрузиться, чтобы точно применились настройки путей.
Под VS Code устанавливается PlatformIO, дальше вся работа там. Если кому приятнее работать в ArduinoIDE - адаптируйте самостоятельно, у меня терпения не хватает ждать пока там все соберется, так что мне проще в PlatformIO все делать.

Проект: скачать отсюда, фреймворк JeeUI2 переработан и взят отсюда , но он уже включен в проект, так что дополнительно качать не нужно.

В общем у вас после открытия проекта должно выглядеть как-то так:
1583172758919.png

Контроллер ESP8266/ESP32 выбирается в файле platformio.ini.
ВНИМАНИЕ: Первоначально вам необходимо будет записать файлы в ФС контроллера, иначе веб-интерфейс не будет доступен!
Делается это так: PlatformIO->Run Task...->Upload File System Image
1583173209762.png
После этого можно собирать проект и записывать его в контроллер. Сами файлы для загрузки в ФС находятся в \FireLamp_JeeUI\data там же у меня находятся и файлы конфигурации config.json и eff_config.json . Вы также можете поместить свои предварительно созданные конфигурации, если это необходимо. Также к файловой системе можно получить доступ, если при компиляции проекта была раскомментирована настройка:
//#define USE_FTP // доступ к SPIFFS по FTP, логин/пароль: esp8266
После чего вы можете подключиться фтп-клиентом и скачать/записать то, что вам нужно.

---------------------
Я бы ещё в инструкции дописал, как собирать проект и записывать его в контроллер, сам искал долго эти кнопки.
Кнопки по сборке проекта, включению вывода сообщений отладчика, очистке проекта от объектных файлов, остановке задач и т.д. находятся внизу, слева:
1583602065364.png

Создание конфигурации:
Файл user_config.h.default переименовываете в user_config.h и редактируете.
Обратите внимание, то что для кнопки и плеера существует также возможность менять пины после перепрошивки, сделано это для тех, кто хочет залить бинарник, а затем настроить эти пины под себя:
1607700948873.png
Порядок создания пользовательской конфигурации описан здесь: user_config.h , пример такого файла можно посмотреть тут .
По кнопке:
* Из выключенного состояния
- 1 касание - включить на последнем эффекте
- 2 касания - включить в режиме ДЕМО
- долгое удержание - включить в режиме "белая лампа" на минимальную яркость (ночник)
- касание, удержание - включить в режиме "белая лампа" на максимальную яркость
* Во включенном состоянии
- 1 касание - выключить лампу
- 2 касания - следующий эффект
- 3 касания - предыдущий эффект
- 4 касания + 4 касания - запуск сервиса ОТА
- 5 касаний - вывод IP на лампу
- 6 касаний - вывод текущего времени бегущей строкой

- удержание - регулировка яркости
- 1 касание, удержание - регулировка "скорости" эффекта
- 2 касания, удержание - регулировка "масштаба" эффекта

Это дефолтное состояние для кнопки, но абсолютно любую настройку можно поменять, к примеру вот переход к 253 эффекту по 7 нажатиям во включенном состоянии:
1606757828411.png
В общем если что-то нужно или наоборот не нужно - настраивайте под себя. :)
По HTTP/MQTT (https://community.alexgyver.ru/thre...a-firelamp_jeeui-gpl.2739/page-299#post-73384)
команды можно посылать на лампу через браузер или curl по URL вида http://esp-xxxxxx/cmd?arg=param
- /cmd?on /cmd?off /cmd?on=true /cmd?on=false - вкл/выкл
- /cmd?demo - режим ДЕМО
- /cmd?gbright /cmd?gbright=true - проверка/установка для глобальной яркости
- /cmd?msg=Hello - вывод сообщения на лампу
- /cmd?effect=N - эффект номер N
- /cmd?move_next - следующий эффект
- /cmd?move_prev - предыдущий эффект
- /cmd?move_rnd - случайный эффект
- /cmd?effect - номер текущего эффекта
- /cmd?eff_config - конфигурация текущего эффекта
- /cmd?warning /cmd?warning=[16777215,5000,500,1] - неблокирующий вывод мигалки поверх эффекта (выдача предупреждений), первое число - цвет, второе - полный период, третье - полупериод мигания, четвертое - тип уведомления (0 - цвет, 1-2 - цвет и счетчик, 3 - счетчик)
- /cmd?alarm=true - форсировать включение будильника
- /cmd?control=N ; /cmd?control=[N,val] - получить/установить значение дин. контрола
- /cmd?inccontrol=N ; /cmd?inccontrol=[N,val] - возможность увеличить/уменьшить на val текущее значение контрола, не превышая мин/макс
- /cmd?list - полный список эффектов
- /cmd?demolist - список демо
- /cmd?showlist - список отображаемых
- /cmd?reboot - перезагрузить лампу
- /cmd?OTA - запустить сервер обновления OTA через PIO
- /cmd?draw=[цвет,X,Y]
- /cmd?matrix - отдает размеры [X,Y]
- /cmd?fillmatrix=цвет - заливка цветом

так же команды можно объединять в цепочки в одной посылке, т.е. допустим включить лампу, установить яркость, перейти к эффекту
аналогичные команды работают и для MQTT, если чего-то не хватает или что-то не получается - спрашивайте в теме

Дополнительные служебные комманды:

- /heap - показать свободное место на куче
- /echo - показать эхо-ответ (json для формирования интерфейса)
- /config - показать текущий конфиг (json основных настроек)
- /scan - показать доступные WiFi-сети
- /config.json - скачать активный конфиг лампы
- /events_config.json - скачать активный конфиг событий
- /update - форма http-обновления прошивки
- /edit - вызов редактора конфигов (esp8266/esp8266 - логин/пассворд)

После подключения к лампе в режиме точки доступа она доступна по в браузере по адресу http://192.168.4.1 , если же после этого ее переподключить к роутеру, то узнать ее адрес можно по 5 нажатий на кнопку - вывод IP, если кнопки нет - то при перезапуске лампы она однократно напишет IP. Также ее можно найти в сетевом окружении компьютера:
1609580490648.png
После обнаружения - доступен переход по адресу http://firelamp/ (работает нестабильно). Либо можно c помощью утилиты Service Browser найти сервис http и IP лампы, либо просто поглядеть IP который выдал роутер, если он имеет возможность показать этот адрес.

Основные возможности прошивки:
  • Повторяет все возможности других прошивок по управлению эффектами и предоставляет массу других возможностей
  • Управление по MQTT (см. список команд под спойлером выше), подробную инструкцию по установке и настройке можете почитать тут или посмотреть видео установки брокера
  • Отправка текстовых сообщений на лампу, в том числе специальных %IP, %TM, %EN, %DT
  • Настройка и вывод времени, само время синхронизуется по ntp или может задаваться вручную
  • Периодический вывод времени и/или новогоднего отсчета, лампа может использоваться как гирлянда на окно, корректный вывод текста с отзеркаливанием в случае если лампа "смотрит" во двор.
  • OTA в двух вариантах, при обновлении файловой системы, чтобы не терять настройки можете их сохранить и поместить в папку /data
  • Гибкое и настраиваемое управление кнопкой, индикаторы управления
  • Каждый эффект может иметь дополнительные динамические контролы, кроме трех стандартных. При необходимости любой контрол может быть скрыт
  • Подключение микрофона MAX9814 элементарное: +3.3В с ESP на Vdd микрофона, землю (GND) на землю, сигнальный (Out) микрофона на пин А0. На этом все
  • Возможно менять состояние произвольного пина/пинов (HIGH/LOW/TOGGLE) по событию. Строка настройки вида: [{'pin':1,'act':'H'}], допустимые варианты 'H'==HIGH, 'L'==LOW, 'T'==TOGGLE, также можно записать список, к примеру: [{'pin':1,'act':'H'},{'pin':2,'act':'L'},{'pin':3,'act':'T'}] - 1 установит в HIGH, 2 в LOW, 3 - переключит. Если для кого-то подобное управление слишком сложно, то есть возможность активировать AUX-пин, с прямым управлением им через http/mqtt или UI.
  • Есть возможность ставить множественные будильники и прочие автоматизации
  • Добавлен микрофон (MAX9814) и цветомузыка на основе амплитуды/частоты. Добавлен эффект "Частотный анализатор", множество эффектов имеют зависимость от звука, которую при необходимости можно отключить, как выборочно, так и для всех эффектов сразу
  • Поддержка http-команд , те же команды работают и для mqtt
  • Пользовательский интерфейс всегда актуален и синхронизирован с прошивкой, т.к. является частью прошивки
  • Если будет написано приложение под андроид/иос/... то оно тоже будет синхронизировано, т.к. интерфейс конструируется динамически
  • DF Player Mini - озвучивание эффектов, MP3-плеер, озвучивание времени, при проблемах с плеером обязательно поглядите сюда, подключение плеера - изучите это сообщение. Архив со звуковыми файлами можете взять, к примеру - тут, внимание изменена структура каталога файлов времени - последняя версия тут.
  • При потере связи с роутером прошивка автоматически создаст точку доступа, при восстановлении связи - переподключится, никаких проблем с переключением режимов нет, никаких задержек при недоступности серверов времени - тоже нет, лампа полностью доступна и управляется одинаковым образом как в STA режиме, так и в AP. IP лампы можно поглядеть как по нажатию кнопки, так и в сетевом окружении компьютера, либо через просмотр сервисов (поддерживается Bonjour-сервисы)
  • Прошивка гибко конфигурируется, можно отключать неиспользуемый функционал (кнопку, плеер, цветомузыку и т.д.)
  • Рисовалка (пока через http/mqtt, но будет и через UI)
  • По интеграции в Home Assistant можете поглядеть тут, самая новая и актуальная версия живет здесь.
  • Для тестирования доступно приложение под IOS. Также для управления можно использовать WLED из плеймаркета, подробнее читайте тут.

История:
  • старт с нуля
  • перенесены изменения с прошлого проекта
  • перенесен весь функционал
  • поддежка мосфетов для автоматизаций
  • перенесены эффекты со старых проектов и добавлены новые, общее количество подсчитать сложно, т.к. есть эффекты являющиеся генераторами эффектов, также можно создать копии, ориентировочное количество - 100 штук, впрочем все эти эффекты можно либо скрыть, либо удалить, либо наоборот создать доп. копии, кроме того есть возможность создать конфигурации, с разным поведением и переключать их по необходимости
  • микрофон и цветомузыка
  • возможность локализации (на данный момент есть - русский, украинский, английский, испанский)
  • вывод звука (DF Player Mini) - озвучивание времени, эффектов, MP3-плеер, будильник
  • поддержка энкодера
  • поддержка семисегментного индикатора TM1637
  • внутренняя RTC-память для сохранения даты/времени при перезагрузках контроллера
  • часы реального времени отдельным модулем (реализовано @Lumenjer)
В планах:
  • поддержка других контроллеров ESP (C3/S2), переход на новый SDK3+ когда будет исправлен FastLED

По состоянию на сегодня прошивка находится в стабильной стадии (есть релизная версия в мастер и текущая в девелоп бренчах). Прошивка активно развивается и над ней работают несколько разработчиков.

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

Обзоры реализации лампы от участников:
- WiFi Огненная лампа Harley Davidson (Lumenjer)

----------------------------------------

Можно ли копировать, менять что-то по своему усмотрению? Да, естественно - лицензия GPLv3. Разрешено все, что оговаривается лицензией. Но учтите, что согласно лицензии вы обязуетесь предоставлять исходный код проектов основанных на данном, даже в случае коммерческого использования. Либо сразу (предпочтительно), либо по первому требованию любого из обратившихся. Если вас не устраивают идеи и соглашения свободного кода - выбирайте другой проект и не используйте этот. И еще раз - моя позиция другими словами.

----------------------------------------
Фреймворк можно обсудить или задать вопросы по нему тут: https://community.alexgyver.ru/threads/embui-frejmvork-dlja-esp8266-esp32.5608/
----------------------------------------


Несколько скриншотов интерфейса прошивки (показаны три темы - классическая, светлая, темная):

s1.JPGs2.JPGs3.JPG
 

Вложения

Изменено:

Комментарии

kDn

★★★★★★★
18 Ноя 2019
4,310
2,390
Инструкция по установке прошивки (ее можно скачать отсюда , это последняя стабильная версия), но самая актуальная версия, которая разрабатывается в данный момент, находится тут: develop-ветка

Существует
Консольный билдер для прошивки (Win8.1 - 10) , если нет желания ставить VS Code+PIO, можете использовать данный вариант.



Еще варианты подключений можно поглядеть тут. По использованию пинов ESP8266/ESP32 можно поглядеть в этом сообщении и сообщениях рядом.

-----------------------------------------------------------------------

Также можно прошить заранее подготовленную прошивку и ФС отсюда, здесь самая новая версия от 25.02.2021
Проект: скачать отсюда, фреймворк JeeUI2 переработан и взят отсюда , но за время разработки фреймворк был существенно переработан, поменял название и фактически лампа уже работает на фреймворке EmbUI, который позволяет строить WebUI интерфейсы для любых проектов, считайте его готовым движком создания интерфейсов под ESP8266/ESP32, может использоваться кем угодно под свои задачи, полностью открыт и разработка продолжается. На уровне фреймворка есть:
1. Асинхронный вебсервер, с поддержкой до 5 одновременных клиентов и синхронизацией между ними.
2. Поддержка http-get запросов
3. Поддержка mqtt
4. SSDP, mDNS, полностью автоматический WiFi c восстановлением после сбоев
5. Предустановленный и преднастроенный базовый интерфейс
6. Фреймворк достаточно экономно расходует память и можно отключить некоторые потребляющие память части, типа SSDP
7. Поддержка локализации
8. Инструкция и примеры использования
В общем будут вопросы по фреймворку и его использованию - задавайте в теме. Лампа не единственный проект который может использовать фреймворк, на данный момент на нем же у меня в тестовом варианте собрана веб-камера для esp32, но пока еще не довел до ума и не выделил в отдельный проект.

Далее более подробно по установке:

Учтите, что PIO и VS Code развиваются и инструкция может быть немного не актуальна и не соответствовать текущим версиям ПО. При возникновении вопросов/проблем - задавайте их в теме.

1. Устанавливаем Visual Studio Code в зависимости от вашей операционной системы 32 или 64 битную версию.
2. Устанавливаем Git он тоже понадобится, так как Visual Studio Code на пару с PlatformIO будут ругаться что его им очень не хватает.
3. Перезагружаем компьютер.
4. Установить PlatformIO для этого запустить Visual Studio Code и в меню View выбрать пункт Extensions - либо воспользоваться сочетанием клавиш (Ctrl+Shift+X)
5. Выбрать PlatformIO IDE и нажать Install
6. Перезапустить Visual Studio Code у вас сразу откроется вкладка PIO Home, работаем в ней.
7. В вкладке Открыть проект - Open Project - заходим в папку с проектом и нажимаем Open "FireLamp_JeeUI-master"



8. Слева открываем Platformio.ini и делаем необходимые настройки, раскомментировать нужный board, это плата на которой вы собираете лампу, и закомментируйте ненужную.
9. Тут же нужно добавить настройки Com порта на котором у вас ваша плата, это делается командой upload_port = COM8 (где COM8 номер вашего порта COM2, COM3 и т.д.)
10. Останется настроить саму прошивку под себя это делается в include - config.h там все подробно откомментировано.
11. Первоначально вам необходимо будет записать файлы в ФС контроллера, иначе веб-интерфейс не будет доступен! Делается это так меню Terminal - Run Task.. (Ctrl+Alt+T) - PlatformIO - PlatformIO: Upload File System Image, если вы не забыли указать нужный Com порт и подключили плату все должно быть успешно.
Так вот там по умолчанию нет этого пункта.
Нужно нажать Кнопку PlatformIO, потом выбрать конфигурацию, которую собираешь и только потом Upload Filesystem Image. И только после такого она появляется в Run Task. Правильный скриншот прилагаю.

1600444586890.png
12. Можно собирать и заливать прошивку в лампу. Делается это нажатием на PlatformIO Upload.



P.S. Если вы забудете выполнить 11 пункт то не сможете подключится к лампе, при подключении к ней она будет перезагружаться.

Способы обновления прошивки:

OTA
- обновляется сама прошивка и есть возможность обновить File System Image как это описано выше, можно работать с лампой так как и по физическому подключению к COM порту без разбора и подключения проводом.

Для обновления прошивки по OTA нужно сделать изменения в файле PlatformIO.ini
1. Закомментировать по аналогии с другими строками и соблюдением пробелов, ваш COM порт.

2. Раскомментировать следующие строки, обратите внимание пробелы очень важны, если не соблюсти их будет выдаваться ошибка при запуске прошивки и она так и не начнется.

В строке с IP адресом, указать ваш адрес лампы.

C++:
upload_protocol = espota
upload_port = 192.168.1.36
upload_flags =
    --auth=12345
    -p 3232


Перед началом обновления, не забудьте перевести лампу в режим обновления PIO-ОТА, для http обновления (читать ниже) это делать не обязательно. Также убедитесь, что обновление прошивки через PIO разрешено дефайном в user_config.h

* внимание, для питона важны отступы (пробелы), так что внимательно выравнивайте на одном уровне

HTTP - обновление через web интерфейс, можно обновить как прошивку, так и ФС:
IP адрес лампы\update указываем файл firmware.bin или то же самое через WebUI
Нужно будет выбрать файл и нажать Upload, на кнопке Обновление появятся проценты прогресса.

1606756811806.png
Здесь на картинке под 1 показан вариант ОТА через PIO, под 2 - вариант через http для WebUI.

Для формирования файла firmware.bin нужно в PlatformIO запустить сборку прошивки без заливки. Для формирования ФС - соответственно соберите ФС и загрузите файл ФС пользуясь теми же кнопками, как при заливке прошивки.
1588144337363.png



После непродолжительной сборки прошивки, терминал выдаст ответ:
= [SUCCESS] =
файл будет находится в папке со скачанной прошивкой .pio\build\esp8266dev\
Я прошиваю после стирания:
Быстрый старт.

Что потребуется:
Visual Studio Code - скачиваем и устанавливаем, желательно перелогиниться или перезагрузиться, чтобы точно применились настройки путей.
Под VS Code устанавливается PlatformIO, дальше вся работа там. Если кому приятнее работать в ArduinoIDE - адаптируйте самостоятельно, у меня терпения не хватает ждать пока там все соберется, так что мне проще в PlatformIO все делать.

Проект: скачать отсюда, фреймворк JeeUI2 переработан и взят отсюда , но он уже включен в проект, так что дополнительно качать не нужно.

В общем у вас после открытия проекта должно выглядеть как-то так:
1583172758919.png

Контроллер ESP8266/ESP32 выбирается в файле platformio.ini.
ВНИМАНИЕ: Первоначально вам необходимо будет записать файлы в ФС контроллера, иначе веб-интерфейс не будет доступен!
Делается это так: PlatformIO->Run Task...->Upload File System Image
1583173209762.png
После этого можно собирать проект и записывать его в контроллер. Сами файлы для загрузки в ФС находятся в \FireLamp_JeeUI\data там же у меня находятся и файлы конфигурации config.json и eff_config.json . Вы также можете поместить свои предварительно созданные конфигурации, если это необходимо. Также к файловой системе можно получить доступ, если при компиляции проекта была раскомментирована настройка:
//#define USE_FTP // доступ к SPIFFS по FTP, логин/пароль: esp8266
После чего вы можете подключиться фтп-клиентом и скачать/записать то, что вам нужно.

---------------------
Я бы ещё в инструкции дописал, как собирать проект и записывать его в контроллер, сам искал долго эти кнопки.
Кнопки по сборке проекта, включению вывода сообщений отладчика, очистке проекта от объектных файлов, остановке задач и т.д. находятся внизу, слева:
1583602065364.png

Создание конфигурации:
Файл user_config.h.default переименовываете в user_config.h и редактируете.
Обратите внимание, то что для кнопки и плеера существует также возможность менять пины после перепрошивки, сделано это для тех, кто хочет залить бинарник, а затем настроить эти пины под себя:
1607700948873.png
Порядок создания пользовательской конфигурации описан здесь: user_config.h , пример такого файла можно посмотреть тут .
По кнопке:
* Из выключенного состояния
- 1 касание - включить на последнем эффекте
- 2 касания - включить в режиме ДЕМО
- долгое удержание - включить в режиме "белая лампа" на минимальную яркость (ночник)
- касание, удержание - включить в режиме "белая лампа" на максимальную яркость
* Во включенном состоянии
- 1 касание - выключить лампу
- 2 касания - следующий эффект
- 3 касания - предыдущий эффект
- 4 касания + 4 касания - запуск сервиса ОТА
- 5 касаний - вывод IP на лампу
- 6 касаний - вывод текущего времени бегущей строкой

- удержание - регулировка яркости
- 1 касание, удержание - регулировка "скорости" эффекта
- 2 касания, удержание - регулировка "масштаба" эффекта

Это дефолтное состояние для кнопки, но абсолютно любую настройку можно поменять, к примеру вот переход к 253 эффекту по 7 нажатиям во включенном состоянии:
1606757828411.png
В общем если что-то нужно или наоборот не нужно - настраивайте под себя. :)
По HTTP/MQTT (https://community.alexgyver.ru/thre...a-firelamp_jeeui-gpl.2739/page-299#post-73384)
команды можно посылать на лампу через браузер или curl по URL вида http://esp-xxxxxx/cmd?arg=param
- /cmd?on /cmd?off /cmd?on=true /cmd?on=false - вкл/выкл
- /cmd?demo - режим ДЕМО
- /cmd?gbright /cmd?gbright=true - проверка/установка для глобальной яркости
- /cmd?msg=Hello - вывод сообщения на лампу
- /cmd?effect=N - эффект номер N
- /cmd?move_next - следующий эффект
- /cmd?move_prev - предыдущий эффект
- /cmd?move_rnd - случайный эффект
- /cmd?effect - номер текущего эффекта
- /cmd?eff_config - конфигурация текущего эффекта
- /cmd?warning /cmd?warning=[16777215,5000,500,1] - неблокирующий вывод мигалки поверх эффекта (выдача предупреждений), первое число - цвет, второе - полный период, третье - полупериод мигания, четвертое - тип уведомления (0 - цвет, 1-2 - цвет и счетчик, 3 - счетчик)
- /cmd?alarm=true - форсировать включение будильника
- /cmd?control=N ; /cmd?control=[N,val] - получить/установить значение дин. контрола
- /cmd?inccontrol=N ; /cmd?inccontrol=[N,val] - возможность увеличить/уменьшить на val текущее значение контрола, не превышая мин/макс
- /cmd?list - полный список эффектов
- /cmd?demolist - список демо
- /cmd?showlist - список отображаемых
- /cmd?reboot - перезагрузить лампу
- /cmd?OTA - запустить сервер обновления OTA через PIO
- /cmd?draw=[цвет,X,Y]
- /cmd?matrix - отдает размеры [X,Y]
- /cmd?fillmatrix=цвет - заливка цветом

так же команды можно объединять в цепочки в одной посылке, т.е. допустим включить лампу, установить яркость, перейти к эффекту
аналогичные команды работают и для MQTT, если чего-то не хватает или что-то не получается - спрашивайте в теме

Дополнительные служебные комманды:

- /heap - показать свободное место на куче
- /echo - показать эхо-ответ (json для формирования интерфейса)
- /config - показать текущий конфиг (json основных настроек)
- /scan - показать доступные WiFi-сети
- /config.json - скачать активный конфиг лампы
- /events_config.json - скачать активный конфиг событий
- /update - форма http-обновления прошивки
- /edit - вызов редактора конфигов (esp8266/esp8266 - логин/пассворд)

После подключения к лампе в режиме точки доступа она доступна по в браузере по адресу http://192.168.4.1 , если же после этого ее переподключить к роутеру, то узнать ее адрес можно по 5 нажатий на кнопку - вывод IP, если кнопки нет - то при перезапуске лампы она однократно напишет IP. Также ее можно найти в сетевом окружении компьютера:
1609580490648.png
После обнаружения - доступен переход по адресу http://firelamp/ (работает нестабильно). Либо можно c помощью утилиты Service Browser найти сервис http и IP лампы, либо просто поглядеть IP который выдал роутер, если он имеет возможность показать этот адрес.

Основные возможности прошивки:
  • Повторяет все возможности других прошивок по управлению эффектами и предоставляет массу других возможностей
  • Управление по MQTT (см. список команд под спойлером выше), подробную инструкцию по установке и настройке можете почитать тут или посмотреть видео установки брокера
  • Отправка текстовых сообщений на лампу, в том числе специальных %IP, %TM, %EN, %DT
  • Настройка и вывод времени, само время синхронизуется по ntp или может задаваться вручную
  • Периодический вывод времени и/или новогоднего отсчета, лампа может использоваться как гирлянда на окно, корректный вывод текста с отзеркаливанием в случае если лампа "смотрит" во двор.
  • OTA в двух вариантах, при обновлении файловой системы, чтобы не терять настройки можете их сохранить и поместить в папку /data
  • Гибкое и настраиваемое управление кнопкой, индикаторы управления
  • Каждый эффект может иметь дополнительные динамические контролы, кроме трех стандартных. При необходимости любой контрол может быть скрыт
  • Подключение микрофона MAX9814 элементарное: +3.3В с ESP на Vdd микрофона, землю (GND) на землю, сигнальный (Out) микрофона на пин А0. На этом все
  • Возможно менять состояние произвольного пина/пинов (HIGH/LOW/TOGGLE) по событию. Строка настройки вида: [{'pin':1,'act':'H'}], допустимые варианты 'H'==HIGH, 'L'==LOW, 'T'==TOGGLE, также можно записать список, к примеру: [{'pin':1,'act':'H'},{'pin':2,'act':'L'},{'pin':3,'act':'T'}] - 1 установит в HIGH, 2 в LOW, 3 - переключит. Если для кого-то подобное управление слишком сложно, то есть возможность активировать AUX-пин, с прямым управлением им через http/mqtt или UI.
  • Есть возможность ставить множественные будильники и прочие автоматизации
  • Добавлен микрофон (MAX9814) и цветомузыка на основе амплитуды/частоты. Добавлен эффект "Частотный анализатор", множество эффектов имеют зависимость от звука, которую при необходимости можно отключить, как выборочно, так и для всех эффектов сразу
  • Поддержка http-команд , те же команды работают и для mqtt
  • Пользовательский интерфейс всегда актуален и синхронизирован с прошивкой, т.к. является частью прошивки
  • Если будет написано приложение под андроид/иос/... то оно тоже будет синхронизировано, т.к. интерфейс конструируется динамически
  • DF Player Mini - озвучивание эффектов, MP3-плеер, озвучивание времени, при проблемах с плеером обязательно поглядите сюда, подключение плеера - изучите это сообщение. Архив со звуковыми файлами можете взять, к примеру - тут, внимание изменена структура каталога файлов времени - последняя версия тут.
  • При потере связи с роутером прошивка автоматически создаст точку доступа, при восстановлении связи - переподключится, никаких проблем с переключением режимов нет, никаких задержек при недоступности серверов времени - тоже нет, лампа полностью доступна и управляется одинаковым образом как в STA режиме, так и в AP. IP лампы можно поглядеть как по нажатию кнопки, так и в сетевом окружении компьютера, либо через просмотр сервисов (поддерживается Bonjour-сервисы)
  • Прошивка гибко конфигурируется, можно отключать неиспользуемый функционал (кнопку, плеер, цветомузыку и т.д.)
  • Рисовалка (пока через http/mqtt, но будет и через UI)
  • По интеграции в Home Assistant можете поглядеть тут, самая новая и актуальная версия живет здесь.
  • Для тестирования доступно приложение под IOS. Также для управления можно использовать WLED из плеймаркета, подробнее читайте тут.

История:
  • старт с нуля
  • перенесены изменения с прошлого проекта
  • перенесен весь функционал
  • поддежка мосфетов для автоматизаций
  • перенесены эффекты со старых проектов и добавлены новые, общее количество подсчитать сложно, т.к. есть эффекты являющиеся генераторами эффектов, также можно создать копии, ориентировочное количество - 100 штук, впрочем все эти эффекты можно либо скрыть, либо удалить, либо наоборот создать доп. копии, кроме того есть возможность создать конфигурации, с разным поведением и переключать их по необходимости
  • микрофон и цветомузыка
  • возможность локализации (на данный момент есть - русский, украинский, английский, испанский)
  • вывод звука (DF Player Mini) - озвучивание времени, эффектов, MP3-плеер, будильник
  • поддержка энкодера
  • поддержка семисегментного индикатора TM1637
  • внутренняя RTC-память для сохранения даты/времени при перезагрузках контроллера
  • часы реального времени отдельным модулем (реализовано @Lumenjer)
В планах:
  • поддержка других контроллеров ESP (C3/S2), переход на новый SDK3+ когда будет исправлен FastLED

По состоянию на сегодня прошивка находится в стабильной стадии (есть релизная версия в мастер и текущая в девелоп бренчах). Прошивка активно развивается и над ней работают несколько разработчиков.

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

Обзоры реализации лампы от участников:
- WiFi Огненная лампа Harley Davidson (Lumenjer)

----------------------------------------

Можно ли копировать, менять что-то по своему усмотрению? Да, естественно - лицензия GPLv3. Разрешено все, что оговаривается лицензией. Но учтите, что согласно лицензии вы обязуетесь предоставлять исходный код проектов основанных на данном, даже в случае коммерческого использования. Либо сразу (предпочтительно), либо по первому требованию любого из обратившихся. Если вас не устраивают идеи и соглашения свободного кода - выбирайте другой проект и не используйте этот. И еще раз - моя позиция другими словами.

----------------------------------------
Фреймворк можно обсудить или задать вопросы по нему тут: https://community.alexgyver.ru/threads/embui-frejmvork-dlja-esp8266-esp32.5608/
----------------------------------------


Несколько скриншотов интерфейса прошивки (показаны три темы - классическая, светлая, темная):

s1.JPGs2.JPGs3.JPG
 

Вложения

Изменено:

andy040670

★★★✩✩✩✩
13 Ноя 2019
534
156
51
Надо еще раз предыдущий ответ написать или вы все же его самостоятельно прочтете?
Надо это убрать из user_config.h.default, раз этого нет, то и в конфиге его не должно быть.
Кто следит за темой, тот в курсе, а кто только пришёл или давно не заходил, тем явно это не очевидно.
И вопросов станет меньше.
 

kDn

★★★★★★★
18 Ноя 2019
4,310
2,390
@andy040670, у того кто не читает ответов вопросов меньше не станет.
А что убирать или не убирать из конфига как бы не вам решать. Комментария о том, что устарело более чем достаточно.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
534
156
51
@kDn, ладно проехали.
По поводу обратного отсчёта с произвольными событиями? вопрос уже как год висит, вы обещали отсчёт до нового года нахер похерить и сделать нормальный эвент с обратным отсчётом по X событиям.
Мне понятно, что у вас катастрофически не хватает времени даже на фреймворк, а тут ещё и лампа.
На S2 и C3 давненько присматривался, но пока есть запас WROOM'еров и WROVER'ов, да и не очень то они совместимы, а так как я не программист, а простой водила, то заказывать пока не буду, но по вашим постам выше, штука интересная.
 

kostyamat

★★★★★★★
29 Окт 2019
3,277
1,871
Изменения в DEV

Добавлен безимянный эффект "Test", просьба предложить название. Или может к какому мультиэффекту? Жду предложений.

В "Управление списком эффектов" нажать кнопку "Обновить список эффектов".
 

kDn

★★★★★★★
18 Ноя 2019
4,310
2,390
По поводу обратного отсчёта с произвольными событиями? вопрос уже как год висит, вы обещали отсчёт до нового года нахер похерить и сделать нормальный эвент с обратным отсчётом по X событиям.
Это не супер-приоритетная задача. Я много чего по событиям собирался и все еще собираюсь сделать, но это будет как только так и сразу.
А вот разобраться в сути багулины на С3 для меня сейчас на порядок важнее. Жаль только, что на это тоже не хватает времени и приходится урывками делать... вот сегодня, к примеру, так и на заглянул. Видимо все опять откладывается на завтра.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
534
156
51
Это не супер-приоритетная задача. Я много чего по событиям собирался и все еще собираюсь сделать, но это будет как только так и сразу.
Так и никто не спорит, будет время, поправьте. Просто напомнил.
А вот разобраться в сути багулины на С3 для меня сейчас на порядок важнее. Жаль только, что на это тоже не хватает времени и приходится урывками делать... вот сегодня, к примеру, так и на заглянул. Видимо все опять откладывается на завтра.
Иногда надо делать паузы, порой умные мысли приходят во сне.
Ну, а здесь, как говориться флаг вам в руки, мы ждём результатов. Тут я с вами солидарен.
 

kostyamat

★★★★★★★
29 Окт 2019
3,277
1,871
@menooooo,
??? Прям сейчас смотрю на лампу с дисплеем и датчиком 18в20. Анализируете свой юзер-конфиг.

*** Лог сборки бы посмотреть.
 

menooooo

★✩✩✩✩✩✩
4 Мар 2019
201
30
@kostyamat,
Лог:
Compiling .pio\build\esp8266@160dev\src\DS18B20.cpp.o
In file included from C:\Users\ASUS\.platformio\packages\framework-arduinoespressif8266\tools\sdk\include/osapi.h:29:0,
                 from C:\Users\ASUS\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/pgmspace.h:12,
                 from C:\Users\ASUS\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:240,
                 from lib\GyverButton/GyverButton.h:2,
                 from include/config.h:49,
                 from src\DS18B20.cpp:38:
include/user_config.h:56:0: warning: "LAMP_DEBUG" redefined [enabled by default]
 #define LAMP_DEBUG                                          // режим отладки, можно также включать в platformio.ini
 ^
<command-line>:0:0: note: this is the location of the previous definition
In file included from .pio\libdeps\esp8266@160dev\EmbUI\src/EmbUI.h:9:0,
                 from include/main.h:49,
                 from include/DS18B20.h:44,
                 from src\DS18B20.cpp:40:
.pio\libdeps\esp8266@160dev\EmbUI\src/globals.h:24:0: warning: "LOG" redefined [enabled by default]
   #define LOG(func, ...) EMBUI_DEBUG_PORT.func([B]VA_ARGS[/B])
 ^
In file included from include/DS18B20.h:43:0,
                 from src\DS18B20.cpp:40:
include/misc.h:114:0: note: this is the location of the previous definition
  #define LOG(func, ...) Serial.func([B]VA_ARGS[/B])
 ^
In file included from include/config.h:57:0,
                 from src\DS18B20.cpp:38:
.pio\libdeps\esp8266@160dev\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000
 #    pragma message "FastLED version 3.004.000"
                     ^
In file included from .pio\libdeps\esp8266@160dev\FastLED\src/FastLED.h:65:0,
                 from include/config.h:57,
                 from src\DS18B20.cpp:38:
.pio\libdeps\esp8266@160dev\FastLED\src/fastspi.h:135:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output
 #      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"
                       ^
src\DS18B20.cpp: In function 'void ds_loop()':
src\DS18B20.cpp:117:34: error: 'class LAMP' has no member named 'isTempDisp'
   if (canDisplayTemp() && myLamp.isTempDisp()) ds_display(curTemp);
                                  ^
*** [.pio\build\esp8266@160dev\src\DS18B20.cpp.o] Error 1
 

Lumenjer

★★★★✩✩✩
10 Дек 2020
503
268
@menooooo, проблему нашел, скоро поправлю

@DimTs, до макетки с ESP32 пока не добрался, но скорее всего у меня будет такая же история. Можно было бы вынести дефайн для этой задержки, но есть приколы с передачей дефайнов из конфига в библиотеку (передаю привет таймзонам). Хотя это может только при передачи значений с помощью дефайна.

***
Залил фикс, попутно изменил настройку Задержку прокрутки текста на Скорость прокрутки текста, при увеличении значении - скорость текста будет выше (но в конфиге будет храниться именно задержка, поэтому ничего перенастраивать не надо).
 
Изменено:
  • Лойс +1
Реакции: kostyamat

Lumenjer

★★★★✩✩✩
10 Дек 2020
503
268
Теперь для тех, у кого есть датчик, температура будет отображаться в боковом меню.
1634239613215.png
У кого датчика нет - отображаться не будет)
В ресурсы добавил скрипт pubcallback.js, который автоматически убирает (скрывает) позицию Temp:.
В respack.sh добавил строку cat html/js/*.js | gzip -9 > ../data/js/lamp.js.gz , чтобы автоматически собирать все скрипты находящиеся в ресурсах в lamp.js.gz
Пока это делал, то родилась мысль как можно сделать pubcallback полностью динамическими (особо не меняя саму прошивку). Как появится свободное время - займусь этим параллельно с переводом.
 

igor.pasichnick

✩✩✩✩✩✩✩
12 Окт 2021
1
0
Доброго дня ВАМ. Ребята подскажите пожалуста как скачать код.. ну ни как не получается. очень хочется сделать лампу будильник
 

chapenkov

✩✩✩✩✩✩✩
14 Окт 2021
3
1
Здравствуйте. Прошу помощи.

Не могу запустить прошивку. Версия последняя с git (git pull от 16.01.21), стабильная. Плата - wemos d1 mini. Схема как у оригинальной gyverlamp2 (кнопка сенсорная D2, матрица D4, микрофон на A0, но в прошивке отключен). Создан user_config.h, там прописаны пины кнопки и пин матрицы.

pio --version: PlatformIO Core, version 5.2.1

В platfomio.ini: board = d1_mini

Прошиваю: Erase chip -> Upload Filesystem Image -> Upload. Прошивается без ошибок. Прошиваю дефолтную конфигурацию (esp8266dev). Матрица при прошивке отключена, кнопка подключена.

При запуске в мониторе:
13:09:32.222 > ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????UI MAC ID:166C81
13:09:32.222 > UI: Config file load Can't open file: /config.json...failed, trying with backup
13:09:32.222 > Can't open file: /config_bkp.jsonUI: Creating system vars
13:09:32.222 > UI CREATE key: (hostname) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (APonly) value: (0) RAM: 39856
13:09:32.222 > UI CREATE key: (APpwd) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (m_host) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (m_port) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (m_user) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (m_pass) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (m_pref) value: (166C81) RAM: 39856
13:09:32.222 > UI CREATE key: (m_tupd) value: (30) RAM: 39856
13:09:32.222 > UI CREATE key: (TZSET) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (userntp) value: () RAM: 39856
13:09:32.222 > Создание дефолтных параметров
13:09:32.222 > UI CREATE key: (syslampFlags) value: (4260432) RAM: 39832
13:09:32.222 > UI CREATE key: (effListMain) value: (1) RAM: 39832
13:09:32.222 > UI CREATE key: (fileName) value: (cfg1.json) RAM: 39856
13:09:32.222 > UI CREATE key: (msg) value: () RAM: 39856
13:09:32.222 > UI CREATE key: (txtColor) value: (#ffffff) RAM: 39856
13:09:32.222 > UI CREATE key: (txtBfade) value: (222) RAM: 39856
13:09:32.222 > UI CREATE key: (txtSpeed) value: (100) RAM: 39856
13:09:32.222 > UI CREATE key: (txtOf) value: (0) RAM: 39856
13:09:32.222 > UI CREATE key: (effSort) value: (1) RAM: 39856
13:09:32.222 > UI CREATE key: (GlobBRI) value: (127) RAM: 39856
13:09:32.222 > UI CREATE key: (ny_period) value: (0) RAM: 39856
13:09:32.222 > UI CREATE key: (ny_unix) value: (1609459200) RAM: 39856
13:09:32.222 > UI CREATE key: (Demo) value: (0) RAM: 39856
13:09:32.222 > UI CREATE key: (DTimer) value: (60) RAM: 39856
13:09:32.222 > UI CREATE key: (alarmPT) value: (85) RAM: 39856
13:09:32.222 > UI CREATE key: (spdcf) value: (1.0) RAM: 39856
13:09:32.222 > UI CREATE key: (PINB) value: (4) RAM: 39856
13:09:32.222 > UI CREATE key: (CLmt) value: (2000) RAM: 39856
13:09:32.222 > UI: Creating webui vars
13:09:32.222 > UI CREATE key: (lang) value: (0) RAM: 39856
13:09:32.222 > UI READ KEY: 'lang'string val (0)
13:09:32.222 > UI REGISTER: settings
13:09:32.222 > UI REGISTER: sh_netw
13:09:32.222 > UI REGISTER: sh_time
13:09:32.222 > UI REGISTER: set_wifi
13:09:32.222 > UI REGISTER: set_wifiAP
13:09:32.222 > UI REGISTER: set_mqtt
13:09:32.222 > UI REGISTER: set_scan
13:09:32.222 > UI REGISTER: set_time
13:09:32.222 > UI REGISTER: lang
13:09:32.222 > UI REGISTER: reboot
13:09:32.222 > UI REGISTER: sysSettings
13:09:32.222 > UI REGISTER: syslampFlags
13:09:32.222 > UI REGISTER: main
13:09:32.222 > UI REGISTER: show_flags
13:09:32.222 > UI REGISTER: effects
13:09:32.222 > UI REGISTER: effects_param
13:09:32.222 > UI REGISTER: effListMain
13:09:32.222 > UI REGISTER: dynCtrl*
13:09:32.222 > UI REGISTER: eff_prev
13:09:32.222 > UI REGISTER: eff_next
13:09:32.222 > UI REGISTER: effects_config
13:09:32.222 > UI REGISTER: effListConf
13:09:32.222 > UI REGISTER: set_effect
13:09:32.222 > UI REGISTER: ONflag
13:09:32.222 > UI REGISTER: Demo
13:09:32.222 > UI REGISTER: GBR
13:09:32.222 > UI REGISTER: OTA
13:09:32.222 > UI REGISTER: drawing
13:09:32.222 > UI REGISTER: ESPsysSettings
13:09:32.222 > UI REGISTER: lamptext
13:09:32.222 > UI REGISTER: textsend
13:09:32.222 > UI REGISTER: add_lamp_config
13:09:32.222 > UI REGISTER: edit_lamp_config
13:09:32.222 > UI REGISTER: edit_text_config
13:09:32.222 > UI REGISTER: drawing_ctrl*
13:09:32.222 > UI REGISTER: drawClear
13:09:32.222 > UI REGISTER: drawbuff
13:09:32.222 > UI UNREGISTER: settings
13:09:32.222 > UI REGISTER: settings
13:09:32.222 > UI UNREGISTER: sh_netw
13:09:32.222 > UI REGISTER: sh_netw
13:09:32.222 > UI UNREGISTER: sh_time
13:09:32.222 > UI REGISTER: sh_time
13:09:32.222 > UI UNREGISTER: set_wifi
13:09:32.222 > UI REGISTER: set_wifi
13:09:32.222 > UI UNREGISTER: set_wifiAP
13:09:32.222 > UI REGISTER: set_wifiAP
13:09:32.222 > UI UNREGISTER: set_time
13:09:32.222 > UI REGISTER: set_time
13:09:32.222 > UI UNREGISTER: set_mqtt
13:09:32.222 > UI REGISTER: set_mqtt
13:09:32.222 > UI REGISTER: scan
13:09:32.222 > UI REGISTER: show_other
13:09:32.222 > UI REGISTER: set_other
13:09:32.222 > UI REGISTER: show_event
13:09:32.222 > UI REGISTER: event_conf
13:09:32.222 > UI REGISTER: set_event
13:09:32.222 > UI REGISTER: Events
13:09:32.222 > UI REGISTER: evList
13:09:32.222 > UI REGISTER: show_butt
13:09:32.222 > UI REGISTER: butt_conf
13:09:32.222 > UI REGISTER: set_butt
13:09:32.222 > UI REGISTER: Btn
13:09:32.222 > UI REGISTER: debug
13:09:32.222 > UI READ KEY: 'm_pref'string val (166C81)
13:09:32.222 > UI READ KEY: 'm_host'string val ()
13:09:32.222 > UI READ KEY: 'm_port'string val ()
13:09:32.222 > UI READ KEY: 'm_user'string val ()
13:09:32.222 > UI READ KEY: 'm_pass'string val ()
13:09:32.222 > UI: MQTT host is empty - disabled!
13:09:32.222 > UI CONFIG: {"hostname":"","APonly":"0","APpwd":"","m_host":"","m_port":"","m_user":"","m_pass":"","m_pref":"166C81","m_tupd":"30","TZSET":"","userntp":"","syslampFlags":"4260432","effListMain":"1","fileName":"cfg1.json","msg":"","txtColor":"#ffffff","txtBfade":"222","txtSpeed":"100","txtOf":"0","effSort":"1","GlobBRI":"127","ny_period":"0","ny_unix":"1609459200","Demo":"0","DTimer":"60","alarmPT":"85","spdcf":"1.0","PINB":"4","CLmt":"2000","lang":0}
13:09:32.222 > UI READ KEY: 'TZSET'string val ()
13:09:32.222 > UI READ KEY: 'userntp'string val ()
13:09:32.222 > UI READ KEY: 'hostname'string val ()
13:09:32.222 > UI READ KEY: 'APpwd'string val ()
13:09:32.222 > UI cfg WRITE key:'hostname' val:'EmbUI-166C81...', cfg mem free: 1260
13:09:32.222 > UI WiFi: set AP params to SSID:EmbUI-166C81, pwd:
13:09:32.222 > UI READ KEY: 'APonly'string val (0)
13:09:32.222 > UI WiFi: start in AP/STA mode
13:09:32.222 > UI WiFi: STA reconecting...
13:09:32.222 > UI READ KEY: 'hostname'string val (EmbUI-166C81)
13:09:32.222 > UI READ KEY: 'hostname'string val (EmbUI-166C81)
13:09:32.222 > Start SSDP
13:09:32.222 > UI READ KEY: 'effSort'string val (1)
13:09:32.222 > Пересортировка эффектов: 1
13:09:32.222 > Make default config: 15 Эффекты 3D-шума
13:09:32.222 > Make default config: 16 Ёлки-Палки
13:09:32.222 > Make default config: 17 Геометрический Вальс
13:09:32.222 > Make default config: 18 Тикси Ленд
13:09:32.222 > Make default config: 19 LDIRKO Ленд
13:09:32.222 > Make default config: 20 Осцилятор
13:09:32.222 > Make default config: 21 Шторм
13:09:38.521 > x?x?x?x?x?x??xxx?x????????x????x??x?x?x??xxxx?xxx????x??x?x?x?x?x?x?x?xxx??x???x???xxx?xx?x??x?x?x???xxx?xxx?x??x?x?xx?x??x???x????x???x??xxx?x????x?????x???x?x?x??x?x?????x?x?xx??x?x??x?x?x?xxx?xxx??x??xx?x?x?x?xxx??x??xx?x?x??x????????xxx?xxx??x?x?x?xxUI MAC ID:166C81
13:09:38.613 > UI: Config file load Can't open file: /config.json...failed, trying with backup
13:09:38.613 > Can't open file: /config_bkp.jsonUI: Creating system vars
13:09:38.613 > UI CREATE key: (hostname) value: () RAM: 39856
13:09:38.622 > UI CREATE key: (APonly) value: (0) RAM: 39856
13:09:38.622 > UI CREATE key: (APpwd) value: () RAM: 39856
13:09:38.622 > UI CREATE key: (m_host) value: () RAM: 39856
13:09:38.625 > UI CREATE key: (m_port) value: () RAM: 39856
13:09:38.625 > UI CREATE key: (m_user) value: () RAM: 39856
13:09:38.625 > UI CREATE key: (m_pass) value: () RAM: 39856
13:09:38.625 > UI CREATE key: (m_pref) value: (166C81) RAM: 39856
13:09:38.625 > UI CREATE key: (m_tupd) value: (30) RAM: 39856
13:09:38.625 > UI CREATE key: (TZSET) value: () RAM: 39856
13:09:38.631 > UI CREATE key: (userntp) value: () RAM: 39856
13:09:38.631 > Создание дефолтных параметров
13:09:38.633 > UI CREATE key: (syslampFlags) value: (4260432) RAM: 39832
13:09:38.634 > UI CREATE key: (effListMain) value: (1) RAM: 39832
13:09:38.634 > UI CREATE key: (fileName) value: (cfg1.json) RAM: 39856
13:09:38.634 > UI CREATE key: (msg) value: () RAM: 39856
13:09:38.634 > UI CREATE key: (txtColor) value: (#ffffff) RAM: 39856
13:09:38.634 > UI CREATE key: (txtBfade) value: (222) RAM: 39856
13:09:38.634 > UI CREATE key: (txtSpeed) value: (100) RAM: 39856
13:09:38.634 > UI CREATE key: (txtOf) value: (0) RAM: 39856
13:09:38.634 > UI CREATE key: (effSort) value: (1) RAM: 39856
13:09:38.643 > UI CREATE key: (GlobBRI) value: (127) RAM: 39856
13:09:38.644 > UI CREATE key: (ny_period) value: (0) RAM: 39856
13:09:38.645 > UI CREATE key: (ny_unix) value: (1609459200) RAM: 39856
13:09:38.646 > UI CREATE key: (Demo) value: (0) RAM: 39856
13:09:38.646 > UI CREATE key: (DTimer) value: (60) RAM: 39856
13:09:38.646 > UI CREATE key: (alarmPT) value: (85) RAM: 39856
13:09:38.646 > UI CREATE key: (spdcf) value: (1.0) RAM: 39856
13:09:38.650 > UI CREATE key: (PINB) value: (4) RAM: 39856
13:09:38.651 > UI CREATE key: (CLmt) value: (2000) RAM: 39856
13:09:38.652 > UI: Creating webui vars
13:09:38.653 > UI CREATE key: (lang) value: (0) RAM: 39856
13:09:38.654 > UI READ KEY: 'lang'string val (0)
13:09:38.654 > UI REGISTER: settings
13:09:38.655 > UI REGISTER: sh_netw
13:09:38.655 > UI REGISTER: sh_time
13:09:38.655 > UI REGISTER: set_wifi
13:09:38.656 > UI REGISTER: set_wifiAP
13:09:38.656 > UI REGISTER: set_mqtt
13:09:38.656 > UI REGISTER: set_scan
13:09:38.657 > UI REGISTER: set_time
13:09:38.658 > UI REGISTER: lang
13:09:38.658 > UI REGISTER: reboot
13:09:38.659 > UI REGISTER: sysSettings
13:09:38.659 > UI REGISTER: syslampFlags
13:09:38.660 > UI REGISTER: main
13:09:38.660 > UI REGISTER: show_flags
13:09:38.661 > UI REGISTER: effects
13:09:38.662 > UI REGISTER: effects_param
13:09:38.662 > UI REGISTER: effListMain
13:09:38.662 > UI REGISTER: dynCtrl*
13:09:38.662 > UI REGISTER: eff_prev
13:09:38.665 > UI REGISTER: eff_next
13:09:38.665 > UI REGISTER: effects_config
13:09:38.665 > UI REGISTER: effListConf
13:09:38.665 > UI REGISTER: set_effect
13:09:38.667 > UI REGISTER: ONflag
13:09:38.667 > UI REGISTER: Demo
13:09:38.667 > UI REGISTER: GBR
13:09:38.667 > UI REGISTER: OTA
13:09:38.668 > UI REGISTER: drawing
13:09:38.668 > UI REGISTER: ESPsysSettings
13:09:38.668 > UI REGISTER: lamptext
13:09:38.668 > UI REGISTER: textsend
13:09:38.670 > UI REGISTER: add_lamp_config
13:09:38.670 > UI REGISTER: edit_lamp_config
13:09:38.670 > UI REGISTER: edit_text_config
13:09:38.671 > UI REGISTER: drawing_ctrl*
13:09:38.671 > UI REGISTER: drawClear
13:09:38.672 > UI REGISTER: drawbuff
13:09:38.673 > UI UNREGISTER: settings
13:09:38.673 > UI REGISTER: settings
13:09:38.673 > UI UNREGISTER: sh_netw
13:09:38.674 > UI REGISTER: sh_netw
13:09:38.675 > UI UNREGISTER: sh_time
13:09:38.675 > UI REGISTER: sh_time
13:09:38.675 > UI UNREGISTER: set_wifi
13:09:38.676 > UI REGISTER: set_wifi
13:09:38.676 > UI UNREGISTER: set_wifiAP
13:09:38.677 > UI REGISTER: set_wifiAP
13:09:38.677 > UI UNREGISTER: set_time
13:09:38.678 > UI REGISTER: set_time
13:09:38.678 > UI UNREGISTER: set_mqtt
13:09:38.679 > UI REGISTER: set_mqtt
13:09:38.679 > UI REGISTER: scan
13:09:38.679 > UI REGISTER: show_other
13:09:38.680 > UI REGISTER: set_other
13:09:38.681 > UI REGISTER: show_event
13:09:38.681 > UI REGISTER: event_conf
13:09:38.681 > UI REGISTER: set_event
13:09:38.682 > UI REGISTER: Events
13:09:38.683 > UI REGISTER: evList
13:09:38.683 > UI REGISTER: show_butt
13:09:38.683 > UI REGISTER: butt_conf
13:09:38.685 > UI REGISTER: set_butt
13:09:38.685 > UI REGISTER: Btn
13:09:38.685 > UI REGISTER: debug
13:09:38.685 > UI READ KEY: 'm_pref'string val (166C81)
13:09:38.686 > UI READ KEY: 'm_host'string val ()
13:09:38.687 > UI READ KEY: 'm_port'string val ()
13:09:38.687 > UI READ KEY: 'm_user'string val ()
13:09:38.688 > UI READ KEY: 'm_pass'string val ()
13:09:38.689 > UI: MQTT host is empty - disabled!
13:09:38.690 > UI CONFIG: {"hostname":"","APonly":"0","APpwd":"","m_host":"","m_port":"","m_user":"","m_pass":"","m_pref":"166C81","m_tupd":"30","TZSET":"","userntp":"","syslampFlags":"4260432","effListMain":"1","fileName":"cfg1.json","msg":"","txtColor":"#ffffff","txtBfade":"222","txtSpeed":"100","txtOf":"0","effSort":"1","GlobBRI":"127","ny_period":"0","ny_unix":"1609459200","Demo":"0","DTimer":"60","alarmPT":"85","spdcf":"1.0","PINB":"4","CLmt":"2000","lang":0}
13:09:38.700 > UI READ KEY: 'TZSET'string val ()
13:09:38.701 > UI READ KEY: 'userntp'string val ()
13:09:38.702 > UI READ KEY: 'hostname'string val ()
13:09:38.702 > UI READ KEY: 'APpwd'string val ()
13:09:38.703 > UI cfg WRITE key:'hostname' val:'EmbUI-166C81...', cfg mem free: 1260
13:09:38.704 > UI WiFi: set AP params to SSID:EmbUI-166C81, pwd:
13:09:38.706 > UI READ KEY: 'APonly'string val (0)
13:09:38.706 > UI WiFi: start in AP/STA mode
13:09:38.706 > UI WiFi: STA reconecting...
13:09:38.706 > UI READ KEY: 'hostname'string val (EmbUI-166C81)
13:09:38.706 > UI READ KEY: 'hostname'string val (EmbUI-166C81)
13:09:38.710 > Start SSDP
13:09:38.710 > UI READ KEY: 'effSort'string val (1)
13:09:38.711 > Пересортировка эффектов: 1
13:09:38.715 >
13:09:38.715 > --------------- CUT HERE FOR EXCEPTION DECODER ---------------
13:09:38.717 >
13:09:38.717 > Exception (4):
13:09:38.718 > epc1=0x400005cb epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
13:09:38.759 >
13:09:38.759 > Level1Interrupt: Level-1 interrupt as indicated by set level-1 bits in the INTERRUPT register
13:09:38.759 >
13:09:38.759 > >>>stack>>>
13:09:39.283 >
13:09:39.283 > ctx: sys
13:09:39.283 > sp: 3fffc490 end: 3fffffb0 offset: 0190
13:09:39.283 > 3fffc620: 4010542c 40105429 00000000 00000000
13:09:39.283 > 3fffc630: 400005e1 00000000 00000000 00000000
13:09:39.283 > 3fffc640: 4029d640 00000033 00000008 00000000
13:09:39.283 > 3fffc650: 40105432 04000102 00000000 00000001
13:09:39.283 > 3fffc660: fbf8ffff 04000002 3feffe00 00000100
13:09:39.283 > 3fffc670: 0000001a 00000018 04000102 40105414
13:09:39.283 > 3fffc680: 3fffc100 ffffffff 00000000 00000000
13:09:39.283 > 3fffc690: 00000000 00000000 00000000 00000000
13:09:39.283 > 3fffc6a0: 00000000 00000000 00000000 00000000
13:09:39.283 > 3fffc6b0: 00000000 00000000 00000000 00000000
13:09:39.283 > 3fffc6c0: 00000000 00000000 00000000 00000000
13:09:39.283 > 3fffc6d0: 00000000 00000000 00000000 00000000
13:09:39.283 > 3fffc6e0: 00000000 00000000 00000000 00000000
13:09:39.283 > 3fffc6f0: 00000000 00000000 3fffc2f8 00000001
13:09:39.283 > 3fffc700: 00007073 00000050 ffffffff 00000006
13:09:39.283 > 3fffc710: 0000000c 3fffc718 001640ef 00400000
13:09:39.283 > 3fffc720: 00010000 00001000 00000100 0000ffff
13:09:39.283 > 3fffc730: 4010542c 40105429 400060d0 400060ec
13:09:39.283 > 3fffc740: 400005e1 4000615c 00000000 400061b8
13:09:39.283 > 3fffc750: 4029d640 00000033 00000008 402a63dc
13:09:39.283 > 3fffc760: 40105432 04000102 00000000 00000001
13:09:39.283 > 3fffc770: fbf8ffff 04000002 3feffe00 00000100
13:09:39.283 > 3fffc780: 0000001a 00000018 04000102 40105414
13:09:39.283 > 3fffc790: 3fffc100 ffffffff 00000000 00000000
13:09:39.283 > 3fffc7a0: 4000698c 40006a1c 402a4f34 402a4f30
13:09:39.283 > 3fffc7b0: 402a4068 40006c50 40006f84 402a3cbc
13:09:39.283 > 3fffc7c0: 4000718c 40007268 4000729c 400072d8
13:09:39.283 > 3fffc7d0: 4000730c 402a3a2c 40007410 40007448
13:09:39.283 > 3fffc7e0: 4000747c 400074d8 4000754c 40007610
13:09:44.361 > 3fffc7f0: 40007648 40007688 400076cc 400076fc
13:09:44.361 > 3fffc800: 40007740 400077a0 40007804 402a419c
13:09:44.361 > 3fffc810: 40007868 400078dc 40007968 402aa3bc
13:09:44.361 > 3fffc820: 40007bf0 40007eb4 4000804c 40008264
13:09:44.361 > 3fffc830: 40008388 40008610 400088b8 40008a70
13:09:44.361 > 3fffc840: 4010542c 40105429 40008d34 00000000
13:09:44.361 > 3fffc850: 400005e1 00323740 951f357c 28827ef8
13:09:44.361 > 3fffc860: 4029d640 00000033 00000008 00000000
13:09:44.361 > 3fffc870: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffc880: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffc890: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffc8a0: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffc8b0: 40001fd9 40001fd9 40001fd9 40001fd9
13:09:44.361 > 3fffc8c0: 40001fd9 40001fd9 40001fd9 40001fd9
13:09:44.361 > 3fffc8d0: 40001fd9 40001fd9 40001fd9 40002012
13:09:44.361 > 3fffc8e0: 40001fd9 40001fd9 40002012 40001fd9
13:09:44.361 > 3fffc8f0: 40001fd9 40001fd9 40001fd9 40001fd9
13:09:44.361 > 3fffc900: 40001fd9 40001fd9 40001fd9 40001fd9
13:09:44.361 > 3fffc910: 40002012 40001fd9 40002012 40001fd9
13:09:44.361 > 3fffc920: 40001fd9 40001fd9 40001fd9 40001fd9
13:09:44.361 > 3fffc930: 40001fd9 40001fd9 40001fd9 40001fd9
13:09:44.361 > 3fffc940: 40001fd9 40001fd9 40002010 40001fd9
13:09:44.361 > 3fffc950: 4010542c 40105429 40001fd9 40002012
13:09:44.361 > 3fffc960: 400005e1 40001fd9 40002012 00000000
13:09:44.361 > 3fffc970: 4029d640 00000033 00000008 40002034
13:09:44.361 > 3fffc980: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffc990: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffc9a0: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffc9b0: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffc9c0: 40002034 40002034 40002034 40002034
13:09:44.361 > 3fffc9d0: 40002034 40002034 40002034 40002034
13:09:44.361 > 3fffc9e0: 40002034 40002049 40002243 400021b1
13:09:44.361 > 3fffc9f0: 40002034 40002034 40002034 40002034
13:09:44.361 > 3fffca00: 40002034 40002034 40002034 40002034
13:09:44.361 > 3fffca10: 40002034 40002034 40002034 40002034
13:09:44.361 > 3fffca20: 40002034 40002034 4000222e 40002034
13:09:44.361 > 3fffca30: 400021b1 40002034 40002034 400021b1
13:09:44.361 > 3fffca40: 40002034 40002034 40002034 40002034
13:09:44.361 > 3fffca50: 40002034 40002034 40002034 40002034
13:09:44.361 > 3fffca60: 4010542c 40105429 40002243 400021b1
13:09:44.361 > 3fffca70: 400005e1 40002034 40002034 40002034
13:09:44.361 > 3fffca80: 4029d640 00000033 00000008 40002034
13:09:44.361 > 3fffca90: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffcaa0: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffcab0: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffcac0: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffcad0: 400020c4 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcae0: 400020c4 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcaf0: 400020c4 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcb00: 400020c4 40002384 400020c4 400020c4
13:09:44.361 > 3fffcb10: 4000236c 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcb20: 400020c4 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcb30: 400020c4 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcb40: 40002384 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcb50: 400020c4 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcb60: 400020c4 400020c4 400020c4 400020c4
13:09:44.361 > 3fffcb70: 4010542c 40105429 400020c4 400020c4
13:09:44.361 > 3fffcb80: 400005e1 40002384 400020c4 400020c4
13:09:44.361 > 3fffcb90: 4029d640 00000033 00000008 00000000
13:09:44.361 > 3fffcba0: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffcbb0: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffcbc0: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffcbd0: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffcbe0: 40006ca5 40006d81 40006dc6 40006dc0
13:09:44.361 > 3fffcbf0: 40006dba 40006db4 40006dae 40006da8
13:09:44.361 > 3fffcc00: 40006da2 40006d9c 40006d96 40006d90
13:09:44.361 > 3fffcc10: 40006d8a 40006d84 00000000 00000000
13:09:44.361 > 3fffcc20: 40006d70 40006dff 40006eb4 40006ea6
13:09:44.361 > 3fffcc30: 40006e98 40006e89 40006e78 40006e6a
13:09:44.361 > 3fffcc40: 40006e5b 40006e4c 40006e3e 40006e2d
13:09:44.361 > 3fffcc50: 40006e1f 40006e0e 00000000 00000000
13:09:44.361 > 3fffcc60: 40006df0 40006ec5 40006f55 40006f49
13:09:44.361 > 3fffcc70: 40006f3d 40006f31 40006f25 40006f19
13:09:44.361 > 3fffcc80: 4010542c 40105429 40006ef5 40006ee9
13:09:44.361 > 3fffcc90: 400005e1 40006ed1 00000000 00000000
13:09:44.361 > 3fffcca0: 4029d640 00000033 00000008 4000710f
13:09:44.361 > 3fffccb0: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffccc0: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffccd0: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffcce0: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffccf0: c66363a5 f87c7c84 ee777799 f67b7b8d
13:09:44.361 > 3fffcd00: fff2f20d d66b6bbd de6f6fb1 91c5c554
13:09:44.361 > 3fffcd10: 60303050 02010103 ce6767a9 562b2b7d
13:09:44.361 > 3fffcd20: e7fefe19 b5d7d762 4dababe6 ec76769a
13:09:44.361 > 3fffcd30: 8fcaca45 1f82829d 89c9c940 fa7d7d87
13:09:44.361 > 3fffcd40: effafa15 b25959eb 8e4747c9 fbf0f00b
13:09:44.361 > 3fffcd50: 41adadec b3d4d467 5fa2a2fd 45afafea
13:09:44.361 > 3fffcd60: 239c9cbf 53a4a4f7 e4727296 9bc0c05b
13:09:44.361 > 3fffcd70: 75b7b7c2 e1fdfd1c 3d9393ae 4c26266a
13:09:44.361 > 3fffcd80: 6c36365a 7e3f3f41 f5f7f702 83cccc4f
13:09:44.361 > 3fffcd90: 4010542c 40105429 d1e5e534 f9f1f108
13:09:44.361 > 3fffcda0: 400005e1 abd8d873 62313153 2a15153f
13:09:44.361 > 3fffcdb0: 4029d640 00000033 00000008 9dc3c35e
13:09:44.361 > 3fffcdc0: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffcdd0: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffcde0: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffcdf0: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffce00: 361b1b2d dc6e6eb2 b45a5aee 5ba0a0fb
13:09:44.361 > 3fffce10: a45252f6 763b3b4d b7d6d661 7db3b3ce
13:09:44.361 > 3fffce20: 5229297b dde3e33e 5e2f2f71 13848497
13:09:44.361 > 3fffce30: a65353f5 b9d1d168 00000000 c1eded2c
13:09:44.361 > 3fffce40: 40202060 e3fcfc1f 79b1b1c8 b65b5bed
13:09:44.361 > 3fffce50: d46a6abe 8dcbcb46 67bebed9 7239394b
13:09:44.361 > 3fffce60: 944a4ade 984c4cd4 b05858e8 85cfcf4a
13:09:44.361 > 3fffce70: bbd0d06b c5efef2a 4faaaae5 edfbfb16
13:09:44.361 > 3fffce80: 864343c5 9a4d4dd7 66333355 11858594
13:09:44.361 > 3fffce90: 8a4545cf e9f9f910 04020206 fe7f7f81
13:09:44.361 > 3fffcea0: 4010542c 40105429 259f9fba 4ba8a8e3
13:09:44.361 > 3fffceb0: 400005e1 5da3a3fe 804040c0 058f8f8a
13:09:44.361 > 3fffcec0: 4029d640 00000033 00000008 f1f5f504
13:09:44.361 > 3fffced0: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffcee0: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffcef0: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffcf00: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffcf10: 93c4c457 55a7a7f2 fc7e7e82 7a3d3d47
13:09:44.361 > 3fffcf20: c86464ac ba5d5de7 3219192b e6737395
13:09:44.361 > 3fffcf30: c06060a0 19818198 9e4f4fd1 a3dcdc7f
13:09:44.361 > 3fffcf40: 44222266 542a2a7e 3b9090ab 0b888883
13:09:44.361 > 3fffcf50: 8c4646ca c7eeee29 6bb8b8d3 2814143c
13:09:44.361 > 3fffcf60: a7dede79 bc5e5ee2 160b0b1d addbdb76
13:09:44.361 > 3fffcf70: dbe0e03b 64323256 743a3a4e 140a0a1e
13:09:44.361 > 3fffcf80: 924949db 0c06060a 4824246c b85c5ce4
13:09:44.361 > 3fffcf90: 9fc2c25d bdd3d36e 43acacef c46262a6
13:09:44.361 > 3fffcfa0: 399191a8 319595a4 d3e4e437 f279798b
13:09:44.361 > 3fffcfb0: 4010542c 40105429 6e373759 da6d6db7
13:09:44.361 > 3fffcfc0: 400005e1 b1d5d564 9c4e4ed2 49a9a9e0
13:09:44.361 > 3fffcfd0: 4029d640 00000033 00000008 cfeaea25
13:09:44.361 > 3fffcfe0: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffcff0: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffd000: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffd010: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffd020: 964b4bdd 61bdbddc 0d8b8b86 0f8a8a85
13:09:44.361 > 3fffd030: e0707090 7c3e3e42 71b5b5c4 cc6666aa
13:09:44.361 > 3fffd040: 904848d8 06030305 f7f6f601 1c0e0e12
13:09:44.361 > 3fffd050: c26161a3 6a35355f ae5757f9 69b9b9d0
13:09:44.361 > 3fffd060: 17868691 99c1c158 3a1d1d27 279e9eb9
13:09:44.361 > 3fffd070: d9e1e138 ebf8f813 2b9898b3 22111133
13:09:44.361 > 3fffd080: d26969bb a9d9d970 078e8e89 339494a7
13:09:44.361 > 3fffd090: 2d9b9bb6 3c1e1e22 15878792 c9e9e920
13:09:44.361 > 3fffd0a0: 87cece49 aa5555ff 50282878 a5dfdf7a
13:09:44.361 > 3fffd0b0: 038c8c8f 59a1a1f8 09898980 1a0d0d17
13:09:44.361 > 3fffd0c0: 4010542c 40105429 844242c6 d06868b8
13:09:44.361 > 3fffd0d0: 400005e1 299999b0 5a2d2d77 1e0f0f11
13:09:44.361 > 3fffd0e0: 4029d640 00000033 00000008 2c16163a
13:09:44.361 > 3fffd0f0: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffd100: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffd110: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffd120: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffd130: 4fe5d7fc c52acbd7 26354480 b562a38f
13:09:44.361 > 3fffd140: deb15a49 25ba1b67 45ea0e98 5dfec0e1
13:09:44.361 > 3fffd150: c32f7502 814cf012 8d4697a3 6bd3f9c6
13:09:44.361 > 3fffd160: 038f5fe7 15929c95 bf6d7aeb 955259da
13:09:44.361 > 3fffd170: d4be832d 587421d3 49e06929 8ec9c844
13:09:44.361 > 3fffd180: 75c2896a f48e7978 99583e6b 27b971dd
13:09:44.361 > 3fffd190: bee14fb6 f088ad17 c920ac66 7dce3ab4
13:09:44.361 > 3fffd1a0: 63df4a18 e51a3182 97513360 62537f45
13:09:44.361 > 3fffd1b0: b16477e0 bb6bae84 fe81a01c f9082b94
13:09:44.361 > 3fffd1c0: 70486858 8f45fd19 94de6c87 527bf8b7
13:09:44.361 > 3fffd1d0: 4010542c 40105429 e31f8f57 6655ab2a
13:09:44.361 > 3fffd1e0: 400005e1 2fb5c203 86c57b9a d33708a5
13:09:44.361 > 3fffd1f0: 4029d640 00000033 00000008 ed16825c
13:09:44.361 > 3fffd200: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffd210: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffd220: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffd230: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffd240: 3e218af9 96dd063d dd3e05ae 4de6bd46
13:09:44.361 > 3fffd250: 91548db5 71c45d05 0406d46f 605015ff
13:09:44.361 > 3fffd260: 1998fb24 d6bde997 894043cc 67d99e77
13:09:44.361 > 3fffd270: b0e842bd 07898b88 e7195b38 79c8eedb
13:09:44.361 > 3fffd280: a17c0a47 7c420fe9 f8841ec9 00000000
13:09:44.361 > 3fffd290: 09808683 322bed48 1e1170ac 6c5a724e
13:09:44.361 > 3fffd2a0: fd0efffb 0f853856 3daed51e 362d3927
13:09:44.361 > 3fffd2b0: 0a0fd964 685ca621 9b5b54d1 24362e3a
13:09:44.361 > 3fffd2c0: 0c0a67b1 9357e70f b4ee96d2 1b9b919e
13:09:44.361 > 3fffd2d0: 80c0c54f 61dc20a2 5a774b69 1c121a16
13:09:44.361 > 3fffd2e0: 4010542c 40105429 3c22e043 121b171d
13:09:44.361 > 3fffd2f0: 400005e1 f28bc7ad 2db6a8b9 141ea9c8
13:09:44.361 > 3fffd300: 4029d640 00000033 00000008 a37f60fd
13:09:44.361 > 3fffd310: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffd320: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffd330: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffd340: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffd350: 1d9e2f4b dcb230f3 0d8652ec 77c1e3d0
13:09:44.361 > 3fffd360: 2bb3166c a970b999 119448fa 47e96422
13:09:44.361 > 3fffd370: a8fc8cc4 a0f03f1a 567d2cd8 223390ef
13:09:44.361 > 3fffd380: 87494ec7 d938d1c1 8ccaa2fe 98d40b36
13:09:44.361 > 3fffd390: a6f581cf a57ade28 dab78e26 3fadbfa4
13:09:44.361 > 3fffd3a0: 2c3a9de4 5078920d 6a5fcc9b 547e4662
13:09:44.361 > 3fffd3b0: f68d13c2 90d8b8e8 2e39f75e 82c3aff5
13:09:44.361 > 3fffd3c0: 9f5d80be 69d0937c 6fd52da9 cf2512b3
13:09:44.361 > 3fffd3d0: c8ac993b 10187da7 e89c636e db3bbb7b
13:09:44.361 > 3fffd3e0: cd267809 6e5918f4 ec9ab701 834f9aa8
13:09:44.361 > 3fffd3f0: 4010542c 40105429 21bccf08 ef15e8e6
13:09:44.361 > 3fffd400: 400005e1 4a6f36ce ea9f09d4 29b07cd6
13:09:44.361 > 3fffd410: 4029d640 00000033 00000008 35a266c0
13:09:44.361 > 3fffd420: 40105432 04000102 00000000 00000001
13:09:44.361 > 3fffd430: fbf8ffff 04000002 3feffe00 00000100
13:09:44.361 > 3fffd440: 0000001a 00000018 04000102 40105414
13:09:44.361 > 3fffd450: 3fffc100 ffffffff 00000000 00000000
13:09:44.361 > 3fffd460: 9d5eea04 018c355d fa877473 fb0b412e
13:09:44.361 > 3fffd470: b3671d5a 92dbd252 e9105633 6dd64713
13:09:44.361 > 3fffd480: 9ad7618c 37a10c7a 59f8148e eb133c89
13:09:44.361 > 3fffd490: cea927ee b761c935 e11ce5ed 7a47b13c
13:09:44.361 > 3fffd4a0: 9cd2df59 55f2733f 1814ce79 73c737bf
Терминал будет повторно использоваться задачами. Чтобы закрыть его, нажмите любую клавишу.

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

Если запустить монитор на 115200:
13:11:26.389 > ets Jan 8 2013,rst cause:4, boot mode:(3,6)
13:11:26.389 >
13:11:26.389 > wdt reset
13:11:26.389 > load 0x4010f000, len 3584, room 16
13:11:26.397 > tail 0
13:11:26.397 > chksum 0xb0
13:11:26.397 > csum 0xb0
13:11:26.406 > v2843a5ac
13:11:26.406 > ~ld
13:11:26.472 >


Потом немного мусора и снова, и так в цикле.

Что пробовал:
  • прошить esp8266 - то же сброс по ватчдогу, но нет отладочных сообщений
  • upload_speed ставил 115200 - без изменений
  • в user_config.h раскоментировал // #define DELAYED_EFFECTS (1U) // отложенная загрузка эффектов - без эффекта
  • ставил ; board_build.flash_mode = dout ; dio ;qio ; - без эффекта
  • втыкать наугат в исходниках ESP.wdtFeed(), ESP.wdtDisable() - без эффекта.

Подскажите, в чем может быть дело. По теме поискал - периодически такое встречается, обычно на нестабильной прошивке.
 

chapenkov

✩✩✩✩✩✩✩
14 Окт 2021
3
1
Еще добавлю - оригинальная прошивка Гайвера и прошивка gunner47 на этой плате работали, так что плата должна быть рабочей.
 

chapenkov

✩✩✩✩✩✩✩
14 Окт 2021
3
1
В общем, плата запустилась. Проблема оказалась в плохом блоке питания. При подключении к качественному 2 амперному заработала.
 
  • Лойс +1
Реакции: kDn

Erizo_V

✩✩✩✩✩✩✩
23 Июл 2021
19
0
Привет, народ.
подскажите плиз, можно ли события прописывать заранее, чтобы при заливке прошивки они уже были там?
Если да. то гдеэто делаеися и в каком формате?
 

Lumenjer

★★★★✩✩✩
10 Дек 2020
503
268
@Erizo_V, Можно, нужно закинуть в папку data файл с названием events_config.json
Внутри такой формат, это мой пример вкл лампы вечером и выкл утром.
C++:
[{"raw":255,"ut":1632902400,"ev":2,"rp":0,"sa":0,"msg":""},{"raw":255,"ut":1632949200,"ev":17,"rp":0,"sa":0,"msg":""}]
Event:
event.raw_data = item[F("raw")].as<int>(); // повтор по дням недели  // (1 байт разбит на биты,  
// 0x11111111 = 255  - повторять каждый день недели, 
// 0x01111111 = 127 - повторять во все дни, кроме воскресения,  0x10000001 = 129 - повторять только в воскресение, 
// 0x00000001 =1 - повторить один раз (этот бит будет включен всегда))

event.unixtime = item[F("ut")].as<unsigned long>();    // юникс время
event.event = (EVENT_TYPE)(item[F("ev")].as<int>());  // номер RA, который запустится
event.repeat = item[F("rp")].as<int>();        // повторение каждые n-мин
event.stopat = item[F("sa")].as<int>();        // остановить повторение
event.message = (char *)item[F("msg")].as<const char *>();    // а тут передаются параметры для RA
Самый опримальный вариант - наделать нужных ивентов, перейти по адресу http://АЙПИЛАМПЫ/events_config.json
А далее уже скопировать себе содержимое и закинуть в data (с тем же названием events_config.json)
 
Изменено:
  • Лойс +1
Реакции: Erizo_V

andy040670

★★★✩✩✩✩
13 Ноя 2019
534
156
51
При перезагрузке лампы глобальная яркость скидывается на единицу, также и при управлении по http/mqtt, или это только у меня такая бадяга?
Кто нибудь проверьте у себя.
/cmd?g_bright=1
/cmd?g_bright=0
При перезагрузке скидывается не всегда, но бывает.
 
Изменено:

Lumenjer

★★★★✩✩✩
10 Дек 2020
503
268
@andy040670, Команда глобал яркости была немного переделала, теперь параметрвыше 0 включает глобал яркость и сразу устанавливает значение, т.е. /cmd?g_bright=1 включает и устанавливает значение яркости 1. Поэтому она у вас и слетает на 1.
 
  • Лойс +1
Реакции: andy040670