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

Сотнег

★★★★★★★
15 Янв 2020
4,339
1,492
@tobsik, изначально неправильно повернули матрицу.
Можно в настройках прошивки "повернуть".
 
  • Лойс +1
Реакции: tobsik

valdimarus

✩✩✩✩✩✩✩
9 Мар 2020
1
0
Подскажите, пожалуйста, как отключить светодиоды на NodeMCU (красный и синий) во время простоя?
 

Vadim67

✩✩✩✩✩✩✩
8 Мар 2020
1
0
Камрады, помогите!!
Всё собрал, всё работает!
Не могу подключить лампу к приложению (ios)
Настройку сети сделал ip получил (но строанного вида хх.х.хх.хх (в реале конечно цифры))
Вбиваю его в приложении- нефига 😟 Что не так делаю? Куда копать?
Завтра у ребёнка ДР- хотел подарить.
 

Сотнег

★★★★★★★
15 Янв 2020
4,339
1,492
@Vadim67, приложение умеет работать только с определённой прошивкой. Начните с этого.

Наверное, в описании приложения для iOS указано, с которой.
 
  • Лойс +1
Реакции: tobsik

theDudeii

✩✩✩✩✩✩✩
26 Янв 2020
35
2
хотел сделать от батареек.виснет от 3.5-4в.как только 5 подать попускает.
no hardware SPI pins defined -точного ответа не нашел.вроде ругается бибилиотека.не та плата или порт.
кто нить ответьте,2812 гирлянда вместо 2812фх, будуть вреравно работать,или всюду надо переписать? тоже так не пойдет скетч
 

sergeym11

★★✩✩✩✩✩
23 Янв 2020
90
51
Несколько раз спрашивали про пульт для лампы. Также это может помочь тем у кого айфон или, например, в приложении не будет возможности нормального управления DFPlayer (вкл. / выкл., регулировка уровня звука, выбор файла воспроизведения). DFPlayer у меня установлен, но пока не работает. Получилось подключить пульт. Расскажу подробнее:
1. Я использовал ИК-приемник VS1838B (можно и готовый модуль для Arduino). Пульт мелкий, китайский с али. Подключаем выход ИК- приемника на любой свободный pin кроме GPIO16 (для Wemos кроме D0).
2. Скачать и установить библиотеку IRremote ESP8266 отсюда: https://github.com/crankyoldgit/IRremoteESP8266
3. Добавляем в файл GyverLamp_v1.4.ino:
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>

// ----- настройка ИК пульта
#define REMOTE_TYPE 1 //0 - без пульта, 1 - мой пульт
IRrecv irrecv(IR_PIN);
decode_results results;
uint8_t IR_Key = 0; // +++ глобальная переменная нажатия клавиш на пульте

// ----- КНОПКИ ПУЛЬТА -----
#if REMOTE_TYPE == 1
#define BUTT_UP 0xFF18E7
#define BUTT_DOWN 0xFF4AB5
#define BUTT_LEFT 0xFF10EF
#define BUTT_RIGHT 0xFF5AA5
#define BUTT_OK 0xFF38C7
#define BUTT_1 0xFFA25D
#define BUTT_2 0xFF629D
#define BUTT_3 0xFFE21D
#define BUTT_4 0xFF22DD
#define BUTT_5 0xFF02FD
#define BUTT_6 0xFFC23D
#define BUTT_7 0xFFE01F
#define BUTT_8 0xFFA857
#define BUTT_9 0xFF906F
#define BUTT_0 0xFF9867
#define BUTT_STAR 0xFF6897 // *
#define BUTT_HASH 0xFFB04F // #
#endif

В void setup() добавляем строку
irrecv.enableIRIn(); // Запуск ИК приемника

В void loop() добавляем строки:
if (irrecv.decode(&results)) {
serialPrintUint64(results.value, HEX); // вывод кодов клавиш в serial
uint32_t low = results.value;
LOG.print(F(" Код = ")); LOG.print(low, HEX); // вывод кодов клавиш в telnet
#if REMOTE_TYPE == 1
remoteTick(); // опрос ИК пульта
#endif
irrecv.resume(); // Готов принимать следующие коды
Коды клавиш у вас будут свои, нужно смотреть в serial или telnet поочередно нажимая каждую клавишу, на это время закомментируйте в void loop() строку remoteTick();

В файл Constants.h строку:
#define IR_PIN (14U) // +++ пин ИК приёмника D5
У меня на Wemos подключен на D5 (GPIO14).

В файл time.ino (можно в другой) вставляем функцию:
void remoteTick() {
switch (results.value) {
case BUTT_1: IR_Key = 1;
break;
case BUTT_2: IR_Key = 2;
break;
case BUTT_3:
break;
case BUTT_4:
break;
case BUTT_5:
break;
case BUTT_6:
break;
case BUTT_7:
break;
case BUTT_8:
break;
case BUTT_9:
break;
case BUTT_0:
break;
case BUTT_STAR:
break;
case BUTT_HASH:
break;
case BUTT_OK:
break;
case BUTT_UP:
break;
case BUTT_DOWN:
break;
case BUTT_LEFT:
break;
case BUTT_RIGHT:
break;
default: // если не распознали кнопку, выход из функции!
break;
}
}
Здесь я взял (для примера) 2 клавиши пульта: клавиша «1» дублирует однократное нажатие на сенсорную кнопку, а клавиша «2» дублирует двукратное нажатие.

В файле button.ino:
находим блок для однократного нажатия, заменяем строку
if (clickCount == 1U)
на
if (clickCount == 1U || IR_Key == 1)
и добавляем строку перед закрытием блока if
IR_Key = 0;
должно получиться так:
// однократное нажатие
if (clickCount == 1U || IR_Key == 1)
{
if (dawnFlag)
{
manualOff = true;
dawnFlag = false;
FastLED.setBrightness(modes[currentMode].Brightness);
changePower();
}
else
{
ONflag = !ONflag;
changePower();
}
settChanged = true;
eepromTimeout = millis();
loadingFlag = true;

#if (USE_MQTT)
if (espMode == 1U)
{
MqttManager::needToPublish = true;
}
#endif
IR_Key = 0;
}
находим блок для двукратного нажатия, заменяем строку
if (ONflag && clickCount == 2U)
на
if ((ONflag && clickCount == 2U) || (ONflag && IR_Key == 2))
и добавляем строку перед закрытием блока if
IR_Key = 0;
должно получиться так:
// двухкратное нажатие
if ((ONflag && clickCount == 2U) || (ONflag && IR_Key == 2))
{
if (++currentMode >= (int8_t)MODE_AMOUNT) currentMode = 0;
FastLED.setBrightness(modes[currentMode].Brightness);
loadingFlag = true;
settChanged = true;
eepromTimeout = millis();
FastLED.clear();
delay(1);

#if (USE_MQTT)
if (espMode == 1U)
{
MqttManager::needToPublish = true;
}
#endif
IR_Key = 0;
}
Далее по аналогии назначаете остальные кнопки на разные события.
PS. Используйте только библиотеку которую указал выше, т. к. с другими библиотеками для arduino могуль уходил в постоянную перезагрузку при старте, причем при подключении на любой pin.
 

Rampart

★✩✩✩✩✩✩
15 Дек 2019
12
10
Всем привет! Сегодня пришли все ингредиенты для лампы! решил проверить все спаял подключил огонь горит только на полтора ряда!
Подскажите пожалуйста куда копать в чем проблема!? За ранее спасибо!
вероятно нарушена связь между последним горящим и первым не горящим светодиодом.. проверьте, может непропай. либо свтодиод (первый который не горит) - дефектен. попробуйте выпаять и заменить на светодиод с хвоста матрицы
 

Dr_Off

✩✩✩✩✩✩✩
4 Дек 2019
75
4
Подойдет ли для этого проекта NodeMcu V3 с WI-FI ESP8266 с установленным модулем ESP-12F вместо используемого в проекте NodeMcu V1.0 ESP-12E?
 
Изменено:

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Подойдет ли для этого проекта NodeMcu V3 с WI-FI ESP8266 с установленным модулем ESP-12F вместо используемого в проекте NodeMcu V1.0 ESP-12E?
Что значит вместо? Она отличается лишь чипом 12Е против 12F. Для лампы эти отличия не имеют значения от слова - совсем.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Всем привет!
В продолжении моего вопроса "не могу подключить ESP с прошивкой от gunner47 к локальной сети" с подсказки Serge55 (за что ему Спасибо!) почистил флеш через Erase Flash в arduino IDE, потом залил версию 1.4. Менеджер сети отобразился в телефоне, настроил свою сеть, в приложении видится.
Читал бы внимательнее Гайвера, давно бы уже сделал. Это всё равно что научился ездить по указке жезла от ГАИШНИКА, а не инструктора по вождению.
 

Dr_Off

✩✩✩✩✩✩✩
4 Дек 2019
75
4
@George, так в проекте написано NodeMcu v.1.0, а у меня есть в наличии v.3. Тоже без разницы? Подойдёт?
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
@George, так в проекте написано NodeMcu v.1.0, а у меня есть в наличии v.3. Тоже без разницы? Подойдёт?
Чем новее, тем лучше, неужели это непонятно? А в проекте ещё написано, чтоб не использовать esp-32, иначе это гемор, а на сегодня - всё наоборот! А ещё в картинках Алекса - режим прошивки ScethOnly, соблюдение чего вызывает у многих настоящий головняк и трёхдневный танец с бубном!
 
  • Лойс +1
Реакции: Dr_Off

George

★★✩✩✩✩✩
25 Дек 2019
372
58
хотел сделать от батареек.виснет от 3.5-4в.как только 5 подать попускает.
no hardware SPI pins defined -точного ответа не нашел.вроде ругается бибилиотека.не та плата или порт.
кто нить ответьте,2812 гирлянда вместо 2812фх, будуть вреравно работать,или всюду надо переписать? тоже так не пойдет скетч
Преобразователь надо ставить на 5 Вольт. Если матрица 16*16 - это как резервное питание, а на постоянку - не вариант. Малое время работы.
Переписывать ничего не надо.
 
  • Лойс +1
Реакции: theDudeii

Harbinger_13089

✩✩✩✩✩✩✩
11 Мар 2020
3
0
Прошу помощи. Лампа перестала подключаться к приложению GyverLamp. В строке ответ в приложении пишется DEB. В чем может быть проблема?
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Прошу помощи. Лампа перестала подключаться к приложению GyverLamp. В строке ответ в приложении пишется DEB. В чем может быть проблема?
Причина может быть как аппаратной, так и программной. Перегрев, обрыв, переполнение памяти...,
включил мобильный интернет!
С кнопки лампа управляется?
Сеть удалить и подключить по новой.
 

Harbinger_13089

✩✩✩✩✩✩✩
11 Мар 2020
3
0
Разобрался. Лампа почему то сменила свой ip адрес в сети. Через веб-интерфейс роутера в списке устройств нашел новый адрес.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Разобрался. Лампа почему то сменила свой ip адрес в сети. Через веб-интерфейс роутера в списке устройств нашел новый адрес.
А вот и не так! Это роутер выдал другой айпи для лампы. У него на это были причины, о которых можно лишь догадываться. Если бы лампа сама себе выбирала айпишник, можно было половину скетча выкинуть.
 

MadGrizly

✩✩✩✩✩✩✩
22 Фев 2020
15
8
Собрал лампу на NodeMCU. При включении на контроллере горит только один диод, дальний от USB, на матрице - рандомные пиксели.
Выключаю, отсоединяю провод на DIN матрицы, включаю - на контроллере светятся оба диода. Не выключая, соединяю DIN - всё работает.
В чём может быть причина?
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Собрал лампу на NodeMCU. При включении на контроллере горит только один диод, дальний от USB, на матрице - рандомные пиксели.
Выключаю, отсоединяю провод на DIN матрицы, включаю - на контроллере светятся оба диода. Не выключая, соединяю DIN - всё работает.
В чём может быть причина?
mcu.png
Оба светодиода работают в «инвертированном» режиме с учетом уровней выводов - когда 1, светодиод выключен; когда 0, светодиод включен. Светодиод горит GPIO2 во время программирования ESP, так как он подключен к U1TXD контакту.
 

MadGrizly

✩✩✩✩✩✩✩
22 Фев 2020
15
8
@George, Спасибо! Но я так и не понял в чём проблема. Если DIN матрицы при включении подсоединён, то не запускается, но если подключить DIN после включения - всё работает. Никак не пойму. Прошу помощи.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
@MadGrizly, к какому пину у вас матрица подключена? И какому gpio он соответствует, исходя из схемы вашего nodMCU?
Дело в том, что у esp8266 часто выведены ноги, которые не стоило бы выводить вообще. А так же такие ноги, которые для нормального старта модуля должны иметь строго конкретное состояние, high или low, во время старта. Тут человек с кнопкой похожую проблему имел, оказалось он ее на gpio00 повесил, - разобрались.
Итак, потрудитесь посмотреть - какому gpio соответствует пин модуля, на который вы матрицу повесили. Или просто попробуйте поменять пин в скетче на рядом стоящий и перепаять на него вход матрицы.
 
Изменено:

George

★★✩✩✩✩✩
25 Дек 2019
372
58
@George, Спасибо! Но я так и не понял в чём проблема. Если DIN матрицы при включении подсоединён, то не запускается, но если подключить DIN после включения - всё работает. Никак не пойму. Прошу помощи.
Играться DIN входом - плохая затея.
Проблема в том, что GPIO2 используется для программирования, если при подаче питания на нём лог. 0.
Почему там ноль? Там либо кнопка включена, либо на матрице что-то. Брак при монтаже.
Чтоб не разбираться, перепаивайте кнопку и матрицу на соседние выводы, например, D6, D7, меняйте соответственно в скетче и перепрошивайте.
 

MadGrizly

✩✩✩✩✩✩✩
22 Фев 2020
15
8
@kostyamat, @George, матрица была подключена к пину D4 (GPIO2), поменял на D6(GPIO12 ), в скетче тоже поменял, прошил - результат тот же.