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

gunner47

★★★★★✩✩
18 Июн 2019
253
393
@gunner47, вы молодец! Отличный рефакторинг кода и это лучшая прошивка+приложение по функционалу и стабильности.

Планируется ли оптимизация энергосбережения лампы?
Когда она функционирует как будильник включаясь на 5 минут в сутки, то как-то глупо тратить энергию остальное время. Тем более ESPшка ощутимо греется в закрытой трубе корпуса (потребляя от ~80 мА). Может загонять её в Modem Sleep на каждые следующие 6 секунд?
И добавить опциональную ножку для внешнего полевого транзистора, чтобы отключать питание на матрицу (~256 мА в ждущем режиме) если лампа "выключена".
Приложение опрашивает esp раз в две секунды. Если ответ не приходит (или приходит одинаковый), приложение считает, что связь потеряна, или модуль заглючил - отмечает лампу как отключенную, запрещает управление. Если отправлять в сон, даже просто выключать радио, то приложение не сможет управлять лампой. А ещё многие люди используют dhcp - при пробуждении и повторном подключении к роутеру нет никакой гарантии, что лампа получит тот же ip - а это снова проблемы с управленим в приложении. Матрица ест в 3 раза больше, чем espшка, когда не светится. Я не вижу смысла заморачиваться с энергосбережением esp, поскольку это не автономный проект. Ест она свои 0,4 Вт и пусть ест. Если есть проблемы с перегревом, я бы в первую очередь о радиаторе подумал. А вот матрицу отключать каким-нибудь мосфетом можно было бы. Но это не моя сильная сторона, я только в общих чертах представляю, что это и как работает. Если от меня нужно будет только управлять каким-то GPIO синхронно с включением/выключением матрицы - это легко.
 
  • Лойс +1
Реакции: Xmas

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Ребят, приветствую... Лампа работает и режимы переключаются, пока подключена плата по микро юсб к компу с открытой ардуино. Стоит вытащить провод, как анимация на матрице перестает двигаться, и кнопка не реагирует тоже. Уже два дня все пробовали ничего не помогает подскажите что необходимо сделать)

ВОТ ТАКАЯ ФИГНЯ ВЫСКАКИВАЕТ ПРИ ПРОШЫВКЕ...

In file included from C:\Users\VladA\Desktop\GyverLamp-master\firmware\GyverLamp_v1.5\GyverLamp_v1.5.ino:69:0:

C:\Program Files (x86)\Arduino\libraries\FastLED-3.2.9/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.009

# pragma message "FastLED version 3.002.009"

^

In file included from C:\Program Files (x86)\Arduino\libraries\FastLED-3.2.9/FastLED.h:65:0,

from C:\Users\VladA\Desktop\GyverLamp-master\firmware\GyverLamp_v1.5\GyverLamp_v1.5.ino:69:

C:\Program Files (x86)\Arduino\libraries\FastLED-3.2.9/fastspi.h:115:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

^

Скетч использует 289256 байт (27%) памяти устройства. Всего доступно 1044464 байт.
Глобальные переменные используют 43216 байт (52%) динамической памяти, оставляя 38704 байт для локальных переменных. Максимум: 81920 байт.
esptool.py v2.6
2.6
esptool.py v2.6
Serial port COM4
Connecting....
Chip is ESP8266EX
Features: WiFi
MAC: cc:50:e3:dd:ea:ff
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 293408 bytes to 212597...

Writing at 0x00000000... (7 %)
Writing at 0x00004000... (15 %)
Writing at 0x00008000... (23 %)
Writing at 0x0000c000... (30 %)
Writing at 0x00010000... (38 %)
Writing at 0x00014000... (46 %)
Writing at 0x00018000... (53 %)
Writing at 0x0001c000... (61 %)
Writing at 0x00020000... (69 %)
Writing at 0x00024000... (76 %)
Writing at 0x00028000... (84 %)
Writing at 0x0002c000... (92 %)
Writing at 0x00030000... (100 %)
Wrote 293408 bytes (212597 compressed) at 0x00000000 in 4.8 seconds (effective 493.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Видимо, проверить питание esp. Если вытащить usb, приложение видит лампу? Её IP пингуется? "ФИГНЯ", которую вы привели выше, пусть вас не беспокоит, это не ошибки, даже не предупреждения, это информационные сообщения, которые можно игнорировать.
Из вашего лога интересно вот что:
Скетч использует 289256 байт (27%) памяти устройства. Всего доступно 1044464 байт.
Глобальные переменные используют 43216 байт (52%) динамической памяти, оставляя 38704 байт для локальных переменных. Максимум: 81920 байт.
Вот, что я вижу на своём wemos'е:
Скетч использует 369568 байт (35%) памяти устройства. Всего доступно 1044464 байт.
Глобальные переменные используют 36412 байт (44%) динамической памяти, оставляя 45508 байт для локальных переменных. Максимум: 81920 байт.
Какую именно прошивку вы используете?
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Было бы еще круто добавить белый огонь))
В файле effects.ino замени строки:
C++:
        CRGB color = CHSV(
          modes[EFF_FIRE].Scale * 2.5 + pgm_read_byte(&hueMask[y][newX]),            // H
          255U,                                                                      // S
          (uint8_t)max(0, nextv)                                                     // V
        );
на
C++:
        CRGB color = CHSV(
          0U,                                                                        // H
          0U,                                                                        // S
          (uint8_t)max(0, nextv)                                                     // V
        );
и строки
C++:
    CRGB color = CHSV(
      modes[EFF_FIRE].Scale * 2.5 + pgm_read_byte(&(hueMask[0][newX])),              // H
      255,                                                                           // S
      (uint8_t)(((100.0 - pcnt) * matrixValue[0][newX] + pcnt * line[newX]) / 100.0) // V
    );
на
C++:
    CRGB color = CHSV(
      0U,                                                                            // H
      0U,                                                                            // S
      (uint8_t)(((100.0 - pcnt) * matrixValue[0][newX] + pcnt * line[newX]) / 100.0) // V
    );
в функции void drawFrame(uint8_t pcnt).
И будет тебе белый огонь вместо нынешнего.
 

somon

★★★✩✩✩✩
20 Авг 2019
140
123
А вот матрицу отключать каким-нибудь мосфетом можно было бы. Но это не моя сильная сторона, я только в общих чертах представляю, что это и как работает. Если от меня нужно будет только управлять каким-то GPIO синхронно с включением/выключением матрицы - это легко.
Отличная идея! тоже думал над этим, но не тяну по софту...
По скольку есть разные варианты управления мосфетами, и разные мосфеты (N/P-Channel) у народа в наличии, было бы универсальным сделать в прошивке вывод на пин сигнал управления включения матрицы: U0 -низким уровнем; U1 -высоким уровнем. При этом данный пин не должен влиять на на что больше, и те кто не хочет/может этим заморачиваться, просто включают матрицу к VCC по стандартной схеме...
Тогда каждый желающий/знающий сам разработает для себя схему включения мосфета, и лучшие варианты выложит в теме... (y)
 
  • Лойс +1
Реакции: Xmas

npo6ka

★✩✩✩✩✩✩
25 Сен 2018
11
17
Собственно, настройки WiFi сохраняются в энергонезависимую память, за это отвечает библиотека WiFiManager. В прошивке есть параметры для статического IP лампы. Читайте комментарии в коде. DHCP - на то и DHCP, чтобы выдавать IP динамически, как и предписывает первая буква в его названии. Ответственность за статический адрес лежит либо на клиенте (лампе), либо (что правильнее) - в исключениях DHCP.
По поводу подвисаний не скажу сходу. Есть возможность посмотреть в монитор порта?
DHCP выдаёт ip на определённый срок, который может бы настроен. У меня на роутере это около 3 дней, и по истечению этого времени устройства, типо телефона или ноута, запрашивают новый айпи. В случае с МК, я захожу в список выданных ипшников и под каждое подключение лампы там по 1 айпишнику. При перезапуске МК все настройки соединения сбрасываются и лампа требует снова ввести логин/пароль вайфая.
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
DHCP выдаёт ip на определённый срок, который может бы настроен. У меня на роутере это около 3 дней, и по истечению этого времени устройства, типо телефона или ноута, запрашивают новый айпи. В случае с МК, я захожу в список выданных ипшников и под каждое подключение лампы там по 1 айпишнику. При перезапуске МК все настройки соединения сбрасываются и лампа требует снова ввести логин/пароль вайфая.
Конечно, может быть настроен. Почти ) Только сколько по-вашему людей об этом знает и это практикует? У меня срок аренды IP в DHCP 1 сутки (и это не настраивается, ибо роутер древний и китайский; и я периодически наблюдаю, как меняется IP на моём тестовом МК, для которого у меня нет правила в DHCP). И вообще, если человек это знает, он скорей всего забиндит IP по маку для МК и забудет об этом навсегда.
Что касается потери сохранённых параметров WiFi при перезагрузке - это ненормальное поведение. Но понять причину без содержимого монитора порта малореально. На моих ранних прошивках такое было у людей, которые собирали лампу без физической кнопки и не отключали её в прошивке. На свежих версиях это проявляться не должно. Также это может быть при слабом WiFi сигнале - кто-то тут рассказывал о том, что собрал лампу в алюминиевой трубе, внутри которой сигнал был намного хуже - лампа не могла подключиться к сети и запрашивала SSID/пароль заново. Ну, и при битой flash памяти такое может быть, проверяется прошивкой другого аналогичного модуля, если он есть под рукой.
 

Ktibr

✩✩✩✩✩✩✩
18 Сен 2019
14
3
DHCP выдаёт ip на определённый срок, который может бы настроен. У меня на роутере это около 3 дней, и по истечению этого времени устройства, типо телефона или ноута, запрашивают новый айпи. В случае с МК, я захожу в список выданных ипшников и под каждое подключение лампы там по 1 айпишнику. При перезапуске МК все настройки соединения сбрасываются и лампа требует снова ввести логин/пароль вайфая.
Я в своём роутере зафиксировал айпишники для ламп, запретив перевыдачу им адресов - по-моему это сейчас стандартная фича каждого роутера
 

urg2000

✩✩✩✩✩✩✩
29 Июл 2019
10
3
Наверно не только я был бы безмерно счастлив ели при срабатывании будильника на каком нибудь пине появлялся бы высокий уровень до нажатия кнопки или сколько минут горит лампа будильника
 

npo6ka

★✩✩✩✩✩✩
25 Сен 2018
11
17
Конечно, может быть настроен. Почти ) Только сколько по-вашему людей об этом знает и это практикует? У меня срок аренды IP в DHCP 1 сутки (и это не настраивается, ибо роутер древний и китайский; и я периодически наблюдаю, как меняется IP на моём тестовом МК, для которого у меня нет правила в DHCP). И вообще, если человек это знает, он скорей всего забиндит IP по маку для МК и забудет об этом навсегда.
Что касается потери сохранённых параметров WiFi при перезагрузке - это ненормальное поведение. Но понять причину без содержимого монитора порта малореально. На моих ранних прошивках такое было у людей, которые собирали лампу без физической кнопки и не отключали её в прошивке. На свежих версиях это проявляться не должно. Также это может быть при слабом WiFi сигнале - кто-то тут рассказывал о том, что собрал лампу в алюминиевой трубе, внутри которой сигнал был намного хуже - лампа не могла подключиться к сети и запрашивала SSID/пароль заново. Ну, и при битой flash памяти такое может быть, проверяется прошивкой другого аналогичного модуля, если он есть под рукой.
Вероятно это из за отсутствия физической кнопки и старой прошивки, спасибо за ответ.
 

motorkk7

✩✩✩✩✩✩✩
5 Авг 2019
3
2
Всем привет. Прошу помощи, тк слабо разбираюсь в теме. Не получается полноценно связать лампу с умным домом Majordomo. Контроллер прошил прошивкой с MQTT. Матрица управляется с телефона, но хотелось бы настроить автоматизацию в умном доме. Модуль MQTT MJD распознает контроллер, значения вида CURR 3 50 161 40 1 1 1 0 1 18:00:25 приходят. Но вот что делать дальше полный затык. Не понимаю какой объект нужно создать и какими свойствами управлять. Может кто то из опытных товарищей, кто разбирается в Majordomo сможет пояснить или ткнуть в то место, где этот процесс описан. Буду очень признателен!
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Всем привет. Прошу помощи, тк слабо разбираюсь в теме. Не получается полноценно связать лампу с умным домом Majordomo. Контроллер прошил прошивкой с MQTT. Матрица управляется с телефона, но хотелось бы настроить автоматизацию в умном доме. Модуль MQTT MJD распознает контроллер, значения вида CURR 3 50 161 40 1 1 1 0 1 18:00:25 приходят. Но вот что делать дальше полный затык. Не понимаю какой объект нужно создать и какими свойствами управлять. Может кто то из опытных товарищей, кто разбирается в Majordomo сможет пояснить или ткнуть в то место, где этот процесс описан. Буду очень признателен!
Я бы на вашем месте зашёл в ютуб и набрал в поиске "majordomo mqtt". Там много понятных видео на русском по этому поводу.
 
  • Лойс +1
Реакции: Xmas

motorkk7

✩✩✩✩✩✩✩
5 Авг 2019
3
2
@gunner47, спасибо . Да искал. Не нашел аналогичного с лампой примера. Сам модуль работает отлично и есть понимание как настроить выключатели или димеры по MQTT. Но вот лампу не могу победить.
 
  • Лойс +1
Реакции: Xmas

Max8991

✩✩✩✩✩✩✩
11 Окт 2018
5
0
Привтствую всех, подскажите что может быть с матрицей при прозвонке 5в и земля происходит замыкание по виду диоды все целые
 

somon

★★★✩✩✩✩
20 Авг 2019
140
123
Привтствую всех, подскажите что может быть с матрицей при прозвонке 5в и земля происходит замыкание по виду диоды все целые
Проверяйте визуально под лупой, все шунтирующие конденсаторы 0,1u что рядом с диодами стоят. У меня был один случай на ленте, какое-то г@уно было впаяно вместо кондера.
Там шунтировать больше нечему - либо ёмкость левая, либо "диод пробитый".

UPD: вот такая шняга может быть
Screenshot_2019-10-23-08-16-39-512_com.miui.gallery.jpg
 
Изменено:
  • Лойс +1
Реакции: Xmas

Max8991

✩✩✩✩✩✩✩
11 Окт 2018
5
0
да вроде целые, а диод ни как не проверить? пока не разобрал лампу все работало хотел немного переделать, отпаял заново спаял и все замыкание
 

somon

★★★✩✩✩✩
20 Авг 2019
140
123
@Max8991, так с этого и надо начинать было... Если изначально всё работало, то значит сами накосячили где-то. Проверяйте монтаж или сделайте всё заново...
Или у вас сейчас полностью отключенная матрица коротит? А что омметр показывает - "в граммах"? Имейте ввиду, что нормальная матрица имеет сопротивление постоянному току порядка нескольких сотен Ом (точно уже не помню).
 

somon

★★★✩✩✩✩
20 Авг 2019
140
123
тестер пищит 5в и земля хоть как
так сколько в "граммах"? выключите пищалку и проверьте в прямой и обратной полярности в режиме минимального значения Ом...

P.S. вы полярность подачи питания случаем на матрице не путали, во время сборки и экспериментов?
 

Max8991

✩✩✩✩✩✩✩
11 Окт 2018
5
0
спасибо всем сделал))), подключил пищалку и начал по тихой гнуть ее везде нашел тот момент когда перестает пищать, прогрел то место феном и все
 

Ingenieur

✩✩✩✩✩✩✩
31 Авг 2019
2
0
Да, это знаю. Вот чего то не отпаивается, 5 минут держал на месте пайки. чуть светодиод только отошел. Поэтому и спросил чтобы кто-то подсказал, может как-то обойти его можно)))
Сплав Розе используй, и оплетку для снятия припоя.
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Обновление прошивки по заявкам.
  • Добавлен вывод сигнала (HIGH/LOW - уровень подаваемого сигнала настраивается константой MOSFET_LEVEL) синхронно с включением матрицы на пин MOSFET транзистора (пин настраивается константой MOSFET_PIN). Позволяет включать/отключать питание матрицы, экономя около 230-250 мА тока её потребления, когда она не светится.
  • Добавлен вывод сигнала (HIGH/LOW - уровень подаваемого сигнала настраивается константой ALARM_LEVEL) на пин будильника (пин настраивается константой ALARM_PIN); сигнал подаётся в течение одной минуты, начиная со времени, на которое заведён будильник. Должен прерываться при отключении будильника кнопкой или через приложение (мало тестировал, у кого есть возможность - проверьте, плз). Позволяет включать внешний плеер/баззер для подачи звукового сигнала.
Android приложение не менялось, нужно только перепрошить модуль. Если не использовали предыдущую прошивку, а перескочили с более ранней, убедитесь в том, что обновили библиотеку GyverButton (из этого архива). Если будут какие-то проблемы, после прошивки по воздуху - прошейтесь по кабелю с очисткой flash памяти. Не забудьте проверить настройки эффектов, избранного, будильников после прошивки.
Если прошивали предыдущую мою версию, то обновлять библиотеку GyverButton и очищать flash память не обязательно.