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

ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Три вещи, которые нужно делать в любой непонятной ситуации:
  1. Посмотреть комментарии в коде, основная часть которых находится в файле Constants.h. Это даст понимание очень многих настроек и снимет много сязанных с этим вопросов.
  2. Открыть монитор порта и посмотреть отладочные сообщения, там понятным языком написано, что делает и как настроена лампа. Особенно ценны первые сообщения сразу после старта лампы.
  3. В случае совсем необъяснимого и нежелательного поведения лампы нужно перепрошить её с полной очисткой flash памяти - в меню Arduino IDE "Инструменты" - "Erase Flash" нужно выбрать "All Flash Contents". Это сотрёт ВСЕ настройки лампы, но и также проинициализирует необходимые настройки значениями по умолчанию при первом запуске.
И только после этого можно задавать вопрос на форуме. Иначе есть все шансы зафлудить форум так, что знающие энтузиасты не будут успевать ответить на все публикуемые вопросы.

FAQ
В: Почему не работает android приложение?
О: К прошивке от gunner47 подходят android приложения от gunner47 и koteyka. Убедитесь в том, что установлено правильное приложение и правильная его версия. Для android приложения от gunner47 это означает, что приложение должно быть из того же архива, что и прошивка.

В: Почему после первого запуска не появляется точка доступа лампы с запросом WiFi настроек для подключения к домашней WiFi сети в рабочем режиме ESP_MODE 1?
О: Точка доступа для запроса WiFi настроек должна появиться при первом запуске после прошивки. Она ожидает подключения и ввода настроек 5 минут. После этого лампа переключается в рабочий режим ESP_MODE 0, сохраняет его и перезагружается, точка доступа для ввода WiFi настроек уже появляться не будет. При последующих рестартах лампа также будет работать в рабочем режиме ESP_MODE 0. Для переключения в рабочий режим ESP_MODE 1 нужно семикратно коснуться кнопки - лампа переключит и сохранит новый рабочий режим, перезагрузится и запросит WiFi настройки.
Если всё было сделано правильно, а страница с запросом WiFi настроек http://192.168.4.1 не может быть загружена, нужно проверить, к какой WiFi точке доступа в данный момент подключено мобильное устройство или ноутбук, с которого производится настройка, лучше выключить/включить WiFi и повторно подключиться. В случае мобильного устройства, нужно отключить мобильный интернет и проверить, чтобы не было активно VPN соединение (и в настройках android, и в настройках браузера - см. "турбо режим", "экономия трафика", "сжатие трафика", "оптимизация загрузки изображений, аудио и видео"... всё это в настройках браузера нужно отключить или использовать браузер без таких опций).

В: Как стереть WiFi настройки? Как перенести лампу в новую WiFi сеть?
О: Если после старта в рабочем режиме ESP_MODE 1 лампа не находит заданную WiFi сеть (толстые стены, модуль esp в металлической экранирующей трубе, уровень WiFi сигнала меньше 8%, выключен или не успел загрузиться после сбоя питания роутер и т.д.), то разворачивается WiFi точка доступа для ввода новых параметров WiFi сети. В это время матрица не светится, лампа не реагирует на одиночные клики по кнопке. Ожидание ввода WiFi параметров длится 5 минут. Это означает, что для переноса в новую WiFi сеть принудительно ничего стирать не нужно, нужно заново ввести WiFi параметры на новом месте после первого запуска лампы.
Но способ принудительно очистить WiFi параметры есть. Для этого в файле Constants.h нужно найти строку "#define ESP_RESET_ON_START (false)" и установить true вместо false. Затем нужно в течение 1 секунды после подачи питания коснуться кнопки - лампа сотрёт сохранённые WiFi параметры.

В: Почему не работает будильник, в android приложении нельзя им управлять?
О: Будильник и некоторые другие функции, например, вывод времени бегущей строкой недоступны, если лампе не удалось синхронизировать время с сервером времени в интернете, указанном в прошивке в параметре NTP_ADDRESS. Это может произойти, если лампа работает в режиме ESP_MODE 0, если нет доступа в интернет или сеть сконфигурирована так, что препятствует обмену ntp пакетами. Доступность сервера времени можно проверить, напрмер, утилитой NTPTool, введя в неё адрес сервера времени. Если ответ от сервера пришёл, он отобразится в окне утилиты. В сети должен быть открыт порт 123. Лампа запрашивает время сразу после старта и далее раз в полчаса. Если первая попытка была неудачной, лампа будет запрашивать время раз в 5 минут до первой удачной попытки.

В: Какой выбрать сервер времени?
О: Территориально ближайший. В принципе, это не критично, подойдёт любой рабочий, т.к. лампе не требуется точность времени на уровне микросекунд.

В: Что делать, если сервера времени недоступны/сеть блокирует доступ к ним?
О: Закомментировать в прошивке строку "#define USE_NTP". В таком случае лампа не будет отсылать запросы и ждать ответа. Функции, связанные со временем, работать не будут.

В: Почему невозможно прошить лампу по воздуху?
О: Причин может быть несколько: от файерволов и настроек сети (при настройке сети в windows как публичной операционная система может препятствовать обмену данными - обновление по воздуху не работает) и до ограничений esp8266. В ней доступны всего 4 сетевых сокета, т.е., одновременно открытых сетевых подключения. Лампа использует одно подключение для управления аднроид приложением, синхронизирует время, у неё есть возможность вывода логов в telnet, может быть включен mqtt, плюс перепрошивка по сети - может не хватить доступных сетевых подключений. Если проблема в esp, то лечится так: нужно ввести пароль от лампы при запросе в Arduino IDE, но не нажимать Enter, а оставить окно висеть. Тем временем нужно перезагузить лампу, не подключаясь приложением, сразу запросить прошивку OTA (двумя четырёхкратными тапами по кнопке) и после включения эффекта "Матрица" нажать Enter в Arduino IDE в окне запроса пароля.
Также нужно убедиться, что компьютер с Arduino IDE находится в той же сети, что и лампа. И это не должна быть точка доступа лампы.

В: Почему android приложение недоступно в google play market'е?
О: Пока жалко денег на девелоперскую учётку, но вполне возможно, в скором будущем приложение там появится.

В: Как посмотреть отладочные сообщения?
О: В Constants.h найти и раскомментировать строку "#define GENERAL_DEBUG", если она закомментиррована. Прошить esp8266. Открыть монитор порта в arduino IDE, установить скорость порта 115200. В монитор будут выводиться все предусмотренные в прошивке отладочные сообщения. Этот метод работает только, если esp8266 подключен к компьютеру с Arduino IDE usb кабелем.
Есть способ получить отладочную информацию по сети (по воздуху). Для этого нужно в файле Constants.h найти строку "#define GENERAL_DEBUG_TELNET (false)" и установить true вместо false. После чего основная часть отладочных сообщений будет выводиться в telnet ВМЕСТО монитора порта (serial). Чтобы подключиться к лампе по сети нужно установить и запустить любую программу, способную получать данные по telnet, например, putty. В ней указать ip адрес лампы и порт 23. Важно! Данный способ работает только в рабочем режиме ESP_MODE 1, и можно увидеть сообщения только после получения лампой ip адреса в сети, т.е., начальные сообщения, выводимые сразу после старта лампы, увидеть нельзя.

В: Почему Огонь зелёный?
О: Воспользуйтесь регулятором Масштаб в приложении. Установите "1".

В: Почему Яркость сама изменяется?
О: Вы не подключили сенсорную кнопку. Чтобы работало без неё, закомментируйте параметр #define ESP_USE_BUTTON.
Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47_v1.5 (сборка от @Сотнег)
Прошивка "83 эффекта в 1" или уже больше (на основе предыдущей)
Прошивка v1.7.13b (24.04.2020) - by PalPalych бета-версия (новый проект от @Palpalych)
Прошивка с mp3 от Shaitan

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Последнее редактирование модератором:

Комментарии

mechanic

★★★✩✩✩✩
Команда форума
31 Июл 2018
409
153
ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Три вещи, которые нужно делать в любой непонятной ситуации:
  1. Посмотреть комментарии в коде, основная часть которых находится в файле Constants.h. Это даст понимание очень многих настроек и снимет много сязанных с этим вопросов.
  2. Открыть монитор порта и посмотреть отладочные сообщения, там понятным языком написано, что делает и как настроена лампа. Особенно ценны первые сообщения сразу после старта лампы.
  3. В случае совсем необъяснимого и нежелательного поведения лампы нужно перепрошить её с полной очисткой flash памяти - в меню Arduino IDE "Инструменты" - "Erase Flash" нужно выбрать "All Flash Contents". Это сотрёт ВСЕ настройки лампы, но и также проинициализирует необходимые настройки значениями по умолчанию при первом запуске.
И только после этого можно задавать вопрос на форуме. Иначе есть все шансы зафлудить форум так, что знающие энтузиасты не будут успевать ответить на все публикуемые вопросы.

FAQ
В: Почему не работает android приложение?
О: К прошивке от gunner47 подходят android приложения от gunner47 и koteyka. Убедитесь в том, что установлено правильное приложение и правильная его версия. Для android приложения от gunner47 это означает, что приложение должно быть из того же архива, что и прошивка.

В: Почему после первого запуска не появляется точка доступа лампы с запросом WiFi настроек для подключения к домашней WiFi сети в рабочем режиме ESP_MODE 1?
О: Точка доступа для запроса WiFi настроек должна появиться при первом запуске после прошивки. Она ожидает подключения и ввода настроек 5 минут. После этого лампа переключается в рабочий режим ESP_MODE 0, сохраняет его и перезагружается, точка доступа для ввода WiFi настроек уже появляться не будет. При последующих рестартах лампа также будет работать в рабочем режиме ESP_MODE 0. Для переключения в рабочий режим ESP_MODE 1 нужно семикратно коснуться кнопки - лампа переключит и сохранит новый рабочий режим, перезагрузится и запросит WiFi настройки.
Если всё было сделано правильно, а страница с запросом WiFi настроек http://192.168.4.1 не может быть загружена, нужно проверить, к какой WiFi точке доступа в данный момент подключено мобильное устройство или ноутбук, с которого производится настройка, лучше выключить/включить WiFi и повторно подключиться. В случае мобильного устройства, нужно отключить мобильный интернет и проверить, чтобы не было активно VPN соединение (и в настройках android, и в настройках браузера - см. "турбо режим", "экономия трафика", "сжатие трафика", "оптимизация загрузки изображений, аудио и видео"... всё это в настройках браузера нужно отключить или использовать браузер без таких опций).

В: Как стереть WiFi настройки? Как перенести лампу в новую WiFi сеть?
О: Если после старта в рабочем режиме ESP_MODE 1 лампа не находит заданную WiFi сеть (толстые стены, модуль esp в металлической экранирующей трубе, уровень WiFi сигнала меньше 8%, выключен или не успел загрузиться после сбоя питания роутер и т.д.), то разворачивается WiFi точка доступа для ввода новых параметров WiFi сети. В это время матрица не светится, лампа не реагирует на одиночные клики по кнопке. Ожидание ввода WiFi параметров длится 5 минут. Это означает, что для переноса в новую WiFi сеть принудительно ничего стирать не нужно, нужно заново ввести WiFi параметры на новом месте после первого запуска лампы.
Но способ принудительно очистить WiFi параметры есть. Для этого в файле Constants.h нужно найти строку "#define ESP_RESET_ON_START (false)" и установить true вместо false. Затем нужно в течение 1 секунды после подачи питания коснуться кнопки - лампа сотрёт сохранённые WiFi параметры.

В: Почему не работает будильник, в android приложении нельзя им управлять?
О: Будильник и некоторые другие функции, например, вывод времени бегущей строкой недоступны, если лампе не удалось синхронизировать время с сервером времени в интернете, указанном в прошивке в параметре NTP_ADDRESS. Это может произойти, если лампа работает в режиме ESP_MODE 0, если нет доступа в интернет или сеть сконфигурирована так, что препятствует обмену ntp пакетами. Доступность сервера времени можно проверить, напрмер, утилитой NTPTool, введя в неё адрес сервера времени. Если ответ от сервера пришёл, он отобразится в окне утилиты. В сети должен быть открыт порт 123. Лампа запрашивает время сразу после старта и далее раз в полчаса. Если первая попытка была неудачной, лампа будет запрашивать время раз в 5 минут до первой удачной попытки.

В: Какой выбрать сервер времени?
О: Территориально ближайший. В принципе, это не критично, подойдёт любой рабочий, т.к. лампе не требуется точность времени на уровне микросекунд.

В: Что делать, если сервера времени недоступны/сеть блокирует доступ к ним?
О: Закомментировать в прошивке строку "#define USE_NTP". В таком случае лампа не будет отсылать запросы и ждать ответа. Функции, связанные со временем, работать не будут.

В: Почему невозможно прошить лампу по воздуху?
О: Причин может быть несколько: от файерволов и настроек сети (при настройке сети в windows как публичной операционная система может препятствовать обмену данными - обновление по воздуху не работает) и до ограничений esp8266. В ней доступны всего 4 сетевых сокета, т.е., одновременно открытых сетевых подключения. Лампа использует одно подключение для управления аднроид приложением, синхронизирует время, у неё есть возможность вывода логов в telnet, может быть включен mqtt, плюс перепрошивка по сети - может не хватить доступных сетевых подключений. Если проблема в esp, то лечится так: нужно ввести пароль от лампы при запросе в Arduino IDE, но не нажимать Enter, а оставить окно висеть. Тем временем нужно перезагузить лампу, не подключаясь приложением, сразу запросить прошивку OTA (двумя четырёхкратными тапами по кнопке) и после включения эффекта "Матрица" нажать Enter в Arduino IDE в окне запроса пароля.
Также нужно убедиться, что компьютер с Arduino IDE находится в той же сети, что и лампа. И это не должна быть точка доступа лампы.

В: Почему android приложение недоступно в google play market'е?
О: Пока жалко денег на девелоперскую учётку, но вполне возможно, в скором будущем приложение там появится.

В: Как посмотреть отладочные сообщения?
О: В Constants.h найти и раскомментировать строку "#define GENERAL_DEBUG", если она закомментиррована. Прошить esp8266. Открыть монитор порта в arduino IDE, установить скорость порта 115200. В монитор будут выводиться все предусмотренные в прошивке отладочные сообщения. Этот метод работает только, если esp8266 подключен к компьютеру с Arduino IDE usb кабелем.
Есть способ получить отладочную информацию по сети (по воздуху). Для этого нужно в файле Constants.h найти строку "#define GENERAL_DEBUG_TELNET (false)" и установить true вместо false. После чего основная часть отладочных сообщений будет выводиться в telnet ВМЕСТО монитора порта (serial). Чтобы подключиться к лампе по сети нужно установить и запустить любую программу, способную получать данные по telnet, например, putty. В ней указать ip адрес лампы и порт 23. Важно! Данный способ работает только в рабочем режиме ESP_MODE 1, и можно увидеть сообщения только после получения лампой ip адреса в сети, т.е., начальные сообщения, выводимые сразу после старта лампы, увидеть нельзя.

В: Почему Огонь зелёный?
О: Воспользуйтесь регулятором Масштаб в приложении. Установите "1".

В: Почему Яркость сама изменяется?
О: Вы не подключили сенсорную кнопку. Чтобы работало без неё, закомментируйте параметр #define ESP_USE_BUTTON.
Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47_v1.5 (сборка от @Сотнег)
Прошивка "83 эффекта в 1" или уже больше (на основе предыдущей)
Прошивка v1.7.13b (24.04.2020) - by PalPalych бета-версия (новый проект от @Palpalych)
Прошивка с mp3 от Shaitan

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Последнее редактирование модератором:

kDn

★★★★★★★
18 Ноя 2019
3,136
1,946
@Koteyka, @Palpalych, @Сотнег, @Shaitan,
А может кто-нибудь из вас вести актуальную версию с текущими наработками? А то я, к примеру, уже не совсем представляю что актуально, а что нет... Интереса ради я бы скачал текущую версию поглядеть, но как-то даже не знаю где она. В идеале вести, конечно в гите... Ну или хотя бы архивом что ли в теме.
 
  • Лойс +1
Реакции: kostyamat

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
@kDn, Актуальную вести не планирую, а вот что-то типа "Прошивка gunner47 версия 1.5" сегодня выложу.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
857
514
50
Днепр, Украина
firelamp.pp.ua
А может кто-нибудь из вас вести актуальную версию с текущими наработками?
А не получится сделать актуальную, как и завершенную. Постоянно что-то добавляется и меняется.
 

kDn

★★★★★★★
18 Ноя 2019
3,136
1,946
По возможности можно вот этот эффект встроить в новую прошивку https://community.alexgyver.ru/threads/wifi-lampa-budilnik-obsuzhdenie-proekta.1411/post-30824 вчера попробывал. Очень красивый.
Ну в свой вариант (JeeUI) я добавлю, если нужно. Но вообще лучше писать в другой теме. Если же речь идет про данную прошивку, то я все работы над ней остановил, лучше просите кого-нить другого.
 

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
Прошивка gunner47_v1.5
(давно устарела.
свежая gunner47_v2 находится по ссылке)


Ссылка на архив с прошивкой: https://download.ru/files/EkaAqdjj
копия на другом сервере: https://cloud.mail.ru/public/4tMM/4U5i9yUW5

Если обновляете с v1.4, то из-за перераспределения памяти под эффекты все настройки эффектов и будильников сбросятся. Но настройки WiFi сохранятся.

Прошивка сделана таким образом, чтобы оставаться
совместимой со всеми инструкциями и приложениями для предыдущей версии v.1.4.
Но теперь можно будет добавлять эффекты самостоятельно, если использовать приложение от @Koteyka.

ВНИМАНИЕ!
Для существенного увеличения количества эффектов придётся преодолевать ограничения размера буфера для обмена информацией между лампой и приложением. Это уже реализовано в более свежей модификации "Прошивка 86 эффектов в 1".
Если вы всё-таки решите использовать прошивку всего на 26 эффектов (эту самую gunner47_v1.5), обязательно измените в ней адрес сервера точного времени в строке #define NTP_ADDRESS (смотрите ниже вопрос про "Эффекты замирают/подвисают каждые 2-3 секунды").


Приложения для данной прошивки (gunner47_v1.5) подойдут и старые, но лучше использовать по этим ссылкам первые два. В них названия эффектов будут соответствовать:
1. wifiLamp v1.5
2. FireLamp v2.1 или FireLamp v3.0 (от @Koteyka с моими исправлениями).
3. Arduino Lamp (для iOS) пропало из магазина приложений, но на форуме остались исходники.
4. Blynk (для iOS и Андроид) поддерживается в более свежей версии данной прошивки.
Сперва нужно найти лампу в сети. Это в "Настройках соединения".
Потом нужно загрузить список эффектов из лампы. Это в "Настройках эффектов".
Алгоритм:
1. выключить переключатель "Исп. эффекты из лампы" (или нажать "очистить эффекты")
2. загрузить список эффектов из лампы (кнопка)
3. включить переключатель обратно
4. перезапустить приложение

ВНИМАНИЕ!
В приложении есть дополнительные функции:
  • Вывод текста бегущей строкой
  • Рисование
  • Сохранение настроек эффектов в файл
Они не поддерживаются прошивкой. На момент сборки прошивки их ещё не существовало.
Они есть в новой версии прошивки.
Изменено по сравнению с v.1.4:
- Исправлен баг в условии процедуры вызова эффектов (у двух эффектов регулятор скорость не работал)
- Инвертирована регулировка Скорости у всех эффектов, где она работала задом наперёд
- Из всех эффектов убраны обращения к их порядковым номерам. Теперь любой эффект можно устанавливать на любое место (кроме номеров с 7 по 15), а также делать копии эффектов
- Переработано распределение флеш-памяти EepromManager.h Теперь можно добавлять новые эффекты и делать копии (копии - для демонстрации одного эффекта на разных настройках).
- В библиотеке FastLED исправлены коэффициенты расчёта потребления тока
- Эффект Огонь заменён на "Ламповый огонь", при максимальном Масштабе он же будет эффект Белый огонь
- Эффект Белый огонь заменён на эффект Водопад, при максимальном Масштабе цвет воды будет белым
- Внесены исправления эффектов Пейнтбол и Радуга диагональная от @Palpalych (выставляйте Скорость побольше, чтобы выглядело хорошо)
- К эффекту Цвет добавлен эффект Бассейн (при максимальной Скорости блики воды исчезают, работает эффект Цвет)
- К эффекту Смена цвета добавлен эффект Пульс (при минимальном Масштабе будет работать эффект Смена цвета)
- Внесены исправления эффектов Метель и Звездопад от @Rampart
- У эффекта Матрица изменена цветовая палитра и алгоритм работы (Нестыдная Матрица)
- Эффект Светлячки со шлейфом заменён на эффект Кометы (в коде оставлены старый эффект, а также дополнительный Кометы мини, но они не подключены)
- С прошивкой в архиве поставляется 2 приложения. Стандартное может работать только с 26 эффектами. При увеличении количества эффектов будет работать только приложение от @Koteyka
- В архив с прошивкой добавлен файл с инструкцией в формате книжки. Правда, там уже устарели все ссылки.
- Добавлен обработчик команды "GBR" для изменения яркости всех эффектов сразу без сохранения в энергонезависимую память. Приложение должно поддерживать данную функцию.
- Добавлен обработчик команды "LIST" для отправки в приложение количества и реестра установленных эффектов. Приложение должно поддерживать данную функцию.

Известные вопросы по прошивке:
BUG: Эффект "Белый свет" на минимальной яркости и макс скорости (теплый свет) очень заметно мерцает независимо от масштаба. С холодным проблем нет.
Для устранения можно в файле effectTicker.ino поменять условие на
if (ONflag && (millis() - effTimer >= ((currentMode < 7 || currentMode > 15 && currentMode != 25) ? 256U - modes[currentMode].Speed : 50)))
Принцип возникновения данного бага мне неизвестен. Он в этом эффекте был и до меня (в версии 1.4).


На контакте платы D4, который используется для управления светодиодами (на схемах зелёный контакт DIN)
также находится и встроенный светодиод платы. Поэтому он будет гореть постоянно.
Светодиод можно выпаять или лучше заклеить.
Ещё можно попробовать использовать другой контакт. Например, пин D3. Тогда в прошивке нужно будет поменять строчку
#define LED_PIN (0U) // пин ленты (D3)

В: Лампа работает, но не так, как я ожидал. Помогите разобраться!
О:
Для начала прочтите ликбез по режимам работы ESP_MODE по ссылке.

В: Ошибки компиляции типа error: after previous specification in. В чём проблема?
О: Если у вас версия программы Arduino версии 1.9.0 или новее, попробуйте для начала поставить версию 1.8.14.

В: При подключении телефона к точке wifi с именем лампы не появляется страничка для подключения лампы к роутеру. Как её вызвать?
О: Проверьте, работает ли у лампы кнопка. Если кнопкой можно включить/выключить лампу, значит она уже не ожидает от вас подключения к роутеру (либо изначально был задан режим ESP_MODE=0, либо прошло более 5 минут первоначального ожидания, и лампа на него переключилась). Читайте ниже, каким образом переключаться между режимами. Если кнопка не работает, попробуйте отключить на телефоне мобильный интернет, выберите "забыть эту сеть" и подключитесь к лампе заново, затем введите в браузере адрес 192.168.4.1

В: После подключения лампы к роутеру в поиске wifi-сетей видно точку доступа с именем типа ESP-блабла. Как убрать?
О: Используйте библиотеки из архива с прошивкой, а не более новые версии. В данном случае проблема в библиотеке WiFiManager.

В: Прошивка установилась, но не получается подключиться к лампе из приложения. Что может быть?
О: Проверьте, если ваш телефон видит в "поиске wifi" название лампы, значит лампа работает в режиме "точки доступа".
Либо лампа 5 минут ждёт ваших настроек для подключения к роутеру (приложение в этом процессе не используется).
Попробуйте "забыть сеть wifi лампы" и подключиться к ней ещё раз. Должна появиться страничка настроек.
Либо лампа уже перешла в постоянный режим "точка доступа" (в таком случае уже можно включать эффекты кнопкой).
Для работы в этом режиме нужно выключить на телефоне "мобильный интернет",
а настройки адреса и порта лампы в приложении поиском найти не получится.
нужно ввести их вручную, несмотря на то, что в полях ввода уже будто бы вписаны правильные значения.

Для выхода из постоянного режима "точки доступа" можно попытаться набить кнопкой 7 нажатий подряд.
Если лампа мигнёт красным, значит, получилось. Если не мигнула, значит пытайтесь ещё.
Если после этого в "поиске wifi" название лампы не исчезло, значит она ждёт от вас настройки для подключения к роутеру (см.выше).
Если исчезло, значит настройки вы уже когда-то вводили, и лампа должна быть в сети.
Подключайтесь телефоном обратно к вашей домашней wifi-сети, и ищите там лампу в настройках приложения.

В: Эффекты замирают/подвисают каждые 2-3 секунды. В чём проблема?
О: Либо вас забанили на сервере времени (переподключение роутера к интернету может оказаться самым простым решением - смена ip-адреса снимает проблему бана). Либо сервер времени ?временно? отключился (можно подождать пару дней или сразу поменять адрес). В файле Constants.h, строчка: #define NTP_ADDRESS ("ntp2.colocall.net")
Её можно поменять на:
#define NTP_ADDRESS ("ru.pool.ntp.org")
или
#define NTP_ADDRESS ("pool.ntp.org")
или
#define NTP_ADDRESS ("time.windows.com")
или
#define NTP_ADDRESS ("ntp3.stratum2.ru")
Это набор альтернативных серверов точного времени.

В: Лампа работает нормально через роутер, но время не синхронизируется. Что делать?
О: Попробуйте найти имя лампы LedLamp среди точек доступа WiFi. Найдёте - значит лампа переключилась на режим работы без роутера. Обратное переключение - 7 раз нажать кнопку (лампа мигнёт красным светом, значит получилось).
Если имя лампы в поиске сети отсутствует, значит нормально работать не должно. Эффекты должны подтормаживать в моменты попыток синхронизировать время. Если вас забанили на сервере времени, то переподключение роутера к интернету может оказаться самым простым решением (смена ip-адреса снимает проблему бана). Некоторым приходится подбирать другой сервер времени и вписывать его адрес в прошивку.
 
Последнее редактирование:

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
857
514
50
Днепр, Украина
firelamp.pp.ua
У меня второе пока что частенько вылетает, кнопка "Цикл" не работает при запуске и в Избранном последние эффекты галочками не отмечаются.
А строку
C++:
uint8_t FavoritesManager::FavoriteModes[MODE_AMOUNT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
проверял на соответствие нулей и количеством эффектов?
У меня всё работает
У меня 30 эффектов и 30 нулей в строке.
Вылеты когда происходят?
Через пару часов залью последнее приложение (после долгих тестов вылетов не наблюдал) и дам ссылку
 

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
Нет смысла читать сообщения ниже.
Они от марта месяца, и обсуждаемые в них проблемы уже не актуальны.


проверял на соответствие нулей и количеством эффектов?
Прошивка сделана под стандартные 26 эффектов:
uint8_t FavoritesManager::FavoriteModes[MODE_AMOUNT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
Не знаю, кстати, почему там 25 ноликов. Всегда так было.

Стандартное приложение отмечает галочками всё, что нужно,
а у вас в приложении галочками не отмечается всё начиная со Светлячков (второй эффект в третьей строке реестра).

Вылеты когда происходят?
В основном при попытках выставить яркость. А вообще когда угодно.
 
Последнее редактирование:

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
@Koteyka, Ещё вот такую строчку приложение не смогло обработать:
String("Лес,2,30,100,70,0;") + // EFF_FOREST (14U)
95 не даёт поставить.
 

kDn

★★★★★★★
18 Ноя 2019
3,136
1,946
Прошивка сделана под стандартные 26 эффектов:
uint8_t FavoritesManager::FavoriteModes[MODE_AMOUNT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
Не знаю, кстати, почему там 25 ноликов. Всегда так было.
Там вообще эти нолики не нужны, т.к. static uint8_t FavoriteModes[MODE_AMOUNT]; и массив автоматически инициализируется нулями. :)
 
  • Лойс +1
Реакции: Shaitan и Сотнег

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
857
514
50
Днепр, Украина
firelamp.pp.ua
Теперь любой эффект можно устанавливать на любое место (кроме номеров с 7 по 15)
Почему бы все 3D эффекты не опустить в самый низ а условие cделать
C++:
((currentMode < MODE_AMOUNT - 9) ? modes[currentMode].Speed : 50))
тогда без разницы, в каком порядке остальные эффекты, главное, чтобы все 3D были вконце
 

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
@Koteyka, у меня в сборке - для совместимости со старыми приложениями.
Для Айфона, например.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
857
514
50
Днепр, Украина
firelamp.pp.ua
95 не даёт поставить.
Не знаю. У меня дает, но зачем такой маленький диапазон в этом эффекте. Для меня, например, этого очень мало.

у меня в сборке - для совместимости со старыми приложениями.
Ну тогда сделай константу старое приложение или новое и на ее основании строй порядок эффектов
 

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
Не знаю. У меня дает, но зачем такой маленький диапазон в этом эффекте. Для меня, например, этого очень мало.
На остальном диапазоне это уже не Лес, а болото максимум.

Ну тогда сделай константу старое приложение или новое и на ее основании строй порядок эффектов
Не. Это не мой путь.
 

Rampart

★✩✩✩✩✩✩
15 Дек 2019
12
10
Прошивка gunner47_v1.5 beta
...
** дополнительная рекомендация: замените процедуру void setup() в этом файле на вариант от @Palpalych
** https://community.alexgyver.ru/thre...zhdenie-proshivki-ot-gunner47.2418/post-26670
** это полностью изменит первоначальную настройку лампы (см.описание по ссылке), но избавит от многих проблем, если они у вас есть
А вы пробовали эту функцию заменять? Там похоже есть некоторые завязки с прошивкой от kDn. Я не копал сколько-нибудь глубоко, но с наскока не получилось. Пытался вставить в слегка допиленный скетч от gunner47
 
  • Лойс +1
Реакции: VALERIOG

kDn

★★★★★★★
18 Ноя 2019
3,136
1,946
@Сотнег, прикрутил ваши "прыгающие мячики", надеюсь вы не против. Кстати, можно на скорость завести "прыгучесть". Кстати№2 - раз уже занялись переделкой прошивки в плане нормализации диапазонов, то ИМХО и скорость бы привели в порядок... Тем более, что это делается просто достаточно. У себя я зафиксировал для цикла 20мс на итерацию эффекта, а все необходимые задержки делаю внутри эффектов. Примеры этого есть. При желании можете элементарно повторить в своем проекте.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
857
514
50
Днепр, Украина
firelamp.pp.ua
Обновил приложение.
Добавил переключатель Старая/Новая прошивка. При переключении нужен перезапуск, чтобы обновить списки эффектов.
При старой прошивке положение и количество эффектов будет, как в оригинальной прошивке (26 эффектов).
При новой прошивке загрузятся следующие эффекты (31 эффект)
C++:
const String efList_1 = String("LIST1;") +              // ПЕРВАЯ СТРОКА
String("Конфетти,100,1,1,255,0;") +                     // EFF_SPARKLES          (0U)
String("Огонь,100,1,1,255,1;") +                        // EFF_FIRE              (1U)
String("Водопад,100,1,1,255,1;") +                      // EFF_WHITTE_FIRE       (2U)
String("Радуга горизонтальная,100,1,1,50,0;") +         // EFF_RAINBOW_HOR       (3U)
String("Радуга вертикальная,100,1,1,50,0;") +           // EFF_RAINBOW_VER       (4U)
String("Радуга диагональная,100,1,1,50,0;") +           // EFF_RAINBOW_DIAG      (5U)
String("Смена цвета,1,10,1,1,0;") +                     // EFF_COLORS            (6U)
String("Безумие 3D,1,100,100,1,0;") +                   // EFF_MADNESS           (7U)
String("Облака 3D,1,100,100,1,0;") +                    // EFF_CLOUDS            (8U)
String("Лава 3D,1,100,100,1,0;") +                      // EFF_LAVA              (9U)
String(+ "\n");
const String efList_2 = String("LIST2;") +              // ВТОРАЯ СТРОКА
String("Плазма 3D,1,100,100,1,0;") +                    // EFF_PLASMA            (10U)
String("Радуга 3D,1,100,100,1,0;") +                    // EFF_RAINBOW           (11U)
String("Павлин 3D,1,100,100,1,0;") +                    // EFF_RAINBOW_STRIPE    (12U)
String("Зебра 3D,1,100,100,1,0;") +                     // EFF_ZEBRA             (13U)
String("Лес 3D,1,100,100,1,0;") +                       // EFF_FOREST            (14U)
String("Океан 3D,1,100,100,1,0;") +                     // EFF_OCEAN             (15U)
String("Цвет,70,70,1,255,1;") +                         // EFF_COLOR             (16U)
String("Снегопад,100,1,1,100,0;") +                     // EFF_SNOW              (17U)
String("Метель,100,1,1,100,0;") +                       // EFF_SNOWSTORM         (18U)
String("Звездопад,100,1,1,100,0;") +                    // EFF_STARFALL          (19U)
String(+ "\n");
const String efList_3 = String("LIST3;") +              // ТРЕТЬЯ СТРОКА
String("Матрица,100,1,1,100,0;") +                      // EFF_MATRIX            (20U)
String("Светлячки,100,1,1,40,0;") +                    // EFF_LIGHTERS          (21U)
String("Светлячки со шлейфом,100,1,1,100,0;") +         // EFF_LIGHTER_TRACES    (22U)
String("Пейнтбол,100,1,1,1,0;") +                       // EFF_PAINTBALL         (23U)
String("Блуждающий кубик,100,1,1,255,0;") +             // EFF_CUBE              (24U)
String("Аквариум,255,1,1,255,1;") +                     // EFF_AQUARIUM          (25U)
String("Пульс,100,1,1,100,0;") +                        // EFF_PULSE             (26U)
String("Комета,100,1,1,100,2;") +                       // EFF_COMET             (27U)
String("Белый свет,100,1,1,100,0;") +                   // EFF_WHITE_COLOR       (28U)
String("Прыгающие мячики,100,1,1,16,0;") +              // EFF_BALS              (30U)
String("Бегущая строка,100,1,1,255,1;") +               // EFF_PAINTBALL         (31U)
String(+ "\n");
Но вы всегда сможете подгрузить свой список из прошивки, при желании.
ПРИЛОЖЕНИЕ В АРХИВЕ
 
  • Лойс +1
Реакции: Belokota и Сотнег

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
Кстати, можно на скорость завести "прыгучесть".
На скорость нужно прикрутить скорость.
Но мне пока неохота разбираться с ним.

раз уже занялись переделкой прошивки в плане нормализации диапазонов, то ИМХО и скорость бы привели в порядок.
Переделывать все эффекты совсем не хочется.
К тому же, будет гораздо сложнее адаптировать новые эффекты, или брать их из других прошивок.

все необходимые задержки делаю внутри эффектов.
А мне нравится покадровая реализация. Не вижу у неё критичных недостатков.
 

kDn

★★★★★★★
18 Ноя 2019
3,136
1,946
А мне нравится покадровая реализация. Не вижу у неё критичных недостатков.
Вы видимо не поняли. Я у себя задал 20мс, что дает 50 кадров в секунду. На любой и каждый эффект. Впрочем о вашем нежелании делать я услышал - ну мне как бы тоже пофиг))).
 

Сотнег

★★★★★★✩
15 Янв 2020
2,401
993
Вы видимо не поняли. Я у себя задал 20мс, что дает 50 кадров в секунду. На любой и каждый эффект.
Даже мячики эти - пиксельные.
Они посередине всё равно не нарисуются, сколько бы вы кадров не дали им.
Провисят в половине кадров в одной точке, потом в другой.
Выглядеть будет так же, как если бы мы покадрово их обсчитывали.

Задержка в 20мс - она скорее во вред.
У оригинального алгоритма шаг произвольный с точностью в 1мс, а вы его заставляете прыгать двадцатками.
 

Palpalych

★★★★★✩✩
24 Дек 2019
719
382
Блин, не успеваю выложить свою бету... просто пытаюсь подбить хвосты. Осталось прикрутить ОТА, MQTT, ночник, демо, рассвет и будильники и еще по мелочам, чтобы было совместимо с предыдущей прошивкой Ганнера и kDn.
Но, то что было произведено - так это кардинально переписал ядро кнопка-эффекты-осд-питание-память. В ней как раз расширено пространство для эффектов (максимум 255). Сама концепция подключаемости эффектов тоже изменилась - они теперь как кубики Лего. Можно легко встраивать их в прошивку, создавать свой необходимый список, задавать свое имя эффекта, а также легко их масштабировать (например, встраивать в один сборный эффект несколько разных). Еще, теперь эффекты не распадаются "на пиксели" при малых значениях яркости, да и само управление яркостью стало логически выверенным.
Думаю, такие изменения понравятся всем пилильщикам :cool: . Подождите день-другой, обязательно выложу.

UPD: да еще, временные и масштабные параметры эффектов также подстраиваются в прошивке...
 

kDn

★★★★★★★
18 Ноя 2019
3,136
1,946
Задержка в 20мс - она скорее во вред.
У оригинального алгоритма шаг произвольный с точностью в 1мс, а вы его заставляете прыгать двадцатками.
Мда... ну ладно, двадцатками, так двадцатками))). Если что, то эти двадцатки у меня выглядят так, при разных положениях ползунка... А там как знаете :)

 
  • Лойс +1
Реакции: kostyamat