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

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

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

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

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


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

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

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

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

Комментарии

mechanic

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

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

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

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


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

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

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

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

ASM

★★★★✩✩✩
26 Окт 2018
1,548
299
@TheRedMedved, как только прописываешь настройки доступа при подключении лампа пропадает, так и должно быть.
в приложении нажимай поиск, она найдет, ну или смотри монитор порта, что пишет.
на матрицу припаял обычный провод 2*0,75, питание платы еще меньше, разводку витой парой делал
 

TheRedMedved

✩✩✩✩✩✩✩
9 Фев 2020
4
0
@ASM, Насколько я понял, у Вас всё работает. Выходит, что причина неработоспособности кроется в матрице... Попробую ещё с проводками поиграться и с матрицей через Ардуинку
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@renby, это мой косяк, а может и не мой... я писал этот загрузчик для того, чтобы обеспечить работу лампы без вайфая. В пршивке Ганнера такого нет, и там всегда нужно подключать лампу к сети. К тому же в той прошивке были сложности с надежным подключением (отчасти вызванные и некоторыми платами ESP), которые попытался решить в этой программе. По идее, режим работы без сети включается сразу, если зашел в режим конфигурации (нажатая кнопка и синий экран) - сбрасываются внутренние пароли. В дальнейшем, без нажатой кнопки лампа быстро будет включатся с 1 белой вспышкой. Чтобы снова работать через роутер, придется заново проходить процедуру регистрации через смартфон. Лампа может только помнить параметры старой сети и входить в нее при следующем подключении, либо может забыть ее. Подключатся автоматически после того, как параметры сети забыты уже не может.
Касательно череды синих светодиодов - это процесс подключения к роутеру с уже запомненными параметрами. Происходят попытки с увеличением мощности передатчика... если соединения не произошло, то вероятно включится без сети. Я посмотрю, может не отработал этот момент, но спасибо за подсказку, постараюсь это учесть в исправлении этого возможного бага. Моргание красным - это значит к сети подключился, но нет информации с NTP сервера - время не выводится. (чуть попозже расскажу как я думаю побороть этот баг)

Много воды понаписал... В общем, чтобы связать лампу с роутером - при включении удерживай кнопку. потом через смартфон укажи пароль к роутеру (смартфон подключай к сети LedLamp_хххххх для ввода пароля)
 
Изменено:

kostyamat

★★★★★★✩
29 Окт 2019
1,098
631
если соединения не произошло, то вероятно включится без сети
Эх, вот тут самое оно на матрицу значек WiFi перечеркнутый вывести, а при корректном подключении - не перечеркнутый. Матрица, как никак, экран с низким разрешением.
Честно говоря - сомнительное удовольствие вот это вот все - тридцать три клика, и азбука морзе в ответ. :)
Синхронизация времени в лампе: я уже предлагал несколько раз вообще убрать вот это все из прошивки: NTP, timezone и т.п., и использовать вот это https://community.alexgyver.ru/thre...k-obsuzhdenie-proekta.1411/page-64#post-15243 сильно бы всем жизнь упростило, и мобильность/универсальность лампы возросла бы. Можно с собой в другую страну взять. Да и повторять проще, не надо думать над этим всем. Люди уже все придумали, и позаботились о нас. Я с gunner47 в ЛС говорил об этом, он ответил мол - не нашел такого решения, а переделывать жалко, к тому же мол VPN у кого-то может быть включен. Ну... Я не знаю людей, у которых VPN на всю сеть в доме, это бессмысленно, имхо.

Для себя, наверное, ещё одну кнопку добавлю, снизу лампы. Зажатие при старте будет сброс параметров с очисткой ЕЕПРОМ; клик - вывод IP, а зажатие при уже включенной лампе - прошивка по воздуху.
И ещё есть задумка таки вместо основной кнопки датчик приближения и жестов приделать. Где-то тут на форуме, в другой теме, человек свою лампу выкладывал с таким датчиком. Правда там лампа попроще, но это суть не меняет.
 
Изменено:

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
1.5 вольта... Маловато... Может ли такое быть из за плохого контакта в месте спайки?
Конечно маловато.
Может из-за плохого контакта, из-за сечения провода, но при условии, что провод очень длинный и токий (более 50 см и менее 0,3 мм), первый диод на матрице мог в короткую по питанию пойти.
 

ShamanSPb

✩✩✩✩✩✩✩
11 Янв 2020
4
1
Внезапно. После выключения тапом (ранее только по Wi-Fi управлял, кажется) и включения тапом же стали все эффекты зависать. Каждые примерно две секунды на секунду.
Что это и по какой причине установить не смог.
Думал - кнопка глючит как-то. Обесточил её - не помогло.
Как это победить?
https://yadi.sk/i/q_0SX8RdFoT9qA
Ночь без питания - всё в норму пришло. Во всяком случае - пока. Что это было?
 

renby

★✩✩✩✩✩✩
5 Янв 2020
58
11
@renby, это мой косяк, а может и не мой... я писал этот загрузчик для того, чтобы обеспечить работу лампы без вайфая. В пршивке Ганнера такого нет, и там всегда нужно подключать лампу к сети. К тому же в той прошивке были сложности с надежным подключением (отчасти вызванные и некоторыми платами ESP), которые попытался решить в этой программе. По идее, режим работы без сети включается сразу, если зашел в режим конфигурации (нажатая кнопка и синий экран) - сбрасываются внутренние пароли. В дальнейшем, без нажатой кнопки лампа быстро будет включатся с 1 белой вспышкой. Чтобы снова работать через роутер, придется заново проходить процедуру регистрации через смартфон. Лампа может только помнить параметры старой сети и входить в нее при следующем подключении, либо может забыть ее. Подключатся автоматически после того, как параметры сети забыты уже не может.
Касательно череды синих светодиодов - это процесс подключения к роутеру с уже запомненными параметрами. Происходят попытки с увеличением мощности передатчика... если соединения не произошло, то вероятно включится без сети. Я посмотрю, может не отработал этот момент, но спасибо за подсказку, постараюсь это учесть в исправлении этого возможного бага. Моргание красным - это значит к сети подключился, но нет информации с NTP сервера - время не выводится. (чуть попозже расскажу как я думаю побороть этот баг)

Много воды понаписал... В общем, чтобы связать лампу с роутером - при включении удерживай кнопку. потом через смартфон укажи пароль к роутеру (смартфон подключай к сети LedLamp_хххххх для ввода пароля)
Спасибо, все подключилось. Проблема заключалась еще в том, что я сначала "зажимал" кнопку, а потом включал лампу. Естественно кнопка не срабатывала, она у меня сенсорная. Нужно сначала подать питание а потом, кнопку зажать. Надо бы где нибудь инструкцию написать и об этом там упомянуть.
По поводу подключений к роутеру, надо бы ограничить количество попыток, я думаю 5 достаточно, чтобы после этого лампа переключалась в режим работы без сети.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@kDn, Заменил константы но время всеравно не показывает. В оригинальном варианте было вот так.Можете помочь повторить?
Если на что-то заменили, то хоть покажите на что именно... Поскольку с дефолтными константами должно выводить. Но всеже думаю чуть переработать вывод времени для случаев если ntp внезапно отвалится, либо для режима без WiFi. Чуть позже закомичу.
 
  • Лойс +1
Реакции: smirnov8 и olegkyka

GAngel

✩✩✩✩✩✩✩
10 Фев 2020
19
1
Ребят, у меня оригинальна ситуация видимо) Не понимаю в чем причина и как "завести"!
Все собрал, плату подключил, залил скетч, все работает, УРА )))) НО только отключаю питание от компа и подключаю через блок питания 5V 2,4A, плата тупо молчит никаких действий, а на матрице горит 2-3 диода, иногда больше! С обеими прошивками так( Купил другой модуль ESP, все также! НИ ресеты, ни питание через micro USB, ничего не помогает. Или Я что-то делаю не так? Не понимаю в чем дело( Может кто-то подскажет ? Что может быть ?
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@kostyamat, сложно организовать так как в процессе инициализации не опрашивается кнопки и не обновляется экран

а мое решение с морзянкой - хоть какое-то решение работы без сети, не реализованное ни у Гайвера ни у Ганнера.
чуть позже выложу достаточно крутую доработку, где проблема красного мигания будет решена
 
  • Лойс +1
Реакции: Belokota

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@GAngel, если БП регулируется - поставь на нем 4,7-5,0В, если нет, то нужно заниматься согласованием логических уровней платы и первого светодиода.
 

olegkyka

✩✩✩✩✩✩✩
25 Июл 2019
5
1
@kDn, Может обсуждалось, а не проще часы прикрутить, допустим DS 3231 и синхронизируем с интернетом раз в сутки, нет ответа от сервера подождем еще сутки. Разбег не такой уж большой получится.....
 
  • Лойс +1
Реакции: space1988

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@kDn, Может обсуждалось, а не проще часы прикрутить, допустим DS 3231 и синхронизируем с интернетом раз в сутки, нет ответа от сервера подождем еще сутки. Разбег не такой уж большой получится.....
Да не проблема прикрутить и часы, и плеер, и микрофон, и мосфеты, и хоть клавиатуру с экранами, блютусами, 433МГц приемопередатчиками + инфракрасным портом до кучи. Другое дело, что делать универсальный комбайн с 1001 функцией имеет смысл только когда уже нечем другим заняться и прошивка по большей мере "вылизана". Тут же сейчас совершенно иная ситуация - дел и так невпроворот))). Так что когда добавлю часы реального времени - не знаю... куча модулей валяется и ждет своей очереди. В будущем руки дойдут надеюсь.
 

GAngel

✩✩✩✩✩✩✩
10 Фев 2020
19
1
@Palpalych, К сожалению не регулируется,а по поводу Согласования, видимо буду гуглить в этом направлении, надеюсь что-то найду ) Спасибо!
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
Выкладываю наработки с фундаментальными фичами, которые помогут в дальнейшем реализовать много еще чего полезного.
Скидываю скетч (Constants.h скопируйте из своего текущего проекта kDn или мой отдельно лежащий, но придется редактировать под свою маатрицу)

(@kDn, в этой программе поправлен setup() поэтому можно полностью забрать в свою прошивку - увеличил надежность подключения при ошибках модуля)
Даю прошивкой, но это не прошивка!!! Тут показаны как работают эти фундаментальные фичи для адаптации, если конечно утвердятся, в последнюю от kDn. В процессе доработок были отключены режимы ночника, показа времени по таймеру, рассвета и многое другое...

Основные изменения коснулись логикой управления кнопкой (переписан и структурирован buttontick()). теперь, при работе с WiFi однократное нажатие на кнопку (в любом режиме ВКЛ/ВЫКЛ) и если есть такая возможность (есть сеть, и NTP определен) то выводит бегущую строку с показом текущего времени. Если еще раз однократно нажать кнопку во время показа строки, то лампа будет включена (выключена). При работе без сети - однократное нажатие просто включает/выключает лампу (как раньше). Остальные режимы кнопки остались прежними. Да, еще... трехкратное нажатие при выключенной лампе - запуск демо режима (попробуйте!)

Вторая основная доработка - переделка вывода текста и индикаторов (пока не реализовано) на экран. Ранее логика доработок сводилась к тому, что каждая из них независимо друг от друга управляла экраном. Это приводило к тому, что добавление новых эффектов, или работа без артефактов были невозможны. Мной были прописаны функции упорядоченного представления информации на экране. Теперь зависимые эффекты от своего предыдущего кадра не страдают от дополнительно выводимой информации.
Если кратко, то логика работы такая - в основном цикле первым прорисовывается эффект (по разным причинам, в обработчике эффекта могут быть пропуски кадров). Далее идет запоминание этого кадра в буфере. потом идет прорисовка индикаторов и бегущего текста. и вывод на экран целиком. После вывода, основной массив, где формируется изображение эффекта, обновляется из буфера.
Для вывода текста в любое желаемое время(!!!) на экран вне зависимости от режима работы, не требуется писать свои обработчики, а просто дать команду:

osd_printText(String text, CRGB color) // печать бегущей строки
osd_printCurrentTime(CRGB color) // печать текущего времени
Основные функции собрал в OSD.ino
Коренные изменения произошли в loop() и effectsTick()
Ввел некий монитор задач #define USE_TASKMONITOR
После переписывания всех функций требуется удалить runningText.ino
Требуется упорядочить работу всех упущенных пока функций и авторских наработок согласно этой концепции

Если эти наработки понравятся и будут вписаны в проект, то займусь далее списками эффектов для взаимодействия с приложениями. И написанием новых. ))
 

Вложения

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

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@GAngel, Повышенное напряжение на блоке питания. логический уровень 1 с модуля примерно 3,0 В что недостаточно для гарантированного приема матрицей. (если повышенное напряжение питание, то, допустим 5,2 В - 2,0 В = 3,2 В )
на матрицу требуется подавать напряжение чуть меньше 5.0 В ... можно попробовать запитать всю матрицу через 1-2 кремниевых диодов, но тогда они должны быть мощные ибо буду греться, либо только первый светодиод на матрице через КД522. Учти что все эксперименты на свой страх и риск - не допускай попадания напряжения более 3,3 В на выход модуля! Сгорит! Поставь защитный стабилитрон 3,3В на выход модуля, не перепутай полярность только
 
  • Лойс +1
Реакции: GAngel

Dr_virus

✩✩✩✩✩✩✩
21 Янв 2020
79
7
Подскажите мне как работает таймер по перебору эффектов и как его переделать если выкинул несколько эффектов, так как, на месте выпиленого эффекта просто не горит матрица, а нужно чтобы переключилось на следующий эффект после удаленного.Подозреваю что вот тут копать надо
if (!dawnFlag)
{
if (ONflag && (millis() - effTimer >= ((currentMode < 5 || currentMode > 13) ? modes[currentMode].Speed : 50)))
{
effTimer = millis();
 
Изменено:

Sainte

✩✩✩✩✩✩✩
10 Фев 2020
2
0
После загрузки прошивки появляется следующая надпись:
Leaving...
Hard resetting via RTS pin...
Что делать в данном случае?
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Palpalych, изменения по setup я перенес, в остальном - не сильно понимаю необходимость доработок и выигрыш от них... К примеру - демо-режим запускался двойным кликом из выключенного состояния. В чем преимущество запуска по тройному клику мне не ясно. Ну и по выводу времени/текста - сделать это не проблема, единственное - делать это по событию нажатия кнопки - особо смысла не несет, а вывод по передачи из приложения - не реализован в части приложения. Поэтому я и не допиливал эти части до конца. На счет фрейм-буфера, то тут я размышлял по этому моменту, но пока что не сильно понимаю какой реальный выигрыш это может дать в будущем. В текущих же реалиях кроме как доп. расход памяти - ничего особо не добавляется. Саму же отрисовку можно менять порядком вызовов в процедуре-обработчике эффектов.
* Прошу правильно понять, я с интересом смотрю на ваши доработки, но предпочитаю добавлять более-менее готовые решения.

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

В общем закоммитил текущую версию, так что - скачайте заново.
В ней сделан ряд багфиксов, в том числе для вывода новогоднего поздравления и для случая отключения ntp. Добавлена инверсия вывода текста для будильника (сейчас включена), которую можно отключить.
 

renby

★✩✩✩✩✩✩
5 Янв 2020
58
11
Основные изменения коснулись логикой управления кнопкой (переписан и структурирован buttontick()). теперь, при работе с WiFi однократное нажатие на кнопку (в любом режиме ВКЛ/ВЫКЛ) и если есть такая возможность (есть сеть, и NTP определен) то выводит бегущую строку с показом текущего времени. Если еще раз однократно нажать кнопку во время показа строки, то лампа будет включена (выключена). При работе без сети - однократное нажатие просто включает/выключает лампу (как раньше). Остальные режимы кнопки остались прежними. Да, еще... трехкратное нажатие при выключенной лампе - запуск демо режима (попробуйте!)
Мое ИМХО: Это всего лишь настольная лампа, какова бы она не была. У нее, грубо говоря, есть два основных режима работы - белый свет и остальные эффекты. Так вот, включение, выключение и переключение между этими режимами работы должно быть легким быстрым логичным и не требующим запоминания. На второй план можно поставить вывод времени, в том числе по запросу. Все остальное - это игрушки. Если кому надо, смартфон в руки и балуйся на здоровье. Я думаю, что логика включения, выключения и переключения между режимами, реализованная через выключение и включение одиночным и длительным нажатием вполне приемлема и логична. Можно было бы на двойное нажатие прописать вывод времени. А остальное можно и по морзянке реализовать. Кому надо, выучат... Повторюсь, это мое, сугубо личное, мнение. Ни в коем разе не хочу его никому навязывать.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@kDn, @renby, Спасибо за комментарии. Действительно очень важно для меня.

Ради чего все эти доработки затевались - это добавление новых эффектов, а также создание своих наборов.
Когда работал над пейнтболом, самым красивым эффектом, заметил, что регулятор скорости на него не работает должным образом, а реализовать его функцию не представляется возможным (например замедлить движение комет). И дело вот в чем - в прошивке реализован таймер смены кадров, а в пейнтболе используется свой осциллятор для задания положения головы кометы, и основной регулятор скорости получается просто-напросто "разрубает" эти кометы. Согласитесь, некрасиво ((( К тому же, этот эффект использует предыдущий кадр для прорисовки следующего, а если что-то нарисовать на нем, к примеру часы или индикатор, то он будет просто-напросто их размывать...
Второй минус существующей реализации, это то, что эффекты, часы, индикаторы все живут своей жизнью оставляя непонятные артефакты при прорисовке. Непонятно что на что наслаивается и в итоге приводит к мерцанию (может и не видимую глазом, но существующую по факту). Тут я попытался реализовать хоть какую-то иерархию.
Третий момент, через который столкнулся - все доработки, такие как рассвет/регулировка яркости/ночной таймер/плавные переходы... все крутят по своему глобальный и локальные регуляторы яркости. Одни фичи используют контакт мосфета - другие нет... там полный кавардак и хаос с питанием.
В процедуре управления кнопкой используется куча дублирующих проверок и исключений, и посему я только задал правильную структуру управления со своей логикой когда лампа включена, и отдельно когда выключена... что до часов по нажатой кнопке - делал для себя, и каждый может отказаться, если ему эта функция не нужна. Морзянку же также можно будет запрограммировать из такой процедуры под свои личные нужды.

Касательно памяти - там ее еще предостаточно, по моим прикидкам даже с увеличенным буфером (256*3) там еще остается половина свободной.
Скорости ESPэшки за глаза хватает, чтобы прорисовать все эффекты, регуляторы и бегущую строку и буферизацией экрана со скоростью 60 кадров в секунду...
 
Изменено:
  • Лойс +1
Реакции: Belokota и kDn