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

vvip

★★★★✩✩✩
18 Дек 2018
469
206
Вопрос. Сделал 2 лампы, одну месяца два назад, вторую недели 2 назад. Первая сохраняет режим и настройки при полном отключении от сети и после появления питания включается в последнем режиме, вторая сбрасывает сбрасывает настройки в стоковые после обесточивания и при появлении питания включается в первоначальном режиме со стоковыми настройками, но настройки wi-fi сохраняются. Платы покупал у одного и того-же продавца, матрицы у разных (но матрица здесь понятное дело не причём). Прошивку заливал 1.5.5. на обе лампы, не модифицировал их. Платы node mcu, куплены по гайверовской ссылке. В чём может быть дело? Прошивка залилась с косяком или память у второй платы глючная?
Вот что написано у Алекса на страничке проекта (которую, впрочем. никто не читает):
Иногда китайцы паяют удешевлённые ESP чипы на плату, возможно вам не повезло с партией. Есть информация, что нужен чип ESP с памятью Winbond
Может быть дело в этом?
Мне на таких (?) платах Wemos D1 mini помогало в настройках компиляции выбирать сборку для платы NodeMCU v1.0
Не знаю почему, но в таком случае настройки сохранялись в EEPROM нормально.
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Вот что написано у Алекса на страничке проекта (которую, впрочем. никто не читает):
Иногда китайцы паяют удешевлённые ESP чипы на плату, возможно вам не повезло с партией. Есть информация, что нужен чип ESP с памятью Winbond
Может быть дело в этом?
Мне на таких (?) платах Wemos D1 mini помогало в настройках компиляции выбирать сборку для платы NodeMCU v1.0
Не знаю почему, но в таком случае настройки сохранялись в EEPROM нормально.
Ща ввип наверно перепаяю матрицу(т.к. разбирать не надо) на ту нод что я фотки выкладывал... и посмотрим... похоже это как раз те ущемлённые платы))) как мне думается там чип как раз от NodeMCU v1.0 по этому и настройки такие....
 
Изменено:

malec

★★★★✩✩✩
5 Фев 2019
680
257
прикинь шняга))))) тут без преобразователя вообще сложно))),
https://drive.google.com/open?id=13HskG3MHHKaJaL6S88rqDIa2gOEkzbiD
https://drive.google.com/open?id=13NST3LIRDehjEhEwI8qiy0aRaccL7HKF
но настройки сохроняются
15:49:17.884 -> Включен эффект 'Пейнтбол'
15:49:20.202 -> Включен эффект 'Полосатые переливы'
15:49:28.594 -> Настройки сохранены в EEPROM
15:49:38.610 -> Включена игра 'Лабиринт'
15:50:08.588 -> Включен эффект 'Звездопад'
15:50:38.611 -> Включен эффект 'Цветной шум'
 

GuAn

✩✩✩✩✩✩✩
1 Дек 2019
17
1
Добрый день. Помогите, пожалуйста, определиться с мощностью блока питания. Собираюсь использовать встроенный, поэтому важен размер. Как ведёт себя лампа с питанием 5V 5A? Кто такой ставил, как стабильность работы, яркость, нагрев матрицы?
По поводу Winbond. Плата от RobotDyn.12-24-57-httprobotdyn.compubmedia0g-00005449wifi-nodem-esp8266-ch340gphotophototop010g-0000544...jpg
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Добрый день. Помогите, пожалуйста, определиться с мощностью блока питания. Собираюсь использовать встроенный, поэтому важен размер. Как ведёт себя лампа с питанием 5V 5A? Кто такой ставил, как стабильность работы, яркость, нагрев матрицы?
По поводу Winbond. Плата от RobotDyn.
вот у меня какая, похоже оно, только названия разные))) так вот , при питании 4,00-4,5 вольта работает вроде адекватно, а вот при превышении 4,5 в начинаются моразмы, видео выше...))) делай вывод, ещё есть варик с преобразователем логического уровня...
 

Вложения

Изменено:

GuAn

✩✩✩✩✩✩✩
1 Дек 2019
17
1
вот у меня какая, похоже оно, только названия разные))) так вот , при питании 4,00-4,5 вольта работает вроде адекватно, а вот при превышении 4,5 в начинаются моразмы))) делай вывод, ещё есть варик с преобразователем логического уровня...
Спасибо за ответ. У роботдин прямо на чипе winbond написано, я на это ориентировался. По напряжению все ясно, не раз ветку лопатил). А вот 5 ампер, будет ли достаточно для энергоёмких режимов? В корзине уже лежит на 10А, но в моём случае размер имеет значение.
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Спасибо за ответ. У роботдин прямо на чипе winbond написано, я на это ориентировался. По напряжению все ясно, не раз ветку лопатил). А вот 5 ампер, будет ли достаточно для энергоёмких режимов? В корзине уже лежит на 10А, но в моём случае размер имеет значение.
вот где-то в этой ветке я даже фотки по потреблению выложил...
https://community.alexgyver.ru/threads/wifi-lampa-budilnik-obsuzhdenie-proekta.1411/post-18635
Да и надо-ли вам заморачиваться с охлаждением матрицы, без хорошего радиатора она не долго проживёт на максимальной яркости...
 
Изменено:

GuAn

✩✩✩✩✩✩✩
1 Дек 2019
17
1
вот где-то в этой ветке я даже фотки по потреблению выложил...
https://community.alexgyver.ru/threads/wifi-lampa-budilnik-obsuzhdenie-proekta.1411/post-18635
Да и надо-ли вам заморачиваться с охлаждением матрицы, без хорошего радиатора она не долго проживёт на максимальной яркости...
Я как-раз и хочу обойтись без охлаждения. Пост видел. Мне кажется там закралась ошибка: если в амерах, то 0.06х256=15.36А, если в ваттах - 0.3х256=76.8Вт.
 

vvip

★★★★✩✩✩
18 Дек 2018
469
206
Я как-раз и хочу обойтись без охлаждения. Пост видел. Мне кажется там закралась ошибка: если в амерах, то 0.06х256=15.36А, если в ваттах - 0.3х256=76.8Вт.
Расчет правильный. Но 77 ватт светодиодного света - это я вам скажу дофига.
Обычные осветительные лампочки - 7-10 ватт...
 
  • Лойс +1
Реакции: Dmitridon244

malec

★★★★✩✩✩
5 Фев 2019
680
257
у меня на работе светильник диодный на 128 ватт , правда он на кри диодах, но светит как 5кВт галагенка....
 

GuAn

✩✩✩✩✩✩✩
1 Дек 2019
17
1
Расчет правильный. Но 77 ватт светодиодного света - это я вам скажу дофига.
Обычные осветительные лампочки - 7-10 ватт...
Полностью согласен. Поэтому и хочу подобрать оптимальный вариант питания по току. Чтобы без зависаний, с приемлемой яркостью без охлаждения и минимально возможным для этого размером блока питания.
 

udavst

✩✩✩✩✩✩✩
3 Ноя 2019
29
2
Я тоже перерабатываю прошивку.
Подскажите, собрал лампу на Вашей прошивке, всё замечательно, но мне надо отправлять по MQTT показания датчика температуры, вставляю в основной файл, в конце, где MQTT код:
C++:
float inhall.temp=bmp085.readTemperature();
mqttClient->publish("ClockLamp/Temp", 1, true, String(inhall.temp));
и компиляция не проходит, хотя если я заменяю String(inhall.temp) на "23.4" - то отправляется. Что нужно поправить? Как бы сделать
C++:
const char *value=bmp085.readTemperature();
mqttClient->publish("ClockLamp/Temp", 1, true, *value);
Знаю, что так нельзя, но как не знаю. В своих программах использовал PubSubClient, он со Strшng работает без вопросов, а с этой библиотекой не представляю как быть.
И ещё, хотелось бы отправки раз в минуту или с какой-то периодичностью, в программе нет места, где код выполняется с какой-то нечастой пкриодичностью, чтоб туда отправку вставить?
 
Изменено:

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Подскажите, собрал лампу на Вашей прошивке, всё замечательно, но мне надо отправлять по MQTT показания датчика температуры, вставляю в основной файл, в конце, где MQTT код:
C++:
float inhall.temp=bmp085.readTemperature();
mqttClient->publish("ClockLamp/Temp", 1, true, String(inhall.temp));
и компиляция не проходит, хотя если я заменяю String(inhall.temp) на "23.4" - то отправляется. Что нужно поправить? Как бы сделать
C++:
const char *value=bmp085.readTemperature();
mqttClient->publish("ClockLamp/Temp", 1, true, *value);
Знаю, что так нельзя, но как не знаю. В своих программах использовал PubSubClient, он со Strшng работает без вопросов, а с этой библиотекой не представляю как быть.
И ещё, хотелось бы отправки раз в минуту или с какой-то периодичностью, в программе нет места, где код выполняется с какой-то нечастой пкриодичностью, чтоб туда отправку вставить?

mqttClient объявлен в приватной области класса MqttManager, он не видим в коде функции loop() основного файла.
Публиковать из loop() можно методом publish() класса MqttManager.
MQTT QoS определён нулём в MqttManager, если вам нужна 1, поменяйте там на:
C++:
static const uint8_t qos = 1U;
MQTT retain уже true.
Вам нужно вызвать что-то вроде этого:
C++:
#ifdef USE_MQTT
MqttManager::publish("topic", "payload");
#endif
Если вам так дороги стринги ;) тогда как-то так:
C++:
#ifdef USE_MQTT
MqttManager::publish(String_переменная_topic.c_str(), String_переменная_payload.c_str());
// или ещё лучше
inhall.temp = bmp085.readTemperature();
char temp_buff[11]; // буфер на 10 символов, хватит на что-то вроде "-123,45 *С"
if (snprintf(temp_buff, sizeof temp_buff, "%f", inhall.temp) >= 0) // если нужно добавить к числу знак градуса, замените "%f" на "%f *C"
{
  MqttManager::publish("ClockLamp/Temp", inhall.temp);
}
#endif
Проверить работоспособность сейчас не могу, но надеюсь, это то, что вам нужно.

Задать периодичность в loop() можно переменной:
C++:
// где-то вверху, рядом с определениями других переменных
uint32_t lastSendMoment = 0U;

...

loop()
{
  ...
  if (lastSendMoment == 0U || millis() - lastSendMoment >= 60U * 1000U) // период = 60 секунд
  {
    lastSendMoment = millis();
    ... // сюда весь код, который нужно выполнять с заданной периодичностью
  }
  ...
}
 
  • Лойс +1
Реакции: udavst

udavst

✩✩✩✩✩✩✩
3 Ноя 2019
29
2
// или ещё лучше
[/CODE]
Это не работает, всё время на float ругается (bmp085.readTemperature() отдаёт её так).

Если вам так дороги стринги ;) тогда как-то так:
C++:
#ifdef USE_MQTT
MqttManager::publish(String_переменная_topic.c_str(), String_переменная_payload.c_str());
Это заработало, спасибо!

Ещё я пробовал в конец parsing добавлять
C++:
void sendMeteo(char *outputBuffer)
{
  sprintf_P(outputBuffer, PSTR("MET %u %u"),
    bmp085.readTemperature(),
    bmp085.readPressure()/133.33);
}
А потом из основного кода вызывать sendMeteo(inputBuffer); , но что-то не сложилось ) Рабочий вариант меня вполне устроил.


Ещё я нашёл у Вас Timer, решил воспользоваться им
C++:
timerMinim metTimer(60000);
C++:
if (metTimer.isReady()) {                                   //каждую минуту ...
   byte light=(analogRead(A0));                              //измеряем яркость в комнате
   byte bright=map(light, 50, 900, 0, 7);
   disp.brightness(bright);                                  //установка яркости дисплея
  #if USE_MQTT
    if (mqttClient->connected())
    {
      String topm = "ClockLamp/Light";               
      String valm = String(light);
      MqttManager::publish(topm.c_str(), valm.c_str());         //отправка освещённости комнаты по MQTT
      topm = "ClockLamp/Temp";                           //топик
      valm = String(bmp085.readTemperature());           //температура с датчика часов
      MqttManager::publish(topm.c_str(), valm.c_str());         //отправка температуры по MQTT
      topm = "ClockLamp/Pres";                   
      valm = String(bmp085.readPressure()/133.33);
      MqttManager::publish(topm.c_str(), valm.c_str());
    }
  #endif
}
 
Изменено:

victory_lad

★✩✩✩✩✩✩
17 Сен 2019
56
22
Ребят, обнаружена магия! Китайцы все продумали😅 В общем, в выключенном состоянии лампы, когда берешься за блок питания, кнопка почему-то думает что она нажалась и лампа включается. На выключение такого эффекта нет. Несколько раз проверял, если водить просто рукой возле выключенной лампы никаких помех нет(кнопка не срабатывает). Срабатывает именно когда берешься за блок. WTF???
Если присмотреться, то на гифке можно увидеть внизу лампы красное свечения от диода на кнопке при касании блока.
Объясните можно ли это как-то исправить? Может проблема в самом блоке?
 

Вложения

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
ОБНОВЛЕНО ПРИЛОЖЕНИЕ
Добавлена возможность поиска нескольких ламп (до 5 штук) и выбора нужной из списка.
Удобно, если несколько ламп или устройств. У меня, например, лампа и к Новому Году сделал декоративный камин (с прошивкой лапы, но матрица не закручена).
К сожалению отображаются только IP адреса ламп. Так что ориентироваться, где какая лампа придется по ним.
Можно подкорректировать код прошивки, чтобы лампе можно было задать имя и она отдавала его при поиске, но это уже нужно лезть в прошивку.
 
Изменено:

udavst

✩✩✩✩✩✩✩
3 Ноя 2019
29
2
Может проблема в самом блоке?
Вероятнее всего, помню ещё на смартфонах с некоторыми блоками тач плохо нажимался, пока блок подключен, замена блока решала проблему. То ли малое ёмкостное сопротивление от сети, то ли очень "фонит", не вдавался.

ОБНОВЛЕНО ПРИЛОЖЕНИЕ
Добавлена возможность поиска нескольких ламп (до 5 штук) и выбора нужной из списка.
А можно сделать настраиваемое расположение эффектов?, а то в прошивке меняю как удобно, а в программе никак. Или может скомпилите, где на первых 3х позициях будут 'белый свет' 'цвет' 'огонь'?, как мне кажется повседневно это самые используемые режимы.

PS ещё регулятор яркости прямой бы.
 
Изменено:

Alex PAP

★✩✩✩✩✩✩
22 Окт 2019
35
21
56
radiokot.ru
@Koteyka, а баг так и остался - при первом запуске программы при включении "цикл" бешено переключаются эффекты
 

somon

★★★✩✩✩✩
20 Авг 2019
140
123
Я как-раз и хочу обойтись без охлаждения. Пост видел. Мне кажется там закралась ошибка: если в амерах, то 0.06х256=15.36А, если в ваттах - 0.3х256=76.8Вт.
В таком случае, больше 3А не стоит на матрицу подавать! Тем более без вентиляции. Яркости при этом более чем достаточно, даже днем. А ночью глаза слепит, убавлять почти в ноль приходится.
Я делал с естественной вентиляцией и программным ограничением 2800мА. И при этом на макс яркости в статическом эффекте или при белом свете, лампа со временем ощутимо греется...
 

awiscan

✩✩✩✩✩✩✩
15 Ноя 2019
51
6
@Koteyka, а баг так и остался - при первом запуске программы при включении "цикл" бешено переключаются эффекты
Было такое. Исправил так - зашел в "Избранное", кратковременно поменял данные в "Интервал" - вместо нуля минут поставил 1 (или 2, 3, 5 и т.д.) мин, либо в "Случайный разброс" вместо 1 мин - также другое значение. Паразитный эффект устранился. Но после выключения лампы из сети и выхода из приложения история повторяется. Прошивка Gunner47, приложение от Koteyka.
 

vitus73

✩✩✩✩✩✩✩
19 Ноя 2019
31
4
Было такое. Исправил так - зашел в "Избранное", кратковременно поменял данные в "Интервал" - вместо нуля минут поставил 1 (или 2, 3, 5 и т.д.) мин, либо в "Случайный разброс" вместо 1 мин - также другое значение. Паразитный эффект устранился. Но после выключения лампы из сети и выхода из приложения история повторяется. Прошивка Gunner47, приложение от Koteyka.
Подтверждаю,так и есть. И ещё после обновления приложение стало вылетать.
 
Изменено:

malec

★★★★✩✩✩
5 Фев 2019
680
257
В таком случае, больше 3А не стоит на матрицу подавать! Тем более без вентиляции. Яркости при этом более чем достаточно, даже днем. А ночью глаза слепит, убавлять почти в ноль приходится.
Я делал с естественной вентиляцией и программным ограничением 2800мА. И при этом на макс яркости в статическом эффекте или при белом свете, лампа со временем ощутимо греется...
ДОбра Господа!!! Короче вчера мучил матрицу с 5в блоком и NodeMCU v1.0, и в процессе вдруг ни с того ни с сего лампа "хрюкнула" в динамики и погасла... Полез во внутрь опять))) и обнаружил что лампа бешено нагрелась, точнее матрица, белым не светила, работала на "водовороте" (больше других прикалывает) подключил юсб, плата и часы заработали, пришлось расковыривать понижающий преобразователь и вот тут то собака и по рылась))) короче XL4015 E аж пузырями покрылась???? подключил к другим 5 вольтам , матрица оказалась рабочей (пронесло пока). но вот по какой причине XL накрылась??? ограничение в скетче по дефолту 5000мА так и оставил, лампа работала на средней яркости т.е. ток по идее не должен был быть большим( не могу сказать т.к. амперметр подключен к матрице, но на матрице в демо режиме больше 1500мА пока не видел...) нет идей почему???
 

Вложения

  • 102.7 KB Просмотры: 48
Изменено: