ESP, IoT WiFi лампа - будильник. Обсуждение прошивки FieryLedLamp

При прошивке лампы, пароль от WiFi прописывать в файле config или оставить как есть

  • config

  • Как есть


Результаты будут видны только после голосования.

Mishanya TS

★★★★✩✩✩
11 Дек 2019
358
287
Прошивка 127 эффектов в 1 "FieryLedLamp"

Полнофункциональный web интерфейс для настройки лампы и управления эффектами. Семисегментный дисплей (TM1637). Озвучивание эффектов, времени и будильника "Рассвет" (DFplayer mini). ИК пульт ДУ (IR Remote Control).

01Меню.jpg 02Главная.PNG 03Начальные.jpg IP.jpg MQTT.jpg 04Пользователь.jpg 05Оборудование.PNG 06Цикл.jpg 07Звук.PNG 08Рассвет.PNG 09Мульти.jpg

Версия FieryLedLamp v3.9_new_web 127 эффектов
- Добавлены 5 новых эффектов: "Аврора", "Ночной Город", "Радужное Пятно", "Сканер", "Фонтан".

Версия FieryLedLamp v3.8_new_web 122 эффекта
- Добавлены настройки MQTT в веб-интерфейсе.
Настраивается IP-адрес или URL брокера (пример: 192.168.1.155 или m4.wqtt.ru), порт, имя и пароль для доступа на сервер брокера. После настройки необходимо сохранить изменения и перезагрузить лампу (включение/отключение MQTT клиента происходит без подтверждения).

Версия FieryLedLamp v3.7_new_web 122 эффекта
- Добавлен новый эффект "Серпантин" от @SlingMaster.
- Убрал сохранение пароля от WiFi сети в памяти. Чтобы лампа сразу подключалась к вашей сети, пароль прописывается в файле config.json.
- Расширены возможности управления несколькими лампами. Теперь может синхронизироваться текущая папка озвучивания эффектов (включается чекбоксом на странице настройки управления несколькими лампами).
И если синхронизация папки включена, можно синхронизировать громкость и включение/выключение озвучивания (второй чекбокс).
- Добавлено автоматическое снижение яркости эффектов в 2, 4 или 8 раза (на 50%, 75% или 87%) в ночное время. Управление на главной веб-странице.
- Существенно переработаны некоторые важные алгоритмы. Особенно алгоритмы управления озвучкой.
- Исправлены ошибки в работе с MP3-плеером и отображением времени на дисплее.

Версия FieryLedLamp v3.6_new_web 121 эффектов
- Добавлено использование статического IP адреса.
- Добавлена возможность показывать бегущий текст через заданный интервал.
- Исправление ошибок.

Версия FieryLedLamp v3.51_new_web 121 эффектов
- Добавлены шесть новых эффектов: "Аленький цветочек", "Бамбук", "Блуждающий кубик", "Земля Тикси", "Разноцветные одуванчики", "Цифровая турбулентность" от @SlingMaster.

Версия FieryLedLamp v3.5_new_web 115 эффектов
- Добавлен режим восстановления настроек по умолчанию по пятнадцатикратному нажатию кнопки (даже если она заблокирована). Этот режим сбрасывает сохраняемые настройки в файле config.json.
- Добавлена кнопка сброса настроек по умолчанию в web интерфейсе на страницы Начальных настроек. Но нажатие на эту кнопку сбрасывает все настройки, включая настройки озвучивания эффектов, настройки эффектов для цикла, настройки управления несколькими лампами и параметры оборудования (т.е. совсем все настройки).
- Изменение библиотеки "TM1637Display" для часов с точками после каждого сегмента (мигание точки только в центре).
- Переделал последовательность отключения лампы (Уменьшил вероятность повреждения файлов, хранящихся при выключении лампы).
- Поправил определение лампой "день/ночь".
- Удалил эффект "Бегущая строка". Отныне Бегущая строка выводится поверх эффектов. Включается режим чекбоксом в веб-интерфейсе на странице "Настройки пользователя".
- Фон текста (пространство между буквами) может быть цветным или черным (чекбокс). Там же настраивается цвет текста и скорость вывода.
- Изменился эффект "Цвет". Если включена "Бегущая строка" и "Масштаб/Цвет" < 3, то текст будет бежать на черном экране (как раньше).
- Добавлены пять новых эффектов: "Торнадо", "Капли на воде", "Цветовой питон", "Осьминог" и "Плазменные волны" от @stepko и @SlingMaster.
- Исправлена ошибка в взаимодействии нескольких ламп, а также другие мелкие ошибки.

Версия FieryLedLamp v3.4_new_web 111 эффектов
- Переработаны некоторые эффекты:
- Снегопад (новый алгоритм),
- Завиток; (новый алгоритм),
- Реки Ботсвана,
- Песочные часы,
- Спектрум,
- Новогодняя елка (новый алгоритм),
- Фейерверк
- Добавлен эффект Звезды
- Добавлен новый сервер Blynk
- Добавлен Редактор файлов в меню web-интерфейса (изменять или загружать файлы можно без перепрошивки файловой системы)

Версия FieryLedLamp v3.3_new_web 110 эффектов
- Добавлен эффект Планета Земля от SlingMaster.
- Обновленная страница загрузки ПО (сначала надо заливать FS, затем саму прошивку. Либо использовать WEB_Updater).
- Новый голос озвучки времени от Maxx1200.

Версия FieryLedLamp v3.3_new_web 109 эффектов
- Обновленный WEB-интерфейс

Версия FieryLedLamp_v3.3_IR 109 эффектов
- Добавлены эффекты Волшебный Фонарик и Огонь с искрами.
- С целью повышения сетевой безопасности, пароль к WI-FI роутеру вашей сети перенесен в EEPROM. Там получить к нему доступ из сети гораздо сложнее.
В веб-интерфейсе пароль отображается только при вводе. В других случаях поле пустое.
Если нажать кнопку "Сохранить" при пустом поле ввода пароля, уже записанный в EEPROM пароль (если он был записан туда) не изменится.
- Добавлена настройка времени произнесения часов и минут. А также задержки между командами MP3-плеера. Эти настройки, а так же настройки максимального тока, типа и ориентации матрицы вынесены на отдельную веб-страницу "Настройки оборудования", попасть на которую можно со страницы "Начальные установки" (кнопка в самом низу).
Для оригинального чипа время проговаривания часов и минут в пределах 1800 – 2500 мс и задержка 50 – 100 мс.
Для не оригинального чипа 1000 – 3500 мс и 100 – 180 мс соответственно. Эти параметры вынесены для настройки, потому что они сильно зависят от скорости работы вашей SD-карты (флэшки) и даже количества файлов на ней.
Выбор чипа DF-Player (оригинальный или нет) в файле Constants.h по-прежнему актуален. Этот выбор влияет на другие параметры. Не пренебрегайте им.
- Переработан алгоритм сохранения настроек эффектов. Настройки сохраняются в EEPROM в следующих случаях: а) при выключении матрицы (кнопкой, пультом в приложении или веб)
если не включен режим "Цикл"; б) включение режима "Цикл"; в) при выключении по таймеру, если не активен режим "Цикл".
Настройка эффектов возобновляется с EEPROM в случаях: а) при перезагрузке лампы (включение питания); б) при включении матрицы (кнопкой, пультом в приложении или веб);
в) при выключении режима "Цикл". Сохранение настроек эффектов в файл и чтение их из этого файла по-прежнему работает. Как и восстановление их по умолчанию. (В веб-интерфейсе соответствующие кнопки)
- Как всегда, исправлено несколько ошибок.

Версия FieryLedLamp_v3.2_IR 107 эффектов
- Добавлено управление инфракрасным пультом. Возможно использование двух разных пультов одновременно. Коды пультов прописываются в файле IR_Remote.h
Работает автоповтор при удерживании кнопки для тех команд, где это уместно. На дисплее отображается номер эффекта, при переключении эффектов, или значение яркости, скорости, масштаба, громкости, при их смене пультом.
- реструктуризированная EEPROM.
- Возможно использование библиотеки ArduinoJson как 5-й, так и 6-й версий. В файле Constants.h необходимо закомментировать и разкомментировать соответствующий блок функций.
По умолчанию используется 6 версия.
– Как всегда, исправлено несколько ошибок.

Версия FieryLedLamp_v3.00 107 эффектов
- Добавлены четыре эффекта: Мозайка, Фейерверк, Контакты, Радиальная волна.
- Возможность изменять тип и варианты подключения матрицы на той же странице веб-интерфейса. Полезно для нестандартных матриц или когда неизвестно, как она возвращена. Подбираете на ходу. (так же можно прикольно разнообразить эффекты. Например: отразить бегущую строку).
– Там же можно изменять максимальный ток матрицы (максимальную яркость).
- Добавлена возможность включать/выключать речь времени будильником.
- Добавлено управление автоматическим таймером отключения лампы. Можно его установить на время от 30 минут до 8 часов с шагом 30 минут, или не выключать.
- Исправлено несколько мелких (и не очень) ошибок.

Версия FieryLedLamp_v2.95_RUS 103 эффекта.
- Добавлена возможность выбора любой папки для будильника (в настройках будильника "Рассвет").
- Добавлена возможность подключить к DFPlayer флешку. Если подключена и флешка и SD-карта, то будет играть флешка.
Требования к именам файлов и папок на флешке такие же, как и для CD-карты.
- Подтверждена работа DFplayer на чипе MH2024K-24SS. Но для корректной работы нужно в файле constant.h закомментировать строчку #define DF_PLAYER_IS_ORIGINAL. Уж слишком этот чип тормозился. Теперь точно работают чипы плеера AS20HGN402 (оригинальный DFPlayer-DFRobot), GB3200B и MH2024K-24SS. Самый классный звук у оригинального. Самый плохой в 24SS.

Версия FieryLedLamp_v2.9_RUS 103 эффекта.
- Если номер привязанной папки от 20 до 90, то проигрывается папка, выбранная случайным образом из диапазона: выбранная папка – (выбранная папка +10). То есть, если к эффекту привязали папку 30, то при каждом выборе этого эффекта проигрываемая папка будет выбираться из диапазона 30 - 39 включительно случайным образом. Если папка с выбранным номером не существует на SD карте, то будет тишина или будет проигрываться папка с номером 01 (зависит от чипа плеера).
- Добавлено управление эквалайзером и ручной выбор проигрываемой папки из веб интерфейса
- Добавлена индикация номера эффекта и папки на дисплее ТМ1637. Индикация в течение 3х секунд при изменении эффекта или папки (что изменилось и показывается)
- Исправлена ошибка вывода бегущей строкой букв Ёё и украинских Ее, Ее, Іі . Исправлены другие мелкие ошибки. Улучшена стабильность.

Версия FieryLedLamp_v2.8_RUS 103 эффекта.
- Список эффектов форматирован по алфавиту. Теперь легко найти нужный эффект в списке при выборе.
- Добавлена возможность привязки папки озвучивания эффекта к самому эффекту в веб-интерфейсе.

Версия FieryLedLamp_v2.7_web_v2.5 103 эффекта
- Добавлены три эффекта "Мечта дизайнера", "Фейерверк" и "Цветные кудри" от SlingMaster. "Мечту" слегка подправил. Два других практически без изменений, только адаптация.
- Исправлена ошибка плавного включения матрицы при использовании MOSFET. Вкл/Выкл сделал более плавными.
- Исправлены другие мелкие ошибки и, вероятно, добавлены новые.

Версия FieryLedLamp_v2.6_web_v2.5 100 эффектов
- Точно работают чипы плеера AS20HGN402 (оригинальный DFPlayer-DFRobot) и GB3200B. Другие не проверял(не было), но, предполагаю, будут работать.
- Будильник плавно увеличивает громкость от 0 до установленной. При наступлении установленного времени начинает проговаривать время каждую минуту, если включена озвучка времени для этой поры суток ( день / ночь ).
- Папка будильника переехала с 11го номера на 99й. Наполнение папок с 1й по 99ю любое, в соответствии с требованиями для DFPlayer. ( В GOOGLE полно инфы по этому поводу. Читайте)
- Провод D8_ESP8266 - TX_DFPlayer переехал с D8 на D6. Связано с особенностью работы ESP8266. При подключении к D8 ESP не всегда стартует.
- Исправлена ошибка , приводившая к мерцанию эффектов на малой яркости.
- Если звук не нужен - закомментируйте строки #define MP3_RX_PIN (13U) и #define MP3_TX_PIN (12U) в файле constant.h и для заливки файловой системы используйте папку data_no_sound (Перед заливкой просто скопируйте с заменой всё содержимое этой папки в папку data).
0.Бeлый cвeт
1.Аврора
2.Акварель
3.Аленький цветочек
4.Бассейн
5.Бамбук
6.Безумие
7.Блуждающий кубик
8.Водопад
9.Водопад 4в1
10.Волны
11.Волшебный Фонарик
12.Вино
13.Вихри пламени
14.Вихри разноцветные
15.Вьюга
16.Гроза в банке
17.ДНК
18.Дым
19.Дым разноцветный
20.Дымовые шашки
21.Жидкая лампа
22.Жидкая лампа авто
23.Завиток
24.Звезды
25.Зебра
26.Земля Тикси
27.Змейки
28.Источник
29.Капли на воде
30.Капли на стекле
31.Кипение
32.Кодовый замок
33.Комета
34.Комета одноцветная
35.Комета двойная
36.Комета тройная
37.Контакты
38.Конфетти
39.Кубик Рубика
40.Лава
41.Лавовая лампа
42.Лампа с мотыльками
43.Лес
44.Люмeньep
45.Магма
46.Масляные краски
47.Матрица
48.Мерцание
49.Метоболз
50.Мечта дизайнера
51.Мозайка
52.Moтыльки
53.Мячики
54.Мячики без границ
55.Новогодняя Елка
56.Ночной Город
57.Огонь
58.Огонь 2012
59.Огонь 2018
60.Огонь 2020
61.Огонь 2021
62.Огoнь верховой
63.Огoнь парящий
64.Огонь с искрами
65.Осадки
66.Осциллятор
67.Облака
68.Океан
69.Осьминог
70.Павлин
71.Песочные часы
72.Пейнтбол
73.Пикассо
74.Плазма
75.Плазменная лампа
76.Плазменные волны
77.Пламя
78.Планета Земля
79.Побочный эффект
80.Попкорн
81.Призмата
82.Притяжение
83.Пpыгyны
84.Пульс
85.Пульс белый
86.Пульс радужный
87.Радиальная волна
88.Радуга
89.Радуга 3D
90.Радужное Пятно
91.Радужный змей
92.Разноцветные одуванчики
93.Разноцветный дождь
94.Реки Ботсваны
95.Светлячки
96.Светлячки со шлейфом
97.Свеча
98.Северное сияние
99.Серпантин
100.Сканер
101.Синусоид
102.Смена цвета
103.Снегопад
104.Спектрум
105.Спирали
106.Стая
107.Стая и хищник
108.Стрелки
109.Строб.Хаос.Дифузия
110.Тени
111.Тихий океан
112.Торнадо
113.Tyчкa в банке
114.Фейерверк
115.Фейерверк 2
116.Фея
117.Фонтан
118.Цвет
119.Цветной Питон
120.Цветные драже
121.Цветные кудри
122.Цветок лотоса
123.Цифровая турбулентность
124.Шapы
125.Nexus
126.Часы
  • однократный клик – включение или выключение светильника;
  • двукратный клик – переключение лампы в следующий эффект свечения;
  • трёхкратный клик – переключение лампы в предыдущий эффект свечения;
  • четырёхкратный клик – запуск таймера выключения лампы через 5 минут;
  • пятикратный клик – вывод текущего IP-адреса лампы бегущей строкой;
  • шестикратный клик – вывод текущего времени бегущей строкой;
  • семикратный клик – смена рабочего режима лампы: с WiFi точки доступа на WiFi клиент или наоборот;
  • восьмикратный клик – включение/отключение звука;
  • пятнадцатикратный клик – режим восстановления настроек по умолчанию
  • удержание – изменение яркости свечения текущего эффекта лампы: увеличение или уменьшение яркости. Каждое следующее удержание меняет направление изменения яркости;
  • однократный клик и удержание – изменение скорости текущего эффекта лампы: увеличение или уменьшение скорости. Каждое следующее клик и удержание меняет направление изменения скорости;
  • двукратный клик и удержание – изменение "масштаба" текущего эффекта лампы: увеличение или уменьшение "масштаба". Каждое следующее двукратный клик и удержание меняет направление изменения "масштаба";
  • четырёхкратный клик и удержание - запуск таймера выключения лампы через 10 минут;
  • четырёхкратный клик (дважды в течении 10 секунд) - перевод лампы в режим обновления прошивки "по воздуху" ArduinoOTA.
  • удержание при выключенной лампе – включает эффект «Белый Свет»
  • однократный клик во время будильника – отключает звук;
  • двукратный клик во время будильника – отключает звук и рассвет.

Прошивку поддерживают следующие приложения:
  • FireLamp (для Android)
  • GVR Lamp (для iOS)
  • Blynk (для Android) работает, только если лампа подключена к интернету
В архиве прошивка и таблица для удобного формирования собственного списка эффектов (вдруг захотите удалить лишние или добавить копии)

Ссылки на загрузку архива с прошивкой:
GitHub - Fiery Led Lamp v3.9
Google Диск - Fiery Led Lamp v3.9


Внимание! Подключение светодиодной матрицы изменено с D4 на D3. На D4 подключается приёмник ИК сигнала (IR Sensor). Внимательно смотрите прилагаемую схему и читайте файлы с пояснениями.

Ссылки на загрузку прошивки для чтения кодов с пульта:
Arduino
Esp8266


  • Распакуйте содержимое архива в папку на диске (не на рабочий стол, пожалуйста)
  • Внимание! Изменено подключение матрицы с D4 на D3 в связи с тем, что на D4 подключен встроенный светодиод платы. В архиве есть файл "ПРОЧТИ МЕНЯ!!.txt. Его нужно внимательно прочитать. В прошивке используется файловая система для создания WEB-интерфейса. Плагин можно скачать или установить из папки Uploaders этого архива. Если вы ничего не меняете в прошивке , то нужно ставить плагин для LittleFS (или оба). После установки у вас должна появиться строка с галочкой (или обе, если поставите оба плагина) в меню «Инструменты»:
Плагин.png

- Далее делаете настройки как на этой картинке:
Настройки.png

  • Версию платы в "Менеджере плат" выбирайте 2.7.4. После этого компилируете и загружаете прошивку в плату. Далее загружаете Файловую Систему кликнув на строку меню с галкой (см первую картинку) . Загрузка длится примерно 10-15 секунд. После того, как Arduino сообщит вам о том , что всё ОК и плата перезагружена, через 15-20 секунд должна появиться сеть с именем Led Lamp WEB , пароль у этой сети при первом запуске будет 12341234. Подключаетесь к ней, отключив на телефоне мобильный интернет. Открываете браузер и в строке адреса вбиваете 192.168.4.1 , заходите на web страницу лампы. Там можно изменить имя лампы (если их несколько в сети), настроить подключение к Вашей домашней WiFi сети, часовой пояс и переход на летнее время. Так же можно сменить пароль точки доступа (рекомендуется) и имя точки доступа. Перезагрузить лампу.
  • Все настройки прошивки находятся на вкладке Constants.h (там по-русски, без проблем разберётесь) и в файле data/config.json (там можно ничего не менять, всё меняется потом с web страницы лампы). Другие настройки можно выполнить на странице лампы.
  • В архиве SD_actual есть папки для записи на SD карту для DFplayer. Просто запишите содержимое этой папки на карту и вставьте её в плеер.
- В данной прошивке режим работы ESP_mode = 1 (с роутером) или ESP_mode = 0 (без роутера (точка доступа)) .
-
Чтобы лампа сразу подключилась к Вашей WiFi сети, в файле data/config.json в поле ssid введите имя Вашей WiFi сети, в поле password введите пароль значение ESP_mode поменяйте на 1.
Сохраните файл на то же место и сделайте Upload файловой системы.
- Гарантируется работа прошивки до 1024 светодиода в матрице. Цифра с запасом. Реально прошивка может работать и с бОльшим количеством светодиодов, но нужно проверять в каждом конкретном случае.
Lamp+TM1637.jpg scheme0.gif
Lamp+TM1637+DFplayer + IR + USB.jpg Lamp+TM1637+DFplayer + IR2 + USB.jpg
Cкетч апдейта FieryLedLamp v3.9_new_web

Для перехода с других прошивок без разборки лампы (по ОТА, а потом по web).
В настройках Ардуино включаете подробный лог компиляции. В 8-й и 9-й строках нужно прописать имя своей сети и пароль, соответственно. Прошиваете лампу этот скетч по штатному ОТА (как обычно, по двойному четырёхкратному тапу по кнопке).
Компилировать надо с версией ядра ESP8266 версия 2.7.4.
Открываете браузер и вводите IPaddres/update (где IPaddres это IP адрес лампы в Вашей сети). Откроется страница апдейтера. Компилируете скетч Прошивки лампы без указания порта. Ардуино скомпилирует скетч, но в конце выдаст ошибку о невозможности подключиться к порту и плате. В последних строках лога (обычно последняя очень длинная белая строка) будет путь к созданному .bin файлу. Далее выполняете аплоад файловой системы (по умолчанию LittleFS).
Ардуино так же ругнётся о невозможности залить в плату ФС но в логах напишет путьк .bin файлу файловой системы. Нажимаете в браузере на странице апдейтера
File System: "Обзор...", выбираете этот файл и нажимаете "Update Filesystem". Образ ФС зальётся в лампу.
После этого снова зайдите на страницу апдейтера IPadres/update. Нажимаете в браузере на странице апдейтера Firmware: "Обзор...", выбираете .bin файл прошивки и нажмаете "Update Firmware". Скетч зальется в лампу.
В апдейтере предусмотрена страховка. Если напутали с именем или паролем WiFi (ошиблись буквой, например), то апдейтер через 20 секунд перейдёт в точку доступа
с именем "WEB_Updater". А дальше.... Либо с телефона, либо с компа, подключаетесь к ней и льёте бинарники (сначала FS, а потом Firmware).


Для перехода со старой версии этой прошивки без разборки лампы (по web). В настройках Ардуино включаете подробный лог компиляции. В 8-й и 9-й строках нужно прописать имя своей сети и пароль, соответственно.
Компилировать надо с версией ядра ESP8266 версия 2.7.4.
Компилируете скетч WEB_Updater без указания порта. Ардуино скомпилирует скетч, но в конце выдаст ошибку о невозможности подключиться к порту и плате. В последних строках лога (обычно последняя очень длинная белая строка) будет путь к созданному .bin файлу.
Открываете браузер и вводите IPaddres/update (где IPaddres это IP адрес лампы в Вашей сети). Откроется страница апдейтера. Нажимаете в браузере на странице апдейтера Firmware: "Обзор...", выбираете .bin файл прошивки и нажмаете "Update Firmware". Скетч зальется в лампу.
Далее компилируете скетч Прошивки лампы без указания порта. Выполняете аплоад файловой системы (по умолчанию LittleFS).
Ардуино так же ругнётся. Нажимаете в браузере на странице апдейтера File System: "Обзор...", выбираете этот файл и нажимаете "Update Filesystem". Образ ФС зальётся в лампу.
После этого снова зайдите на страницу апдейтера IPadres/update. Нажимаете в браузере на странице апдейтера Firmware: "Обзор...", выбираете .bin файл прошивки и нажмаете "Update Firmware". Скетч зальется в лампу.


Для прошивки платы из коробки (для подключения лампы сразу к вашей сети Wi-Fi). В 8-й и 9-й строках нужно прописать имя своей сети и пароль, соответственно.
Загружать надо с версией ядра ESP8266 версия 2.7.4.
Загружаете скетч WEB_Updater подключив микроконтроллер по USB с указанием порта.
В папке \FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\data в файле config.json прописываете имя своей сети и пароль и в строке "ESP_mode" ставите 1
Далее компилируете скетч Прошивки лампы без указания порта. Выполняете аплоад файловой системы (по умолчанию LittleFS).
Ардуино скомпилирует скетч, но в конце выдаст ошибку о невозможности подключиться к порту и плате. В последних строках лога (обычно последняя очень длинная белая строка) будет путь к созданному .bin файлу.
Открываете браузер и вводите IPaddres/update (где IPaddres это IP адрес лампы в Вашей сети). Откроется страница апдейтера. Нажимаете в браузере на странице апдейтера File System: "Обзор...", выбираете этот файл и нажимаете "Update Filesystem". Образ ФС зальётся в лампу.
После этого снова зайдите на страницу апдейтера IPadres/update. Нажимаете в браузере на странице апдейтера Firmware: "Обзор...", выбираете .bin файл прошивки и нажмаете "Update Firmware". Скетч зальется в лампу.


В апдейтере предусмотрена страховка. Если напутали с именем или паролем WiFi (ошиблись буквой, например), то апдейтер через 20 секунд перейдёт в точку доступа
с именем "WEB_Updater". А дальше.... Либо с телефона, либо с компа, подключаетесь к ней и льёте бинарники (сначала FS, а потом Firmware).
Если вы активно пользуетесь подбором настроек эффектов под себя и сохраняете эти настройки в файл на лампе (в веб интерфейсе), то эта информация для вас.
  • Зайдите из любого браузера на компьютере в лампу, набрав в адресной строке IPadres/effect.ini (например 192.168.0.102/effect.ini) и сохраните этот файл в папку data новой прошивки, заменив им имеющийся там такой же файл.
  • Прошиваете лампу как обычно, любым удобным для вас способом, и заливаете файловую систему с заменённым файлом.
  • После обновления заходите в веб интерфейс лампы и на страницу " Настройки пользователя" и жмёте кнопку "Загрузить настройки эффектов из файла". Настраиваете новые эффекты и сохраняете, как обычно. ("Настройки пользователя" - "Сохранить настройки эффектов в файл").
  • Наслаждаетесь старыми и новыми эффектами с вашими любимыми настройками.
PS: Таким же образом можно перенести системные настройки (включая логин и пароль вашей сети), настройки будильника "Рассвет", настройки управления несколькими лампами и настройки цикла. Соответствующие файлы config.json, alarm_config.json, multilamp_config.json и cycle_config.json.
В веб интерфейсе лампы, есть страница "Управление несколькими лампами". Нажав на неё переходите на страницу непосредственно настройки. Там вам нужно ввести IP адреса ламп, которыми будет управлять данная лампа, поставить галочки на соответствующих чекбоксах. IP адрес лампы можно узнать, например, по пятикратному нажатию кнопки лампы.
То есть, если у вас есть лампы 1,2,3,4,5 То в веб интерфейсе лампы 1 вы вводите адреса ламп 2,3,4,5. В лампу 2 вводите адреса ламп 1,3,4,5. В лампу 3, соответственно, адреса ламп 1,2,4,5.
В комментариях можно писать что угодно, до 63 символов. Это для вас, чтобы вы понимали, какая это лампа.
Если хотите отменить управление какой-то лампой, не нужно удалять её адрес. Достаточно просто снять галку с соответствующего чекбокса.
Сперва нужно найти лампу в сети (найти, выбрать и сохранить - для лампы, подключенной к роутеру ESP_MODE=1; вписать адрес, порт и сохранить - для лампы, являющейся точкой доступа ESP_MODE=0). Это в "Настройках соединения". До тех пор, пока на лампе будет "выбран" эффект с порядковым номером больше, чем количество эффектов на данный момент в списке в приложении, приложение может "вылетать".

Потом нужно загрузить список эффектов из лампы. Это в "Настройках эффектов".
Алгоритм:
1. Выключить лампу, чтобы никакой эффект не тормозил работу (или попробовать выбрать эффект Белый свет)
2. Выключить переключатель "Исп. эффекты из лампы" (или нажать "очистить эффекты")
3. Загрузить список эффектов из лампы (кнопка)
4. Включить переключатель обратно
5. Сразу перезапустить приложение - это важно для настроек режима "Цикл"!
6. Проверить, все ли эффекты загрузились (теряются они сразу большими группами). Если нет, повторить попытку.
  • Горят 2 красные или жёлтые точки: Лампа или ждёт появления WiFi сети старого роутера, к которому она уже подключалась ранее (до 60 секунд ожидания), или ждёт от вас настройки для подключения к новому роутеру (ещё 5 минут ожидания). Ищите на своём смартфоне точку доступа WiFi с именем лампы Led Lamp Web. Если нету такой, попробуйте поискать ещё раз через 60 секунд.
  • Бегут 2 синие точки: Лампа работает в режиме без подключения к роутеру и ждёт, когда приложение сообщит ей время. Отключите на смартфоне мобильный интернет, ищите в нём точку доступа WiFi с именем лампы, подключайтесь к ней, запускайте приложение.
  • Бегут 2 жёлтые точки: Лампа подключена к роутеру вашей домашней сети и ждёт, когда приложение сообщит ей время. Запускайте приложение.
  • Бегут 2 красные точки: Лампа подключена к роутеру вашей домашней сети, но пока что не смогла соединиться через интернет с сервером точного времени и получить от него информацию.
 
Изменено:

theDudeii

✩✩✩✩✩✩✩
26 Янв 2020
35
2

@theDudeii,
Тоесть, включен "цикл" и звуки цикла проникают между проговариванием времени? Теперь только дошло...
часть перед проигрыванием голоса времени.( ето ВЫГЛЯДИТ как бы включена лампа,включен еффект и мелодия,и тут прерывается на воспроизведение времени,ибо воспроизведение времени наступило).возможно бывает такое во всех прошивках.попробую старую прежнюю закину.
ибо у меня включено время каждые 15 минут.и например,лампа выключена,говорит что 30 минут,включатеся мелодия с еффекта.ппц. флешку менял.
вообще спалил с 3 мп3 шника.любое закорочение и микросхема звука горит сразу.записывал с диктофона в формате мп3.выходит потише чем"алиса",не проф оборудование,но ето есть оригинальность. раз включил качаство или выбрал другой апп прог,так ета дешевая мп3шка не читала такие мп3 файлы.а так сразу скажу что они мелкие,пару кб.

таки да.перепрошивка на старую версию помогла полностью.кстати часы на новой прошивке в разделе еффекта нексус.
 
Изменено:

VitalikV

★✩✩✩✩✩✩
23 Июл 2023
65
11
@Mishanya TS, С Новым Годом! я правильно понял, нужно только заменить этот файл?
C++:
    default
/correct.ru.json
чтоб прошивку не перезаливать...
 

VitalikV

★✩✩✩✩✩✩
23 Июл 2023
65
11
@Mishanya TS, хотел немного схитрить, в редакторе исправить, а не заметил, что ещё
C++:
time.ino
ну теперь уж пусть НГ отмигает. Спасибо за Ваш труд, даже в это время.
 

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@Mishanya TS, с наступлением НГ (00:00) лампа начала самопроизвольно писать поверх всех эффектов: "Слава Ук.....i!" на украинском. Причём не выключалась с кнопки. Выключилась только через WEB, но после выключения в WEB сама включилась повторно. Пришлось выключить из розетки. До появления этого весь вечер работал эффект "Новогодняя ёлка".
 
  • Ахах! +1
Реакции: kostyamat

Mishanya TS

★★★★✩✩✩
11 Дек 2019
358
287
@VitalikV, как эта надпись включилась, в коменатах этот код виден, я сама фраза зашифрована
 

AnCore

★✩✩✩✩✩✩
27 Янв 2020
176
36
@VitalikV, у меня одна лампа тоже нормально работала, а другая как раз нет (она не была подключена к роутеру), но перепрошил на всякий случай обе)
 

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@Mishanya TS, перекачал, теперь не компилируется. Версия "No sound". Нет дисплея, плеера, ИК приёмника. На прошлых версиях всё было нормально. Лог ошибки:
 

Вложения

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@AnCore, и всё стало нормально? Косяк/провокация был запрятан только в FS? Или как?
 

AnCore

★✩✩✩✩✩✩
27 Янв 2020
176
36
@Belokota, у меня во всяком случае стало нормально работать лампа, кстати, всю ночь включена была и до сих пор светится, а в чем дело было, не понятно
 

VitalikV

★✩✩✩✩✩✩
23 Июл 2023
65
11
@Belokota, я совсем не программист и могу ошибаться, но похоже управление запуском было из FieryLedLamp_New_WEB/effectTicker.ino и с FS как бы не связано, а вот из чего запустилось... что скажет Мишаня.
 

Mishanya TS

★★★★✩✩✩
11 Дек 2019
358
287
Запуск был прописан в time.ino 1 числа 1 месяца, это видно по коду, но сама фраза была зашифрована
На GitHab в двух последних коментах видно
 
  • Лойс +1
Реакции: theDudeii

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@Mishanya TS,понятно, а какие соображения по поводу ошибки компиляции? Это не у меня одного, судя по сообщениям выше.
 

Mishanya TS

★★★★✩✩✩
11 Дек 2019
358
287
@Belokota, можете выложить лог ошибки на форуме не файлом, открыть нету возможности
 

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@Mishanya TS,
Arduino: 1.8.19 (Windows 10), Плата:"LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), v2 Higher Bandwidth, Disabled, None, All Flash Contents, 921600"

ПРЕДУПРЕЖДЕНИЕ: библиотека Timezone должна запускаться на архитектурах avr и может быть несовместима с вашей платой на архитектуре esp8266.

In file included from C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB.ino:25:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h: In function 'String jsonRead(String&, String)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h:582:24: warning: variable 'error' set but not used [-Wunused-but-set-variable]

DeserializationError error = deserializeJson(doc, json);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h: In function 'int jsonReadtoInt(String&, String)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h:597:24: warning: variable 'error' set but not used [-Wunused-but-set-variable]

DeserializationError error = deserializeJson(doc, json);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h: In function 'void jsonWrite(String&, String, String)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h:611:24: warning: variable 'error' set but not used [-Wunused-but-set-variable]

DeserializationError error = deserializeJson(doc, json);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h: In function 'void jsonWrite(String&, String, int)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h:628:24: warning: variable 'error' set but not used [-Wunused-but-set-variable]

DeserializationError error = deserializeJson(doc, json);

^

In file included from C:\Program Files (x86)\Arduino\libraries\FastLED-master350\src/FastLED.h:67:0,

from C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB.ino:26:

C:\Program Files (x86)\Arduino\libraries\FastLED-master350\src/fastspi.h: At global scope:

C:\Program Files (x86)\Arduino\libraries\FastLED-master350\src/fastspi.h:145: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"

^

In file included from C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB.ino:42:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\OtaManager.h:167:73: warning: unused parameter 'progress' [-Wunused-parameter]

ArduinoOTA.onProgress([](unsigned int progress, unsigned int total)

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\OtaManager.h:167:73: warning: unused parameter 'total' [-Wunused-parameter]

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\OtaManager.h:167:73: warning: unused parameter 'progress' [-Wunused-parameter]

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\OtaManager.h:167:73: warning: unused parameter 'total' [-Wunused-parameter]

In file included from C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB.ino:48:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FavoritesManager.h: In static member function 'static void FavoritesManager::SetStatus(char*)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FavoritesManager.h:32:15: warning: unused variable 'n' [-Wunused-variable]

uint8_t n;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FavoritesManager.h: In static member function 'static bool FavoritesManager::HandleFavorites(bool*, uint8_t*, bool*, bool*, uint8_t*, uint8_t*)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FavoritesManager.h:103:46: warning: suggest parentheses around '&&' within '||' [-Wparentheses]

|| *currentMode == EFF_WHITE_COLOR && FavoriteModes[EFF_WHITE_COLOR] == 0U // лампа не переключается на следующий эффект, если выбран режим Белый свет, и он не в списке режима Цикл

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FS.ino: In function 'void FS_init()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FS.ino:8:14: warning: unused variable 'fileSize' [-Wunused-variable]

size_t fileSize = dir.fileSize();

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FS.ino: In function 'bool handleFileRead(String)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FS.ino:61:12: warning: unused variable 'sent' [-Wunused-variable]

size_t sent = HTTP.streamFile(file, contentType);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\button.ino: In function 'void buttonTick()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\button.ino:337:4: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]

if (touch.isStep())

^

In file included from sketch\FieryLedLamp_New_WEB.ino.cpp:1:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In function 'void drawFrame(uint8_t, bool)':

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:451:31: note: in expansion of macro 'constrain'

deltaHue = random(0U, 2U) ? constrain (shiftHue[0] + random(0U, 2U) - random(0U, 2U), 15U, 17U) : shiftHue[0]; // random(0U, 2U)= скорость смещения языков чем больше 2U - тем медленнее

^

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:64: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:451:31: note: in expansion of macro 'constrain'

deltaHue = random(0U, 2U) ? constrain (shiftHue[0] + random(0U, 2U) - random(0U, 2U), 15U, 17U) : shiftHue[0]; // random(0U, 2U)= скорость смещения языков чем больше 2U - тем медленнее

^

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:459:33: note: in expansion of macro 'constrain'

deltaValue = random(0U, 3U) ? constrain (shiftValue[0] + random(0U, 2U) - random(0U, 2U), 15U, 17U) : shiftValue[0]; // random(0U, 3U)= скорость смещения очага чем больше 3U - тем медленнее

^

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:64: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:459:33: note: in expansion of macro 'constrain'

deltaValue = random(0U, 3U) ? constrain (shiftValue[0] + random(0U, 2U) - random(0U, 2U), 15U, 17U) : shiftValue[0]; // random(0U, 3U)= скорость смещения очага чем больше 3U - тем медленнее

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: At global scope:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:439:6: warning: unused parameter 'isColored' [-Wunused-parameter]

void drawFrame(uint8_t pcnt, bool isColored) { // прорисовка нового кадра

^

In file included from sketch\FieryLedLamp_New_WEB.ino.cpp:1:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In function 'void whiteColorStripeRoutine()':

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:44: warning: comparison is always false due to limited range of data type [-Wtype-limits]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:2212:17: note: in expansion of macro 'constrain'

halfScale = constrain(halfScale, 0U, 50U - BORDERLAND);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In function 'void drawBlob(uint8_t, CRGB)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:5794:23: warning: suggest parentheses around '&&' within '||' [-Wparentheses]

if (!(x == -1 && (y == -1 || y == 2) || x == 2 && (y == -1 || y == 2)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In function 'void LiquidLampRoutine(bool)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:6469:12: warning: unused variable 'minSpeed' [-Wunused-variable]

double minSpeed = 0.2, maxSpeed = 0.8;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:6469:28: warning: unused variable 'maxSpeed' [-Wunused-variable]

double minSpeed = 0.2, maxSpeed = 0.8;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:6487:19: warning: statement is a reference, not call, to function 'LiquidLampPhysic' [-Waddress]

LiquidLampPhysic;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:6487:19: warning: statement has no effect [-Wunused-value]

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In function 'void smokeballsRoutine()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:7100:87: warning: operation on 'enlargedObjectNUM' may be undefined [-Wsequence-point]

enlargedObjectNUM = enlargedObjectNUM = (modes[currentMode].Scale - 1U) % 11U + 1U;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In function 'void sandRoutine()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:7808:8: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]

if (!random8(4U)) // иногда песка осыпается до половины разом

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:7824:10: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]

if (leds[XY(x, y)]) // проверяем для каждой песчинки

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In function 'void execStringsFlame()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:23:63: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

#define trackingOBJECT_MAX_COUNT (100U) // максимальное количество отслеживаемых объектов (очень влияет на расход памяти)

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:8281:21: note: in expansion of macro 'trackingOBJECT_MAX_COUNT'

for (i = 0; i < trackingOBJECT_MAX_COUNT; i++) // чистим массив объектов от того, что не похоже на языки пламени

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void espModeState(uint8_t)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:57:12: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]

if (pcnt > 0 & pcnt < 200) {

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void readBinFile(String, size_t)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:254:18: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]

if (binFile == NULL) exit (1);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void OilPaints()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:950:27: warning: overflow in implicit constant conversion [-Woverflow]

max_val = pow(2, WIDTH);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void Watercolor()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:1403:11: warning: variable 'divider' set but not used [-Wunused-but-set-variable]

uint8_t divider;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void Spectrum()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:1801:21: warning: unused variable 'COLOR_RANGE' [-Wunused-variable]

static const byte COLOR_RANGE = 32;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void VirtualSnow(byte)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:2048:17: warning: unused variable 'maxX' [-Wunused-variable]

const uint8_t maxX = WIDTH - 1;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void StrobeAndDiffusion()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:2263:17: warning: unused variable 'SIZE' [-Wunused-variable]

const uint8_t SIZE = 3U;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void Firework()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:2416:17: warning: unused variable 'STEP' [-Wunused-variable]

const uint8_t STEP = 3U;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: At global scope:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:2583:6: warning: unused parameter 'posY' [-Wunused-parameter]

void drawPalette(int posX, int posY, uint8_t STEP) {

^

In file included from sketch\FieryLedLamp_New_WEB.ino.cpp:1:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void WebTools()':

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:64: warning: comparison is always false due to limited range of data type [-Wtype-limits]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:2634:19: note: in expansion of macro 'constrain'

uint8_t speed = constrain (modes[currentMode].Speed, 65, 255);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void MagicLantern()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:2783:11: warning: unused variable 'delta' [-Wunused-variable]

uint8_t delta;

^

In file included from sketch\FieryLedLamp_New_WEB.ino.cpp:1:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void Tornado()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:3089:147: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

leds[XY(x, y)] = CHSV((angle * modes[currentMode].Scale / 10) - scale + (radius * modes[currentMode].Scale / 10), constrain((uint16_t)y*512U/(uint16_t)HEIGHT,0,255), (y < (HEIGHT/8) ? 255 - (((HEIGHT/8) - y) * 16) : 255));

^

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:35: note: in definition of macro 'constrain'

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void Turbulence()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:3643:16: warning: variable 'newColor' set but not used [-Wunused-but-set-variable]

CRGB newColor = getPixColorXY(x, y - 1 );

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:3660:16: warning: variable 'newColor' set but not used [-Wunused-but-set-variable]

CRGB newColor = getPixColorXY(x, y - 1 );

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:3610:14: warning: unused variable 'STEP_COLOR' [-Wunused-variable]

const byte STEP_COLOR = 255 / HEIGHT;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:3611:14: warning: unused variable 'STEP_OBJ' [-Wunused-variable]

const byte STEP_OBJ = 8;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino: In function 'void Serpentine()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects_new.ino:3717:9: warning: unused variable 'mn' [-Wunused-variable]

float mn = 255.0 / 13.8;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\parsing.ino: In function 'void processInputBuffer(char*, char*, bool)':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\parsing.ino:66:72: warning: suggest parentheses around '&&' within '||' [-Wparentheses]

if (!timeSynched || !(ntpServerAddressResolved && espMode == 1U) && manualTimeShift + millis() / 1000UL > phoneTimeLastSync + GET_TIME_FROM_PHONE * 60U)

^

In file included from C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB.ino:25:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\Constants.h:283:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

#define MODE_AMOUNT (122U) // количество режимов

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\parsing.ino:940:28: note: in expansion of macro 'MODE_AMOUNT'

if (atoi (tmp) < MODE_AMOUNT) {

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\time.ino: In function 'void timeTick()':

time:133:27: error: 'clockTicker_blink' was not declared in this scope

clockTicker_blink();

^

In file included from sketch\FieryLedLamp_New_WEB.ino.cpp:1:0:

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:44: warning: comparison is always false due to limited range of data type [-Wtype-limits]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\time.ino:160:26: note: in expansion of macro 'constrain'

dawnPosition = constrain(dawnPosition, 0, 255);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\time.ino: In function 'time_t getCurrentLocalTime()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\time.ino:288:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

&& manualTimeShift + millis() / 1000UL < phoneTimeLastSync

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\user_setings.ino: In lambda function:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\user_setings.ino:98:40: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]

if (!handleFileRead("/update.htm"));

^

In file included from sketch\FieryLedLamp_New_WEB.ino.cpp:1:0:

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\user_setings.ino: In function 'void handle_current_limit()':

C:\Users\belok\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:136:64: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\user_setings.ino:1280:21: note: in expansion of macro 'constrain'

current_limit = constrain (HTTP.arg("cur_lim").toInt(), 100, CURRENT_LIMIT);

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\user_setings.ino: In function 'void handle_set_static_ip()':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\user_setings.ino:1433:13: warning: unused variable 'tmp' [-Wunused-variable]

uint8_t tmp;

^

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino: In instantiation of 'bool Vector2<T>::eek:perator!=(Vector2<T>&) [with T = float]':

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:3855:22: required from here

C:\Users\belok\Downloads\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB-main\FieryLedLamp_New_WEB\FieryLedLamp_New_WEB\effects.ino:3495:10: warning: unused parameter 'v' [-Wunused-parameter]

bool operator!=(Vector2& v) {

^

exit status 1

'clockTicker_blink' was not declared in this scope



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
 

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@Mishanya TS, если закомментировать эту строчку вылазит вышеописанная ошибка:
#define TM1637_USE // закоментировать, если не используется дисплей TM1637
Если эту строчку не трогать, то компиляция проходит успешно.
Закомментирование этих строк ошибок не вызывает:
//#define MP3_TX_PIN (12U) // В СЛУЧАЕ ОТСУТСТВИЯ ПЛЕЕРА ЗАКОМЕНТМРОВАТЬ СТРОКУ!!! Определяет вывод TX (D6)(RX на плеере)
//#define IR_RECEIVER_USE // Если не используется ИК ДУ - Закомментировать эту строку

У меня нет МР3 модуля, дисплея, ИК приёмника и я эти строки всегда закомментировал и было всё в порядке, а сейчас эта ошибка. Использую версию "No sound". Остального ничего не менял - все параметры прямо из вашего архива.