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

Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

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

Комментарии

recoshet

★✩✩✩✩✩✩
15 Июн 2019
1
14
Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

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

t_igr

★★✩✩✩✩✩
19 Июл 2019
74
55
Добрый день. @gunner47 , подскажи куда глядеть, залил сегодня последнюю прошивку с гита, с включенным mqtt, всё залилось, лампа работает, к роутеру подключается, mqtt коннекта нет, в мониторе порта насчет mqtt тишина. До этого стояла прошивка от 12.10 числа, mqtt работал. Откатился на неё обратно mqtt клиент заработал. Сегодня Arduino IDE обновил до 1.8.10. Библиотеки все закинул в /Program Files(x86)/Arduino/libraries/.
1573481543598.png
 
Изменено:

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Добрый день. @gunner47 , подскажи куда глядеть, залил сегодня последнюю прошивку с гита, с включенным mqtt, всё залилось, лампа работает, к роутеру подключается, mqtt коннекта нет, в мониторе порта насчет mqtt тишина. До этого стояла прошивка от 12.10 числа, mqtt работал. Откатился на неё обратно mqtt клиент заработал. Сегодня Arduino IDE обновил до 1.8.10. Библиотеки все закинул в /Program Files(x86)/Arduino/libraries/.
Посмотреть вложение 5658
В первую очередь на константу #define USE_MQTT в Constants.h, должна быть true.
Во вторую - на другие константы, определяющие работу с MQTT в MqttManager.h (в верхней части файла после комментариев) - адрес брокера, пользователь, пароль...
В третью - на константу GENERAL_DEBUG в Constants.h (для вывода отладочных сообщений строка не должна быть закомментирована).
Я всё ещё часто вношу изменения, поэтому иногда включаю/выключаю что-то для себя. Иногда по запаре могу опубликовать изменения с выключенным выводом отладочных сообщений или включенным переходом на зимнее время...
Советую держать под рукой список того, что вы изменяли в прошивке под себя, и проверять все пункты из него, когда забираете новый архив с гитхаба. Теоретически можно сделать даже отдельный .h файл с пользовательскими изменениями (со всеми переопределёнными define'ами), чтоб они не затирались при обновлении... Хитрость будет только в том, чтобы подключить его последним в секции с include'ами в главном файле. Но это слишком наворочено для непрограммистов - вопросов будет больше, чем пользы. Поэтому лучше держать под рукой обычный список изменений под себя.

MqttManager - разговорчивый, с включенной отладочной информацией будет отчитываться о каждой попытке подключения к брокеру и каждом полученном/отправленном сообщении. Думаю, сразу всё станет понятно.
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Ну есть же часовые пояса с отличием в них времени на полчаса от общепринятого. Вот, например: https://ru.wikipedia.org/wiki/UTC−3:30
Афганистан - +4,5; Индия +5.5...
И даже, кажется, есть какие-то экзотические часовые пояса в которых время на 15 минут отличается.
"Так, небольшой Непал в реальности находится в том же часовом поясе, что граничащая с ним территория Индии, однако непальцы специально ввели небольшую разницу во времени, которая позволяла бы им не чувствовать дискомфорта от расхождения с солнечным временем. В результате непальское время от индийского отличается на 15 минут, а разница со временем UTC составляет 5 часов 45 минут. "
Может каким-то мусором инициализировалось как раз в этом экзотическом часовом поясе.
Да в том и дело, что неправильно инициализироваться могло бы, если б оно где-то в eeprom хранилось и криво вычитывалось. А так в define прописано, т.е. объявление + инициализация в одном месте. Просто нет другого места в коде, которое могло бы родить такую ошибку. Да и NTP (и протокол, и библиотека) слишком давно существует, чтоб не обнаружились такие ошибки раньше. Моё мнение: или неправильное число в define, или чудо.

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

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Я вообще не понимаю, зачем нужен сервер времени?
Куда проще синхронизировать время с телефоном. У каждого оно правильное.
В моем варианте приложения (работает не по WIFI, а по Bluetooth и не с ESP, а с Arduino) так и сделано.
 
  • Лойс +1
Реакции: kostyamat

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Я вообще не понимаю, зачем нужен сервер времени?
Куда проще синхронизировать время с телефоном. У каждого оно правильное.
В моем варианте приложения (работает не по WIFI, а по Bluetooth и не с ESP, а с Arduino) так и сделано.
А если электричество в сети моргнёт ночью, вы проснётесь до будильника и синхронизируете время?
 
  • Лойс +1
Реакции: Xmas

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
А если электричество в сети моргнёт ночью, вы проснётесь до будильника и синхронизируете время?
Если так будет, то роутер сам снова запустится в 50% случаев, а лампа, пожалуй, и того меньше. Так что это всё форс мажоры, от которых и без электричества не застраховаться )))
Вряд ли кто-то рассчитывает только на лампу. Скорее всего дублируют будильник на смартфоне или смартТВ
 

vvip

★★★✩✩✩✩
18 Дек 2018
413
167
Если так будет, то роутер сам снова запустится в 50% случаев, а лампа, пожалуй, и того меньше. Так что это всё форс мажоры, от которых и без электричества не застраховаться )))
Вряд ли кто-то рассчитывает только на лампу. Скорее всего дублируют будильник на смартфоне или смартТВ
Ну у меня и роутер и лампа после "свет моргнул" восстанавливаются в рабочее состояние в 100% случаев. И лампа берет время с сервера.
 
  • Лойс +1
Реакции: Voik

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Ну у меня и роутер и лампа после "свет моргнул" восстанавливаются в рабочее состояние в 100% случаев. И лампа берет время с сервера.
Я имел в виду 50% моделей роутеров
Можно оставить и сервер, но сделать его второстепенным.
Скажем, если нет ответа от телефона.
 

Xmas

✩✩✩✩✩✩✩
20 Июл 2019
12
0
@gunner47 Отчитываюсь о работе с термистором. Всё пучком, wi-fi не слетел ни разу за все время. (Кстати при опросе раз в 10 минут и гистерезис по сути не нужен)
Но появились новые вопросы:
- как-бы так сделать чтобы при обновлении мне не нужно было все заново прописывать ?
- можно ли отключить оба светодиода на борту NodeMcu ? (очень уж ярко они светят)
Еще раз спасибо тебе за возню с нашими вопросами и просьбами.
 

Koteyka 🐱

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

Xmas

✩✩✩✩✩✩✩
20 Июл 2019
12
0
Программно нет, но можно выпаять, либо заклеить черной пленкой, бумагой и т.д.
Ну, одним из них можно управлять, это я знаю (тем который на плате NodeMcu) меня больше интересовал тот, который на самой ESPешке.
А еще они вносят свою лепту в нагрев и потребление.
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
@gunner47 Отчитываюсь о работе с термистором. Всё пучком, wi-fi не слетел ни разу за все время. (Кстати при опросе раз в 10 минут и гистерезис по сути не нужен)
Но появились новые вопросы:
- как-бы так сделать чтобы при обновлении мне не нужно было все заново прописывать ?
- можно ли отключить оба светодиода на борту NodeMcu ? (очень уж ярко они светят)
Еще раз спасибо тебе за возню с нашими вопросами и просьбами.
  1. Нужно изучать матчасть github'а. У него есть встроенный механизм слияния изменений в текстовых файлах. Алгоритм такой: вы регистрируетесь на гитхабе, делаете свою ветку (fork) от моего репозитария. Вносите свои изменения. Публикуете. Со временем и я вношу у себя какие-то правки. Но ваша ветка их уже не видит, потому она собственно и называется веткой - отделилась и растёт себе в другую сторону. Чтобы её снова "врастить" :) нужно выполнить операцию слияния (я с гитом не работал, но такая возможность есть во всех системах контроля версий, должна называться merge, synch, rebase - как-то так). Достаточно нажать одну кнопку или написать одну команду - гитхаб сравнит файлы построчно и родит что-то общее. Это отлично работает, наверное, в 95% случаев. Конфликты будут, если найдутся строки, которые одновременно были изменены в двух источниках - вашем и моём, тогда гит теряется и не может определить, кто главнее. Нужно будет руками править. Это отличный вариант, но во1, нужно почитать документацию (разберусь на досуге и отпишу тут), во2, вы должны помнить, что и ваш репозитарий должен быть публичным, т.е., не содержать ценных данных: логинов, паролей и т.д.
  2. На всяких сайтах пишут, что один светодиод можно потушить, подав на ногу 2 (D4) высокий уровень. Но у нас там управление матрицей. Нужно либо его переносить на другую ногу, либо действительно выпаять (выкусить) светодиод. По поводу второго (который мигает при прошивке модуля) не знаю. Думаю, его тоже можно выпаять, но советовать не стану, потому что не уверен.

Кстати при опросе раз в 10 минут
Там вроде бы тип данных константы fanTimeout позволял менять её в пределах [0..255], это меньше 5 минут. Поменяйте в этой строке uint8_t на uint16_t, тогда можно будет ставить и 10 минут (макс. значение будет 65 535 секунд).
 
Изменено:
  • Лойс +1
Реакции: Xmas

vvip

★★★✩✩✩✩
18 Дек 2018
413
167
Я имел в виду 50% моделей роутеров
Можно оставить и сервер, но сделать его второстепенным.
Скажем, если нет ответа от телефона.
Ну вот ответа от телефона нет в 99% случаев. Ты ж не держишь его и программу постоянно включенными. Нажал кнопку, включил режим и всё, программы отключилась / телефон в спячку ушел. Тем более, когда ночью и сбой по питанию / перезагрузка. 100% программа не ответит.
Кстати, насколько я понимаю, лампа тут вообще пассивный элемент и ничего у телефона спрашивать не может. Только отвечать на запросы телефона.
 

aasspirin

✩✩✩✩✩✩✩
11 Ноя 2019
1
0
Повторил проект и я))
Оказалось, что найти подходящий плафон или лампу у меня в городе - не просто проблема, а полный п... Поэтому собрал из того, что нашёл у бабульки на барахолке.
Прошивка от gunner47, респектище за это. Заменён сервер времени на другой. Для питания применён блок на 12В и понижающий до 5В модуль (есть на фото, такой же у Алекса в проекте цветомузыки), вполне хватает для безглючной работы. К сожалению камера не паредала всех цветов, но это красота!Посмотреть вложение 4756Посмотреть вложение 4757Посмотреть вложение 4758Посмотреть вложение 4759

Самый лучший плафон это молочного цвета
 

kostyamat

★★★★★★✩
29 Окт 2019
1,097
630
@Koteyka, вот и я об этом подумал. Почему бы не брать время с телефона? Точнее смещение относительно NTP. Я вот себе представляю как человек, нифига в этом не понимающий, вдруг начнет это все настраивать. И не важно - хоть в прошивке, хоть в вебморде, когда такая вдруг обзаведётся этими настройками. А так - подключилось к сети, забрало время GMT, взяло поправку с телефона, записало ее в еепром и живёт себе. Если перезагрузилось, и телефон оказался оффлайн, прочитало поправку с eeprom, как всегда забрало NTP отминусовало/добавило поправку, и живёт себе дальше.

А вот тут https://community.alexgyver.ru/thre...k-obsuzhdenie-proekta.1411/page-64#post-15243 я вообще предлагал смещение локального времени у специального сервера забирать. Вообще думать не надо. @gunner47 правда возразил, что в случае vpn будет беда, но я сомневаюсь, кто-то лампу будет через vpn подключать.

@Koteyka, Вы эффекты исправляли, чтобы скорость в правильную сторону и т.п.
Может поделитесь наработками, или хотя бы объясните как исправить? Раздражает сильно.
 
Изменено:

kostyamat

★★★★★★✩
29 Окт 2019
1,097
630
@vvip, @gunner47, Ребята, @Koteyka, дело говорит. Только с поправочкой, читайте мой ему ответ выше. Это решит все вопросы, ИМХО.
@gunner47, вы большей молодец. Но я думаю что не стоит порождать лишние сущности в программе. В конце концов лампа ведь не управляет ядерным реактором, зачем ей навороченная автономная система часов с переходами на зимнее/летнее время. Ей нужно знать ТОЛЬКО разницу в данный момент в данном месте. Для этого достаточно знать только разницу локального времени и NTP. Реализацию я предложил выше.
 
Изменено:

Alex18

✩✩✩✩✩✩✩
11 Ноя 2019
2
1
Добрый день! Собрал лампу с прошивкой от @gunner47 , спасибо большое. Она работает, но есть проблемы с подключением к сети и вводом параметров сети. Окно настройки автоматически не открывается. В браузере адрес 192.168.4.1 вызывает ошибку. Из приложения можно подключится и управлять лампой адрес 192.168.4.1. С прошивкой AlexGyver все работает, и окно сети выглядит по другому, через браузер не подключается так же. Если пароль сети ввести на прошивки @AlexGyver, и поставить прошивку @gunner47, то все будет работать через сеть. В чем может быть проблема?
 

Вложения

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

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Зависит от вашего телефона и браузера.
Отключите мобильный интернет (да, при включенном и активном соединении WiFi отключите в телефоне мобильный интернет, если он включен) и попробуйте 192.168.4.1 ещё раз. Если не поможет, попробуйте другой браузер в телефоне.
P.S. Некоторые браузеры, особенно те, у которых есть "турбо-режим" или встроенный vpn иногда пытаются обратиться не напрямую к запрашиваемой странице, а дать команду серверу (Яндекса, Оперы и т.д.) скачать вашу страницу, ужать её и потом уже отдать браузеру. Но поскольку лампа в вашей локальной сети, это не закончится успехом. Короче, это сильно зависит от "умности" в первую очередь браузера.

Отставить!
Только что посмотрел в лог Монитора порта. У вас ESP_MODE = 0. Вы попросили лампу работать в режиме точки доступа, а не подключения к роутеру. В моей прошивке достаточно 7 раз подряд нажать на кнопку - лампа изменит рабочий режим на ESP_MODE = 1 (внимательно смотрите монитор порта) и перезагрузится. Если сохранённых настроек WiFi нет, станет их запрашивать. Вот тогда и пробуйте 192.168.4.1.
Оставляю первую часть ответа (хотя она и не для вашего случая), потому что сам недавно в такое вступил.
 
Изменено:

zyzbka

✩✩✩✩✩✩✩
12 Ноя 2019
1
0
Здравствуйте! Тоже повторил этот проект, но собрал недостаточно внимательно и лампа горит не в ту сторону (огонь горит не снизу вверх а справа на лево) Может кто помочь решить проблему на уровне прошивки ? Пытался искать проблему в тебе по ключевым словам, но ничего найти не удалось. прошивка гувер ламп 1.4
 

tsabak

✩✩✩✩✩✩✩
2 Сен 2018
81
8
в Constants.h смотри и правь как надо:

#define MATRIX_TYPE (0U) // тип матрицы: 0 - зигзаг, 1 - параллельная
#define CONNECTION_ANGLE (0U) // угол подключения: 0 - левый нижний, 1 - левый верхний, 2 - правый верхний, 3 - правый нижний
#define STRIP_DIRECTION (0U) // направление ленты из угла: 0 - вправо, 1 - вверх, 2 - влево, 3 - вниз
// при неправильной настройке матрицы вы получите предупреждение "Wrong matrix parameters! Set to default"
// шпаргалка по настройке матрицы здесь! https://alexgyver.ru/matrix_guide/
или если просто повернуть по часовой?
 

urg2000

✩✩✩✩✩✩✩
29 Июл 2019
10
3
Добрый день Сегодня повторилась схема: вчера будильник нормально отработал, сегодня не отработал потому что время на 30 минут отставало (включил время). Отключил лампу, включил посмотрел время стало нормально.
Хотя вчера в 23:00 вывело время правильно.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Здравствуйте! Тоже повторил этот проект, но собрал недостаточно внимательно и лампа горит не в ту сторону (огонь горит не снизу вверх а справа на лево) Может кто помочь решить проблему на уровне прошивки ? Пытался искать проблему в тебе по ключевым словам, но ничего найти не удалось. прошивка гувер ламп 1.4
В настройках (вкладка constants) укажите, где находится первый диод и направление следующих
1573629603401.png
 
  • Лойс +1
Реакции: zyzbka

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Ты ж не держишь его и программу постоянно включенными. Нажал кнопку, включил режим и всё, программы отключилась / телефон в спячку ушел.
И не нужно. ESP-шка потом сама отсчитывает время. Достаточно раз установить и до перезагрузки.