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, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

lakec

★✩✩✩✩✩✩
5 Июл 2019
33
41
@Shura2000, https://yadi.sk/d/L9sL5jJldr9KKQ
Распаковать архив в корень диска С.
Запустить из arduino-1.8.9-esp файл arduino.exe.
в меню инструменты указать свой порт, flash size: 4M (3M SPIFFS) и erase flash all flash content.
в меню файл - открыть - GyverLamp_v2.0 - GyverLamp_v2.0.ino.
Загрузить скетч.
в меню инструменты - esp8266 sketch data upload и ждать загрузки.
Результат сюда
 

Shura2000

★★✩✩✩✩✩
2 Июл 2019
40
51
прошилось. точка доступа появилась.
Эффекты выбираются, но их настройки не работают. ввожу в поля цифры - ничего не меняется.
Получилось с помощью штатной программы от Гайвера.
При выключении и включении сбрасываются все настройки эффектов
 
Изменено:

lakec

★✩✩✩✩✩✩
5 Июл 2019
33
41
@Shura2000, а вот тут и зарыта собака. В режиме точки доступа не работает mDNS, поэтому в этом режиме не работают настройки. Пока думаю что с этим делать. В режиме station все работает нормально. Для того чтобы перейти в режим station в панели управления откройте http://192.168.4.1/settings.htm и вместо dd-wrt введите название вашей домашней вифи сети, вместо qwerty123547 пароль от домашней сети. Нажмите кнопку сохранить и перезагрузите лампу. Откройте http://gyverlamp.local, все настройки должны работать.
Если http://gyverlamp.local не открывается и есп работает в режиме АР - перезагрузите лампу еще раз, пока не начнет открываться http://gyverlamp.local
 

lakec

★✩✩✩✩✩✩
5 Июл 2019
33
41
При выключении и включении сбрасываются все настройки эффектов
Настройки сохраняются не сразу. В оригинальной прошивке от Гайвера в файле eeprom.ino есть строка if (settChanged && millis() - eepromTimer > 30000). Насколько я понял эту строку, настройки сохраняются через 30 секунд после изменения. Зачем так сделано - без понятия.
У себя я сделал задержку в 10 миллисекунд

только через IP
ИП какой у Вас?
 

Александр Вайдуров

★✩✩✩✩✩✩
11 Июл 2019
22
42
Настройки сохраняются не сразу. В оригинальной прошивке от Гайвера в файле eeprom.ino есть строка if (settChanged && millis() - eepromTimer > 30000). Насколько я понял эту строку, настройки сохраняются через 30 секунд после изменения. Зачем так сделано - без понятия.
Предполагаю Александр сделал это для того что бы сберечь ресурс флеш памяти. Зачем дергать память пока вы играетесь с настройками? Настроили, вам все нравится оставили лампу в покое, она через 30 сек. раз и запомнила ваши настройки. Вы же после настройке не будете ее сразу сбрасывать или выключать!....
 

Александр Вайдуров

★✩✩✩✩✩✩
11 Июл 2019
22
42
@Shura2000, https://yadi.sk/d/L9sL5jJldr9KKQ
Распаковать архив в корень диска С.
Запустить из arduino-1.8.9-esp файл arduino.exe.
в меню инструменты указать свой порт, flash size: 4M (3M SPIFFS) и erase flash all flash content.
в меню файл - открыть - GyverLamp_v2.0 - GyverLamp_v2.0.ino.
Загрузить скетч.
в меню инструменты - esp8266 sketch data upload и ждать загрузки.
Результат сюда
У вас хороший проект получается. Вариант с управлением через веб интерфейс меня больше привлекает, чем управление через сотовый телефон. Хотя одно другому не мешает, можно было бы просто дополнить альтернативным интерфейсом.
А на гитхабе веточку развернуть для проекта не удобнее будет?
И актуальность поддерживать и описание и пакет все будет собрано в одном месте, и не будет размазываться по форуму. хочу попробовать вашу прошивку но что то не рискую пока....
 

lakec

★✩✩✩✩✩✩
5 Июл 2019
33
41
Предполагаю Александр сделал это для того что бы сберечь ресурс флеш памяти. Зачем дергать память пока вы играетесь с настройками? Настроили, вам все нравится оставили лампу в покое, она через 30 сек. раз и запомнила ваши настройки. Вы же после настройке не будете ее сразу сбрасывать или выключать!....
Так ведь при изменении параметров выставляется флаг settChanged. Какой-то параметр изменился, выставили флаг, по флагу записали данные во флеш, сбросили флаг. И пока флаг не выставлен флешка не пишется. Поэтому задержка тут для меня загадка
А на гитхабе веточку развернуть для проекта не удобнее будет?
Когда то регистрировался на гитхабе, потыкался там-сям и понял, что это слишком сложно для меня:)
 

kasaraev

✩✩✩✩✩✩✩
12 Июл 2019
6
3
Всем привет! Ребята, не нашел поиском, как включить белый свет? Иногда хочется просто зажечь лампу не используя модные режимы.
 

Dr Shats

✩✩✩✩✩✩✩
13 Июл 2019
4
2
Я тоже перерабатываю прошивку.
В планах (если хватит времени и вдохновения):
1. Исправление регулировки скорости некоторых эффектов.
2. Обновление прошивки по воздуху, чтоб не расковыривать лампу при выходе новой прошивки.
3. Портирование прошивки под esp32 (это уже в совсем нескором будущем). Ибо во1, esp32 в отличие от esp8266 двухъядерный (одно ядро выполняет все "служебные" операции, например, поддерживает WiFi подключение, второе выполняет пользовательский код, это очень повышает стабильность и практически сводит к нулю эти перезагрузкт по watchdog'у); во2, быстрее. А стоит всего на пару баксов больше.
Очень понравились результаты твоей работы, спасибо и так держать! Есть ли в планах добавить веб интерфейс как у соседа по треду? Есть ли желание добавить микрофон/часы реального времени/динамик(для будильника)?
 

Александр Вайдуров

★✩✩✩✩✩✩
11 Июл 2019
22
42
Когда то регистрировался на гитхабе, потыкался там-сям и понял, что это слишком сложно для меня:)
Может вот эта статейка поможет. https://webdelphi.ru/2010/07/dvcs-g...tinkax-posobie-dlya-nachinayushhix-chajnikov/ Меня в эту прогу привели по другому и на другой ресурс, но суть та же и проекты отлично публикуются и апдейтятся автоматом со всеми комментариями к изменениями.
 

Dr Shats

✩✩✩✩✩✩✩
13 Июл 2019
4
2
Я сейчас от нечего делать слегка доработал скетч:
Если включить с замкнутым на минус контактом D1, то будет выполнен сброс настроек Wi-Fi
А то нелогично, если лампа меняет свое местообитание, то надо перешивать
Привет! А можешь выложить часть кода, которую ты добавил? Я бы в свою сборную солянку пихнул, а то программировать не хватает духу выучиться, а копи/пейст фроде норм.
 

lakec

★✩✩✩✩✩✩
5 Июл 2019
33
41
Дополнение тем, кто будет устанавливать версию прошивки с веб интерфейсом!
Из требований для работы mDNS надо
MDNS support in your operating system/client machines:
  • For Mac OSX support is built in through Bonjour already.
  • For Linux, install Avahi.
  • For Windows, install Bonjour.
Если у вас на винде установлен айтюнс - ничего дополнительно устанавливать не нужно.
На андроид устройствах скорее всего веб панель работать не будет (точно не скажу, проверить не на чем).
Для андроида лучше юзать оф.версию от Алекса с приложением
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Так ведь при изменении параметров выставляется флаг settChanged. Какой-то параметр изменился, выставили флаг, по флагу записали данные во флеш, сбросили флаг. И пока флаг не выставлен флешка не пишется. Поэтому задержка тут для меня загадка
setChanged - это признак того, что настройки были изменены. А таймер нужен для уменьшения количества операций записи; запись производится через 30 секунд после последнего изменения настроек, а не после каждого изменения, насколько я понимаю. В esp8266 ресурс флеш памяти не такой уж большой (не то 10 тысяч гарантированных операций записи, не то 100 тысяч, не помню точно). В целом это правило хорошего тона - уменьшать количество операций записи, это продлевает жизнь железяке.

Очень понравились результаты твоей работы, спасибо и так держать! Есть ли в планах добавить веб интерфейс как у соседа по треду? Есть ли желание добавить микрофон/часы реального времени/динамик(для будильника)?
Пока не знаю. Мне удобней управлять через приложение. Но поскольку я не могу найти его исходники, возможно, придётся делать альтернативное управление, так можно и эффекты добавлять, и новые фичи, например, таймер отключения. Посмотрим.
По поводу звука, часов и пр. тут уже выше кидали ссылку на дальнейшее развитие этого проекта https://github.com/vvip-68/GyverLampWiFi
Там всё. И не только по этому проекту Алекса, но и по другим. И правки вносятся часто, т.е., разработка идёт.

А я пока исправил одну небольшую ошибку, связанную с будильником и добавил обновление по воздуху. Чуть позже выложу с инструкцией.
 
Изменено:
  • Лойс +1
Реакции: George, Inuki и Xmas

lakec

★✩✩✩✩✩✩
5 Июл 2019
33
41
А таймер нужен для уменьшения количества операций записи; запись производится через 30 секунд после последнего изменения настроек, а не после каждого изменения, насколько я понимаю
В принципе логичное объяснение.
UPD. Сейчас пересмотрел еще раз видео Гайвера, ту часть где управление лампой из приложения. Заметил что при перемещении ползунков настроек, даже если палец с ползунка не убран, лампа откликается на изменение настроек. В этом случае задержка вполне логична, не надо писать промежуточные значения во флеш.
У меня же в веб-морде пока не отпустишь ползунок значения никуда не пишутся, поэтому такая большая задержка мне казалась странной.
Теперь же все понятно:)
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Исправлена ошибка выключения будильника, если перед его срабатыванием был активен эффект "матрица" (или другой эффект, где задействовано мало светодиодов). Наблюдалось остаточное неправильное заполнение матрицы светодиодов.
Добавлено обновление по воздуху. Работает только в режиме WiFi клиента и при подключенной кнопке (потому что режим прошивки активируется кнопкой). Нужно для тех, кто собрал уже лампу, поставил подальше от компа, но всё ещё часто её перепрошивает. Кому не нужно, можно не использовать или отключить фичу, закомментировав строку "#define OTA".
Инструкция по использованию:
1. Обновите библиотеку GyverButton на версию из этого архива. Скопируйте поверх прежней в c:\Program Files (x86)\Arduino\libraries\GyverButton или туда, где она у вас установлена. В эту версию добавлена одна функция обработки четверного нажатия.
2. Для перехода в режим обновления нужно дважды сделать четверной тап по кнопке: 4 последовательных касания, пауза от 1 до 30 секунд, потом ещё 4 последовательных касания. Если что-то пошло не так, через 30 секунд esp вернётся в исходное состояние. Если всё пошло так, то esp в течение 5 минут будет ждать перепрошивку. Потом перезагрузится (даже если не дождётся, просто чтобы выйти в основной режим).
3. Перепрошивка производится из Arduino IDE. В меню Инструменты - Порт появится дополнительный элемент "Сетевые порты" и под ним что-то типа "GyverLamp-xxxxxxx at 192.168.0.2". Нужно выбрать этот сетевой порт вместо ранее выбранного COM<цифра>. Если сетеврой порт не появился, перезапустите Arduino IDE, должен появиться. Компьютер с Arduino IDE должен быть в той же сети, куда подключается esp'шка. При обновлении будет запрошен пароль. Нужно ввести то, что опредлено в константе AP_PASS.
4. Во время ожидания прошивки лампа работает как обычно, ей можно управлять, менять режимы и т.д.
5. Подключены дополнительные библиотеки ArduinoOTA и ESP8266mDNS, но отдельно их устанавливать не нужно, они устанавливаются при установке поддержки платы esp8266.
6. При заливке другой прошивки, функция обновления по воздуху исчезнет (если другая прошивка её не поддерживает).
 

Вложения

Изменено:

Roman-RV

★✩✩✩✩✩✩
21 Июн 2019
52
15
45
Доброго. Почему то у всех на скринах в среде arduino ide выставлена частота процессора esp8266, при прошивке 80 МГц. У меня в 3 д принтере, esp8266 прошита с частотой процессора 160 Мгц и не плохо себя чувствует. Я пока ещё собираюсь повторить проект, но может кто уже пробовал так, работает ли? Мне кажется увеличение частоты процессора в 2 раза, это хороший прирост производительности.
 

kasaraev

✩✩✩✩✩✩✩
12 Июл 2019
6
3
Доброго. Почему то у всех на скринах в среде arduino ide выставлена частота процессора esp8266, при прошивке 80 МГц. У меня в 3 д принтере, esp8266 прошита с частотой процессора 160 Мгц и не плохо себя чувствует. Я пока ещё собираюсь повторить проект, но может кто уже пробовал так, работает ли? Мне кажется увеличение частоты процессора в 2 раза, это хороший прирост производительности.
Привет, я прошивал на 160 , все ОК
 
  • Лойс +1
Реакции: Romika San

kasaraev

✩✩✩✩✩✩✩
12 Июл 2019
6
3
Исправлена ошибка выключения будильника, если перед его срабатыванием был активен эффект "матрица" (или другой эффект, где задействовано мало светодиодов). Наблюдалось остаточное неправильное заполнение матрицы светодиодов.
Добавлено обновление по воздуху. Работает только в режиме WiFi клиента и при подключенной кнопке (потому что режим прошивки активируется кнопкой). Нужно для тех, кто собрал уже лампу, поставил подальше от компа, но всё ещё часто её перепрошивает. Кому не нужно, можно не использовать или отключить фичу, закомментировав строку "#define OTA".
Инструкция по использованию:
1. Обновите библиотеку GyverButton на версию из этого архива. Скопируйте поверх прежней в c:\Program Files (x86)\Arduino\libraries\GyverButton или туда, где она у вас установлена. В эту версию добавлена одна функция обработки четверного нажатия.
2. Для перехода в режим обновления нужно дважды сделать четверной тап по кнопке: 4 последовательных касания, пауза от 1 до 30 секунд, потом ещё 4 последовательных касания. Если что-то пошло не так, через 30 секунд esp вернётся в исходное состояние. Если всё пошло так, то esp в течение 5 минут будет ждать перепрошивку. Потом перезагрузится (даже если не дождётся, просто чтобы выйти в основной режим).
3. Перепрошивка производится из Arduino IDE. В меню Инструменты - Порт появится дополнительный элемент "Сетевые порты" и под ним что-то типа "GyverLamp-xxxxxxx at 192.168.0.2". Нужно выбрать этот сетевой порт вместо ранее выбранного COM<цифра>. Если сетеврой порт не появился, перезапустите Arduino IDE, должен появиться. Компьютер с Arduino IDE должен быть в той же сети, куда подключается esp'шка.
4. Во время ожидания прошивки лампа работает как обычно, ей можно управлять, менять режимы и т.д.
5. Подключены дополнительные библиотеки ArduinoOTA и ESP8266mDNS, но отдельно их устанавливать не нужно, они устанавливаются при установке поддержки платы esp8266.
6. При заливке другой прошивки, функция обновления по воздуху исчезнет (если другая прошивка её не поддерживает).

Это замечательно! А что с белым светом? Можно ли лампу включить просто как обычный светильник?
 
  • Лойс +1
Реакции: yurissan и Andrew Haronych
Это замечательно! А что с белым светом? Можно ли лампу включить просто как обычный светильник?
Делайте себе матрицу из ленты SK6812-RGBW . Это улучшенный вариант ленты WS2812B, в неё добавлен 4-ый, белый светодиод. Из этой ленты легко реализовать белый режим светильника. Тем более это будет более экономично, чем включать сразу три RGB светодиода.
 
  • Лойс +1
Реакции: Romika San и kasaraev

lakec

★✩✩✩✩✩✩
5 Июл 2019
33
41
Это замечательно! А что с белым светом? Можно ли лампу включить просто как обычный светильник?
Можно добавить функцию
C++:
void whitecolor() {
  for (int i = 0; i < NUM_LEDS; i++) {
    leds[i] = CHSV(0, 0, 255);
  }
}
Но яркость не задирать, будет греться матрица и бп.
 
  • Лойс +1
Реакции: kasaraev