WiFi лампа-будильник. Задания на доработку

Bender

★✩✩✩✩✩✩
31 Июл 2018
1
14
Всем привет, Алекс у меня предложение, а что если в эту лампу добавить функцию часов, типо бегущей строки, ну или просто индикация часов, ночной режим и дневной режим, все таки она же лампа будильник. Мне кажется это была бы не плохая доработка лампы!
 

MoRoW

✩✩✩✩✩✩✩
18 Авг 2019
1
4
Доброго времени суток! Пришли запчасти, собрал лампу, полет нормальный. Жена просто довольна. Алексу огромная спасибо.
Возник вопрос, а как можно к будильнику еще хоть какой-то динамик приладить (хотя бы какую-нибудь пищалку)? Кто-нибудь побывал или делал? Поделитесь пожалуйста своим опытом.
 

AmatoR

★✩✩✩✩✩✩
20 Авг 2019
4
11
Идея добавить режим светомузыки ( у Алекса был видос про светомузыку на адресной ленте и ардуинке с использованием микрофона ). Было бы супер если совместить эти проекты.
 

AndyIP

★★✩✩✩✩✩
3 Июл 2019
91
50
Доброго времени суток! Пришли запчасти, собрал лампу, полет нормальный. Жена просто довольна. Алексу огромная спасибо.
Возник вопрос, а как можно к будильнику еще хоть какой-то динамик приладить (хотя бы какую-нибудь пищалку)? Кто-нибудь побывал или делал? Поделитесь пожалуйста своим опытом.
Уже есть такое :)
https://github.com/vvip-68/GyverLampWiFi
 
  • Лойс +1
Реакции: All139

victory_lad

★✩✩✩✩✩✩
17 Сен 2019
56
22
Было бы круто запилить программу под цветомузыку, например, интегрировать в приложении лампы интерфейс плеера. Затем, сделать режим "Плеер" или "Цветомузыка", как в случае с "Избранное", "Таймер", или "Будильник" и при включении этого режима приложение открывало бы свой плеер откуда уже воспроизводились песни с их визуализацией на самой лампе. Или 2й вариант - при включении режима с цветомузыкой, приложение лампы обращалось к родному приложению музыки/плеера, которое уже есть в телефоне и через него уже будет воспроизводиться музыка с эффектами. 3й вариант сомнительный - микрофон телефона, тоесть все улавливаемые звуки музыки и не только, будут изображаться на лампе за счет микрофона, но эффекты будут изображаться не точно, опять же из - за посторонних звуков.
 

somon

★★★✩✩✩✩
20 Авг 2019
140
123
@victory_lad, моё ИМХО!
логичней и проще тогда, добавить в схему модуль с микрофоном (как в цветомузыке) и в этом режиме работать как и положено...
Использовать телефон и его ПО для этого - не просто, сожрёт батарейку и заклинит интерфейс...
Вы не обратили внимание какая инерция между приложением и работой лампы от кнопки?
Хотя могу ошибаться конечно, но режим микрофон, кажется самый простой, доступный и логичный для этого...
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Было бы круто запилить программу под цветомузыку, например, интегрировать в приложении лампы интерфейс плеера. Затем, сделать режим "Плеер" или "Цветомузыка", как в случае с "Избранное", "Таймер", или "Будильник" и при включении этого режима приложение открывало бы свой плеер откуда уже воспроизводились песни с их визуализацией на самой лампе. Или 2й вариант - при включении режима с цветомузыкой, приложение лампы обращалось к родному приложению музыки/плеера, которое уже есть в телефоне и через него уже будет воспроизводиться музыка с эффектами. 3й вариант сомнительный - микрофон телефона, тоесть все улавливаемые звуки музыки и не только, будут изображаться на лампе за счет микрофона, но эффекты будут изображаться не точно, опять же из - за посторонних звуков.
Да, с этим будут проблемы. Приложение обменивается с лампой строкой в полсотни символов раз в 2 секунды. Можно ли сделать обмен интенсивнее? Можно, но батарея телефона уйдёт очень быстро. А если включить в телефоне другое приложение, то работоспособность этого не гарантируется, потому что оно написано не как служба, не предназначено для работы в фоне. Идея со светомузыкой как по мне - это либо микрофон, либо проигрыватель на стороне лампы, и только управление проигрываетелем с телефона.
 

Ktibr

✩✩✩✩✩✩✩
18 Сен 2019
14
3
Всем привет, Алекс у меня предложение, а что если в эту лампу добавить функцию часов, типо бегущей строки, ну или просто индикация часов, ночной режим и дневной режим, все таки она же лампа будильник. Мне кажется это была бы не плохая доработка лампы!
гляньте сюда- https://community.alexgyver.ru/thre...k-obsuzhdenie-proekta.1411/page-47#post-13603 в силу своих знаний что то написал
 
  • Лойс +1
Реакции: DolphINE

Юрий П.

★✩✩✩✩✩✩
9 Окт 2019
7
19
Всем привет, Алекс у меня предложение, а что если в эту лампу добавить функцию часов, типо бегущей строки, ну или просто индикация часов, ночной режим и дневной режим, все таки она же лампа будильник. Мне кажется это была бы не плохая доработка лампы!
https://community.alexgyver.ru/threads/wifi-lampa-budilnik.1406/post-13955
 

xealus

✩✩✩✩✩✩✩
1 Окт 2019
1
0
Здравствуйте!
Спасибо за проект, повторил, понравилось.
Очень прошу, внедрите возможность управления лампой через систему умный дом.
Например с помощью голосового управления.
При совместном использовании (для управления голосом с мобилы):
Ассистент Дуся - https://play.google.com/store/apps/details?id=com.dusiassistant&hl=ru
Tasker - https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=ru
 

Ktibr

✩✩✩✩✩✩✩
18 Сен 2019
14
3
Народ, а кто подскажет,как вторую сенсорную кнопку припилить сюда?
Смотрел примеры использования библиотеки gyverbutton,но в прошивке вызов функции не такой, как сделан в примере - и ума у меня уже не хватает, чтобы мониторить нажатия второй кнопки.
Также почему то при использовании отдельных пинов кнопка себя странно ведёт - то горит постоянно, то какой то ещё синий светодиод включает на nodemcu
Выручайте
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Народ, а кто подскажет,как вторую сенсорную кнопку припилить сюда?
Смотрел примеры использования библиотеки gyverbutton,но в прошивке вызов функции не такой, как сделан в примере - и ума у меня уже не хватает, чтобы мониторить нажатия второй кнопки.
Также почему то при использовании отдельных пинов кнопка себя странно ведёт - то горит постоянно, то какой то ещё синий светодиод включает на nodemcu
Выручайте
Я бы смотрел, как используется существующая кнопка:
  1. Определил бы пин второй кнопки BTN_PIN2
  2. Создал бы объект:
    C++:
    GButton touch2(BTN_PIN2, LOW_PULL, NORM_OPEN);
  3. Создал бы отдельный файл button2.ino с функцией
    C++:
    void button2Tick() { ... }
  4. Добавил бы вызов этой функции в loop() в основном файле прошивки рядом с buttonTick().
Ну, и проверял бы в button2Tick(), не была ли нажата кнопка (аналогично тому, как это проверяется в buttonTick() сейчас.
 
Изменено:

Ktibr

✩✩✩✩✩✩✩
18 Сен 2019
14
3
Я бы смотрел, как используется существующая кнопка:
  1. Определил бы пин второй кнопки BTN_PIN2
  2. Создал бы объект:
    C++:
    GButton touch2(BTN_PIN2, LOW_PULL, NORM_OPEN);
  3. Создал бы отдельный файл button2.ino с функцией
    C++:
    void button2Tick() { ... }
  4. Добавил бы вызов этой функции в loop() в основном файле прошивки рядом с buttonTick().
Ну, и проверял бы в button2Tick(), не была ли нажата кнопка (аналогично тому, как это проверяется в buttonTick() сейчас.
спасибо, сделал именно так
но в loop если ставить, то последовательность в которой идут вызовы функций влияет на работоспособность той или иной кнопки
если идет
buttonTick();
button2Tick();
то вторая кнопка не реагирует
и наоборот, если первой идет вызов button2Tick(), то первая кнопка не пашет ((
 

Владимиррр

✩✩✩✩✩✩✩
28 Сен 2019
7
0
Можно добавить оверлей часов как в MatrixOS? Бегущая строка это конечно хорошо, но гораздо полезней постоянное отображение (отключаемое).
 

vvip

★★★✩✩✩✩
18 Дек 2018
413
167
Можно добавить оверлей часов как в MatrixOS? Бегущая строка это конечно хорошо, но гораздо полезней постоянное отображение (отключаемое).
В течение недели примерно такое будет тут https://github.com/vvip-68/GyverLampWiFi/, когда выйдет версия 1.01. Пока не опубликовано.
Занимаюсь доработкой. Прошивка, вероятно, победнее по функционалу чем от Gunner47, но вдруг вам наворотов не нужно столько.
Основана на проекте рюкзака https://github.com/vvip-68/GyverMatrixWiFi , только лишнее типа игр и рисовалки выкинуто.
Впрочем, мое дело предложить, ваше - отказаться :)
 

AndyIP

★★✩✩✩✩✩
3 Июл 2019
91
50
В течение недели примерно такое будет тут https://github.com/vvip-68/GyverLampWiFi/, когда выйдет версия 1.01. Пока не опубликовано.
Занимаюсь доработкой. Прошивка, вероятно, победнее по функционалу чем от Gunner47, но вдруг вам наворотов не нужно столько.
Основана на проекте рюкзака https://github.com/vvip-68/GyverMatrixWiFi , только лишнее типа игр и рисовалки выкинуто.
Впрочем, мое дело предложить, ваше - отказаться :)
Привет! Мне удалось полностью портировать вашу прошивку с ESP8266 на ESP32. Работает просто прекрасно!
Правда пришлось добавить еще одну (модифицированную мной) библиотеку для работы с TM1637, так как ESP32 не работает с библиотекой GyverTM1637. С нетерпением жду обновлений прошивки :)
 
  • Лойс +1
Реакции: Muxa52 и vvip

vvip

★★★✩✩✩✩
18 Дек 2018
413
167
Привет! Мне удалось полностью портировать вашу прошивку с ESP8266 на ESP32. Работает просто прекрасно!
Правда пришлось добавить еще одну (модифицированную мной) библиотеку для работы с TM1637, так как ESP32 не работает с библиотекой GyverTM1637. С нетерпением жду обновлений прошивки :)
Прошивка выложена вчера, вроде работает. Если будут какие-то проблемы - пишите.
А что нужно менять для портирования на ESP32?
Будет ли собираться потрированная версия без изменений на младших версиях ESP8266?
Теперь собираюсь попробовать несколько поменять дизайн программы для смартфона.
Из основных отличий от версии 1.00:
- добавлен ражим часов бегущей строкой
- добавлен оверлей часов поверх эффектов с возможностью сдвига часов по кольцу.
То есть, если матрица свернута в трубу и часы с фиксированной позицией не видны полностью из за кривизны плафона / абажура лампы - можно включить вращение часов вокруг лампы. Скорость регулируется
- можно задать цвет ночных часов на матрице из набора - R,G,B,C,M,Y
- отображение IP лампы при 4-x кратном нажатии на кнопку в виде текста бегущей строки - если кто-то собирает без TM1637 - может быть полезным.
 

AndyIP

★★✩✩✩✩✩
3 Июл 2019
91
50
Прошивка выложена вчера, вроде работает. Если будут какие-то проблемы - пишите.
А что нужно менять для портирования на ESP32?
Будет ли собираться потрированная версия без изменений на младших версиях ESP8266?
Теперь собираюсь попробовать несколько поменять дизайн программы для смартфона.
Из основных отличий от версии 1.00:
- добавлен ражим часов бегущей строкой
- добавлен оверлей часов поверх эффектов с возможностью сдвига часов по кольцу.
То есть, если матрица свернута в трубу и часы с фиксированной позицией не видны полностью из за кривизны плафона / абажура лампы - можно включить вращение часов вокруг лампы. Скорость регулируется
- можно задать цвет ночных часов на матрице из набора - R,G,B,C,M,Y
- отображение IP лампы при 4-x кратном нажатии на кнопку в виде текста бегущей строки - если кто-то собирает без TM1637 - может быть полезным.
Привет! Для портирования на ESP32 пришлось взять с скобки "директив условной компиляции" работу с "собакой" WDT в ESP8266.
Ну типа:
#if defined(ESP8266)
ESP.wdtFeed();
#endif
Я не знаю как именно должен работать WDT у EST32. Но прошивка работает и без них, возможно потому,
что ESP32 гораздо быстрее и стабильнее.
Ну и отличающийся код и константы для распиновки тоже нужно брать в подобные скобки:

#if defined(ESP8266)
тяпляп=тряляля
#endif

#if defined(ESP32)
тяпляп=труляля
#endif

Смысл с том, что компилятор смотрит какая именно выбрана плата в менеджере плат и в зависимости от этого выбирает нужный код.
Поэтому компиляция будет для обоих плат "NodeMCU v1.0 (ESP-12E)" или "ESP32 dev Module"
Изменений не много, но есть. Вечером попробую залить на github.
Большая просьба к вам - глянуть код взлядом мастера и предложить что именно нужно поменять. :)
Возможно касаемо работы WDT на ESP32. И нужен ли он там вообще...
 
Изменено:
  • Лойс +1
Реакции: Alex PAP

vvip

★★★✩✩✩✩
18 Дек 2018
413
167
Привет! Для портирования на ESP32 пришлось взять с скобки "директив условной компиляции" работу с "собакой" WDT в ESP8266.
Ну типа:
#if defined(ESP8266)
ESP.wdtFeed();
#endif
Я не знаю как именно должен работать WDT у EST32. Но прошивка работает и без них, возможно потому,
что ESP32 гораздо быстрее и стабильнее.
Ну и отличающийся код и константы для распиновки тоже нужно брать в подобные скобки:

#if defined(ESP8266)
тяпляп=тряляля
#endif

#if defined(ESP32)
тяпляп=труляля
#endif

Смысл с том, что компилятор смотрит какая именно выбрана плата в менеджере плат и в зависимости от этого выбирает нужный код.
Поэтому компиляция будет для обоих плат "NodeMCU v1.0 (ESP-12E)" или "ESP32 dev Module"
Изменений не много, но есть. Вечером попробую залить на github.
Большая просьба к вам - глянуть код взлядом мастера и предложить что именно нужно поменять. :)
Возможно касаемо работы WDT на ESP32. И нужен ли он там вообще...
Хех. Да какой я мастер. Я с ардуинками и ESP-шками и года не знаком. В прошлом году взялся проект делать гирлянду к новому году - проект WS8212_FX. И под себя его менял. Вот и весть опыт. Я даже не знаю как ESP32 в ардуино IDE добавить. Надо будет - нагуглю, конечно.
А вы собираетесь 1.01 под ESP32 портировать? Если да - может когда спортируете со всеми дефайнами для ESP8266 и ESP32 - просто pull request оформите - я его в репозиторий смержу?

Ну или хотя бы уже сделанное для 1.00 смержить, чтоб и под ESP32 и под ESP8266 работало.
"Изменений не много, но есть" - какие-то функциональные доработки?
А что с изменениями библиотеки TM1637?
 
Изменено:

AndyIP

★★✩✩✩✩✩
3 Июл 2019
91
50
Хех. Да какой я мастер. Я с ардуинками и ESP-шками и года не знаком. В прошлом году взялся проект делать гирлянду к новому году - проект WS8212_FX. И под себя его менял. Вот и весть опыт. Я даже не знаю как ESP32 в ардуино IDE добавить. Надо будет - нагуглю, конечно.
А вы собираетесь 1.01 под ESP32 портировать? Если да - может когда спортируете со всеми дефайнами для ESP8266 и ESP32 - просто pull request оформите - я его в репозиторий смержу?
Ну чтобы не гуглить:
Нужно в свойствах самой Arduino IDE (меню File=>Preferences закладка Settings) в поле "Additional Boards Manager URLs" добавить ссылку на репозиторий ESP32 (https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json)
А затем просто зайти в Board Manager и в фильтре поиска написать "esp32"
Появится библиотека "esp32 by Espressif Systems version 1.0.4" ее и надо установить.
Ну и последнее - после установки просто выбрать плату "ESP32 Dev Module"
Да. В данный момент как раз занимаюсь портированием прошивки 1.01 с добавлением одного эффекта (Пейнтбол)
Как закончу, залью на github и оформлю pull request
 
  • Лойс +1
Реакции: S-Grey и vvip

vvip

★★★✩✩✩✩
18 Дек 2018
413
167
А ты ESP32 плату разработки используешь (то есть с USB и разведенным питанием / обвязкой) или чистый микроконтроллер ESP32?
И почему его? Хотел заказать на "чтобы было". Что-то цены совсем не гуманные. С доставкой с али - от 500 руб и выше. На эти деньги 3-4 ESP8266 (nodemcu или Wemos) купить можно, коих для проекта за глаза...
 

AndyIP

★★✩✩✩✩✩
3 Июл 2019
91
50
Да, использую плату для разработки.
Просто потому, что плата была в наличии, не глючила в отличии от ESP8266, ну и она гораздо мощнее...
Я нашел на али за 260 руб + достава 20-40 руб тут
Я закончил портировать прошивку 1.01 и создал pull request
 

vvip

★★★✩✩✩✩
18 Дек 2018
413
167
Да, использую плату для разработки.
Просто потому, что плата была в наличии, не глючила в отличии от ESP8266, ну и она гораздо мощнее...
Я нашел на али за 260 руб + достава 20-40 руб тут
Я закончил портировать прошивку 1.01 и создал pull request
А под ESP32 точно собирается?
У меня ругается на <SoftwareSerial.h> - нет такого.
И точно, в C:\Users\AlVa\AppData\Local\Arduino15\packages\esp8266\ - есть такая папка с файлами, а в
C:\Users\AlVa\AppData\Local\Arduino15\packages\esp32\ - нет такой.
А твоя библа для TM1637 для ESP8266 не пойдет? Может от Гайвера выкинуть, эту одну использовать?