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
459
204
Ну тогда нужно обязательно к схеме добавлять Datasheet платы с распиновкой выводов, дабы не путать пользователя. Львиная доля их далека от глубоких познаний электроники.
И еще. Вариантов распиновки NodeMCU V3 только я встречал 3 разных. Так что вязаться к GPIO и прочим сигналам тоже не выход.
Например, на моей плате нет входа UIN, а только VIN, хотя на многих он есть
У FastLED свое собственное мнение на ваши указатели. Она по выбранной плате автоматически выбирает какой пин назначить.
Выберешь GPIO2 -> 2 или D4 -- на NodeMCU это попадет на пин D2, на вемосе - на D4
 

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
208
Пытался разобраться с причиной ошибки с неправильным временем. Нашёл необъяснимое. Кто сможет постичь и осознать, отпишитесь, плз.
Непосредственная причина - ошибка в библиотеке NTP Client. Однако, ошибка известная и не новая, была исправлена 12 января, а найдена и того раньше. Однако я не обнаружил этого исправления в копии этой библиотеки у себя на диске. Библиотеку ставил через менджер библиотек Arduino IDE. Для чистоты эксперимента снёс Arduino IDE и поставил заново. Ещё раз скачал эту библиотеку через менеджер. В файле её свойств видно версию 3.2.0 и даже ссылку на гитхаб - https://github.com/arduino-libraries/NTPClient. Если открыть эту ссылку в браузере, действительно попадаем на эту библиотеку той же версии 3.2.0, которая (версия 3.2.0) была залита 18 сентября. Вот только код основного файла библиотеки содержит 7 отличий по сравнению с тем же файлом, скачанным менеджером библиотек Arduino IDE как бы из того же источника. В том числе и необходимое нам исправление ошибки. Пока не вижу этому объяснений.
Скачал руками с гитхаба, залил в тестовый модуль - пока ошибка не воспроизвелась. Тестирую дальше.
Отсюда выводы:
  1. Ошибка может воспроизвестись у тех, кто скачал библиотеку через менеджер библиотек Arduino IDE или взял из архива с прошивкой. Проявится во всех проектах, где после успешной синхронизации была неуспешная.
  2. Ошибка исправляется путём скачивания библиотеки руками с гитхаба (или из архива с прошивкой, я перезалил), её переустановкой и препрошивкой модуля esp.
Попутно обновил все другие библиотеки в архиве с прошивкой.
Сентябрьский релиз 3.2.0 сделан на основе коммита от июля 2018, поэтому там нет исправления для этого бага (от января 2019)
https://github.com/arduino-libraries/NTPClient/commits/3.2.0
Почему они в сентябре 2019 года сделали релиз на основе кода июля 2018... хрен знает.
 

Adrey

✩✩✩✩✩✩✩
22 Окт 2019
19
6
Подскажите пожалуйста по поводу цветов. Прошивка 1.5.5 от AlexGyver. Я добился, чтобы огонь был настоящим как на видео. Перебрал все, идеально для огня оказался -
#define COLOR_ORDER BGR
Огонь теперь начинается с оранжевого. При RGB светло розовый.
Но, эффект матрицы почему-то отображается красным, а не зеленым цветом. Подскажите куда копать? Сверил эффекты в прошивке этой с gunner47. Один в один. Ну кроме U(как я понимаю это для того, чтобы не задать минусовое значение).
Хочется чтобы матрица была зеленая.
Вот эффект из прошивки:
// ------------------------------ МАТРИЦА ------------------------------
void matrixRoutine() {
for (byte x = 0; x < WIDTH; x++) {
// заполняем случайно верхнюю строку
uint32_t thisColor = getPixColorXY(x, HEIGHT - 1);
if (thisColor == 0)
drawPixelXY(x, HEIGHT - 1, 0x00FF00 * (random(0, modes[16].scale) == 0));
else if (thisColor < 0x002000)
drawPixelXY(x, HEIGHT - 1, 0);
else
drawPixelXY(x, HEIGHT - 1, thisColor - 0x002000);
}

// сдвигаем всё вниз
for (byte x = 0; x < WIDTH; x++) {
for (byte y = 0; y < HEIGHT - 1; y++) {
drawPixelXY(x, y, getPixColorXY(x, y + 1));
}
}
}
 

vvip

★★★★✩✩✩
18 Дек 2018
459
204
Подскажите пожалуйста по поводу цветов. Прошивка 1.5.5 от AlexGyver. Я добился, чтобы огонь был настоящим как на видео. Перебрал все, идеально для огня оказался -
#define COLOR_ORDER BGR
Огонь теперь начинается с оранжевого. При RGB светло розовый.
Но, эффект матрицы почему-то отображается красным, а не зеленым цветом. Подскажите куда копать? Сверил эффекты в прошивке этой с gunner47. Один в один. Ну кроме U(как я понимаю это для того, чтобы не задать минусовое значение).
Хочется чтобы матрица была зеленая.
Вот эффект из прошивки:
// ------------------------------ МАТРИЦА ------------------------------
void matrixRoutine() {
for (byte x = 0; x < WIDTH; x++) {
// заполняем случайно верхнюю строку
uint32_t thisColor = getPixColorXY(x, HEIGHT - 1);
if (thisColor == 0)
drawPixelXY(x, HEIGHT - 1, 0x00FF00 * (random(0, modes[16].scale) == 0));
else if (thisColor < 0x002000)
drawPixelXY(x, HEIGHT - 1, 0);
else
drawPixelXY(x, HEIGHT - 1, thisColor - 0x002000);
}

// сдвигаем всё вниз
for (byte x = 0; x < WIDTH; x++) {
for (byte y = 0; y < HEIGHT - 1; y++) {
drawPixelXY(x, y, getPixColorXY(x, y + 1));
}
}
}
Класс, вместо того, чтобы отрегулировать цвет одного эффекта, взял чохом переопределил тип ленты на другой, меняя все цвета везде, а потом удивляется, что эффект Матрица у него красным...
 

Adrey

✩✩✩✩✩✩✩
22 Окт 2019
19
6
Класс, вместо того, чтобы отрегулировать цвет одного эффекта, взял чохом переопределил тип ленты на другой, меняя все цвета везде, а потом удивляется, что эффект Матрица у него красным...
так там же в описании сказано найти свои цвета. Я ориентировался по огню.
Когда ставлю RGB - Матрица зелёная, но эффект огонь с розового начинается. Лава зелёная. Т.е. в пару эффектах я заметил несостыковку. Поэтому решил искать. Нашёл BGR - Лава теперь с красно-оранжевая, огонь нормальный.
Как раз в Огне и заложено, что 0 это RED. Т.е. я нашёл всё верно. Получается мне нужно исправить цвет в матрице.
 

Adrey

✩✩✩✩✩✩✩
22 Окт 2019
19
6
так там же в описании сказано найти свои цвета. Я ориентировался по огню.
Когда ставлю RGB - Матрица зелёная, но эффект огонь с розового начинается. Лава зелёная. Т.е. в пару эффектах я заметил несостыковку. Поэтому решил искать. Нашёл BGR - Лава теперь с красно-оранжевая, огонь нормальный.
Как раз в Огне и заложено, что 0 это RED. Т.е. я нашёл всё верно. Получается мне нужно исправить цвет в матрице.
Вот часть из огня, нижняя часть:
//should be between 0 (red) to about 25 (yellow)
const unsigned char hueMask[8][16] PROGMEM = {
{1 , 11, 19, 25, 25, 22, 11, 1 , 1 , 11, 19, 25, 25, 22, 11, 1 },
{1 , 8 , 13, 19, 25, 19, 8 , 1 , 1 , 8 , 13, 19, 25, 19, 8 , 1 },
{1 , 8 , 13, 16, 19, 16, 8 , 1 , 1 , 8 , 13, 16, 19, 16, 8 , 1 },
{1 , 5 , 11, 13, 13, 13, 5 , 1 , 1 , 5 , 11, 13, 13, 13, 5 , 1 },
{1 , 5 , 11, 11, 11, 11, 5 , 1 , 1 , 5 , 11, 11, 11, 11, 5 , 1 },
{0 , 1 , 5 , 8 , 8 , 5 , 1 , 0 , 0 , 1 , 5 , 8 , 8 , 5 , 1 , 0 },
{0 , 0 , 1 , 5 , 5 , 1 , 0 , 0 , 0 , 0 , 1 , 5 , 5 , 1 , 0 , 0 },
{0 , 0 , 0 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , 0 , 0 }
};

Тут как раз 0 это RED. 25 Yellow.
 

Adrey

✩✩✩✩✩✩✩
22 Окт 2019
19
6
Класс, вместо того, чтобы отрегулировать цвет одного эффекта, взял чохом переопределил тип ленты на другой, меняя все цвета везде, а потом удивляется, что эффект Матрица у него красным...
Подскажите пожалуйста как отрегулировать его в матрице. Спасибо. Пока не догадался. Буду очень рад Вашей помощи, я новичок в этом деле, прошу не ругаться, делаю что понимаю...
Или подскажите, что я сделал не так? Зачем сразу так)) Т.е. переопределять не нужно было?А как тогда отталкиваться и регилировать? Может вообще во всех прошивках эффекты взяты из разных типов ленты, и поэтому немного разняться?
 
Изменено:

vvip

★★★★✩✩✩
18 Дек 2018
459
204
Подскажите пожалуйста как отрегулировать его в матрице. Спасибо. Пока не догадался. Буду очень рад Вашей помощи, я новичок в этом деле, прошу не ругаться, делаю что понимаю...
Или подскажите, что я сделал не так? Зачем сразу так)) Т.е. переопределять не нужно было?А как тогда отталкиваться и регилировать? Может вообще во всех прошивках эффекты взяты из разных типов ленты, и поэтому немного разняться?
А разве в эффектах (в т.ч и в эффекте огня) цвет огня не регулируется ползунком "Масштаб" в приложении?
Там же можно хоть синим огонь сделать...
 

vvip

★★★★✩✩✩
18 Дек 2018
459
204
Вот часть из огня, нижняя часть:
//should be between 0 (red) to about 25 (yellow)
const unsigned char hueMask[8][16] PROGMEM = {
{1 , 11, 19, 25, 25, 22, 11, 1 , 1 , 11, 19, 25, 25, 22, 11, 1 },
{1 , 8 , 13, 19, 25, 19, 8 , 1 , 1 , 8 , 13, 19, 25, 19, 8 , 1 },
{1 , 8 , 13, 16, 19, 16, 8 , 1 , 1 , 8 , 13, 16, 19, 16, 8 , 1 },
{1 , 5 , 11, 13, 13, 13, 5 , 1 , 1 , 5 , 11, 13, 13, 13, 5 , 1 },
{1 , 5 , 11, 11, 11, 11, 5 , 1 , 1 , 5 , 11, 11, 11, 11, 5 , 1 },
{0 , 1 , 5 , 8 , 8 , 5 , 1 , 0 , 0 , 1 , 5 , 8 , 8 , 5 , 1 , 0 },
{0 , 0 , 1 , 5 , 5 , 1 , 0 , 0 , 0 , 0 , 1 , 5 , 5 , 1 , 0 , 0 },
{0 , 0 , 0 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , 0 , 0 }
};

Тут как раз 0 это RED. 25 Yellow.
Смотри процедуру drawFrame(). Ищи код, похожий на фрагмент. Там цвет пикселя определяется как
C++:
        CRGB color = CHSV(
          isColored ? modes[EFF_FIRE].Scale * 2.5 + pgm_read_byte(&hueMask[y][newX]) : 0U,     // H
          isColored ? 255U : 0U,                                                               // S
          (uint8_t)max(0, nextv)                                                               // V
Подбирай тут свой коэффициент для сдвига цвета вместо (modes[EFF_FIRE].Scale * 2.5), если не хочешь использовать регулировку цвета эффекта из приложения
 
  • Лойс +1
Реакции: malec

Adrey

✩✩✩✩✩✩✩
22 Окт 2019
19
6
А разве в эффектах (в т.ч и в эффекте огня) цвет огня не регулируется ползунком "Масштаб" в приложении?
Там же можно хоть синим огонь сделать...
Меняется, но сначала он должен быть же ка в видео, красным, вниз-центр оранжевым. Меняется, это если играться с ним. Я хотел, чтобы сразу был нужный без настройки. Так как после сброса нужны нормальные цвета.
 

Adrey

✩✩✩✩✩✩✩
22 Окт 2019
19
6
Смотри процедуру drawFrame(). Ищи код, похожий на фрагмент. Там цвет пикселя определяется как
C++:
        CRGB color = CHSV(
          isColored ? modes[EFF_FIRE].Scale * 2.5 + pgm_read_byte(&hueMask[y][newX]) : 0U,     // H
          isColored ? 255U : 0U,                                                               // S
          (uint8_t)max(0, nextv)                                                               // V
Подбирай тут свой коэффициент для сдвига цвета вместо (modes[EFF_FIRE].Scale * 2.5), если не хочешь использовать регулировку цвета эффекта из приложения
Я хочу в эффекте матрицы поменять цвет. В общем я сейчас собираю эффекты из 1.5.5 gunner47 и vvip. Буду изучать как вставить правильный цвет зеленый, если подскажите, буду рад.
 

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
208
Меняется, но сначала он должен быть же ка в видео, красным, вниз-центр оранжевым. Меняется, это если играться с ним. Я хотел, чтобы сразу был нужный без настройки. Так как после сброса нужны нормальные цвета.
Один раз настрой цвет через приложение, он запишется в EEPROM, и дальше при включении/сбросе будет таким же.
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Один раз настрой цвет через приложение, он запишется в EEPROM, и дальше при включении/сбросе будет таким же.
так точно, пока не прошьёш со сбросом всех настроек и чисткой флеш))) к стати из за не сброса настроек при прошивке вылазят косяки пред идущей прошивки...
 

vvip

★★★★✩✩✩
18 Дек 2018
459
204
Один раз настрой цвет через приложение, он запишется в EEPROM, и дальше при включении/сбросе будет таким же.
Один раз подбери коэффициент, чтоб выглядел как нужно, потом при первичной инициализации EEPROM пиши сразу в modes[EFF_FIRE].Scale нужное число, чтобы и после полной перепрошивки / перезагрузке сразу нужное значение запоминалось / устанавливалось.
 

vvip

★★★★✩✩✩
18 Дек 2018
459
204
так точно, пока не прошьёш со сбросом всех настроек и чисткой флеш))) к стати из за не сброса настроек при прошивке вылазят косяки пред идущей прошивки...
С чего бы это, если карта ячеек EEPROM не менялась? А меняется она редко, только если в прошивке какие-то глобальные переделки.
 

Adrey

✩✩✩✩✩✩✩
22 Окт 2019
19
6
@Александр Симонов, @malec, @vvip, Спасибо большое! Не думал об этом. Тогда можно смело настраивать. Сейчас только с эффектами закончу, будет их оч. много, надеюсь из-за этого не будет проблем.
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
@vvip, последняя прошивка без глюков уже вторые сутки на столе))) можешь релиз делать))), а я лампу финализировать буду)))
 

vvip

★★★★✩✩✩
18 Дек 2018
459
204
@Александр Симонов, @malec, @vvip, Спасибо большое! Не думал об этом. Тогда можно смело настраивать. Сейчас только с эффектами закончу, будет их оч. много, надеюсь из-за этого не будет проблем.
А ты память то под хранение настроек новых эффектов в EEPROM выделил? Про этот кусок не забыл?
 

vvip

★★★★✩✩✩
18 Дек 2018
459
204
@vvip, последняя прошивка без глюков уже вторые сутки на столе))) можешь релиз делать))), а я лампу финализировать буду)))
Давай тогда за матрицу (рюкзак) берись :) Ты пока самый эффективный и въедливый тестер. Выражаю благодарность!
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
С чего бы это, если карта ячеек EEPROM не менялась? А меняется она редко, только если в прошивке какие-то глобальные переделки.
это ты про #define EEPROM_OK 0xFF Изменение численного множителя?
Один раз подбери коэффициент
--Это в скетче или с приложения? было с приложения настроишь, и что-нибудь в скетче изменишь и при перепрошивке все настройки эффектов остаются как до прошивки...
 

vvip

★★★★✩✩✩
18 Дек 2018
459
204
это ты про #define EEPROM_OK 0xFF Изменение численного множителя?

--Это в скетче или с приложения? было с приложения настроишь, и что-нибудь в скетче изменишь и при перепрошивке все настройки эффектов остаются как до прошивки...
Ну если EEPROM_OK не трогал и прошивал OnlySketch без стирания всей память - настройки и останутся нетронутыми.Но товарищу надо опытным путем найти коэф-т в modes[EFF_FIRE].Scale и в скетче при инициализации EEPROM - это тот самый случай, когда помtнялся EEPROM_OK - прописать этот коэф-т в ячейку modes[EFF_FIRE].Scale; Но это мы с тобой говорим в контексте / понятиях прошивки vvip. У Gunner47 там немного по другому вроде устроено.
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
@vvip, к стати в приложении у меня не все быстрые режимы в выделенную строку влазят, ночные часы и часы с датой очень трудно включить,самый краешек видно и попасть в них трудно...
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Читал, читал. Но не спорю.
Если бы было так логично как вы говорите, то на 3-х амепрных БП все бы летало, а на 1А нет. Ситуация как раз обратная. Земли микроконтроллера и матрицы соединены, питание разведено.
Кроме того, от одного и того же БП 2 ленты вели себя по разному, а матрица от раза к разу включалась.
Буду пробовать с другим БП,
очень долго экспериментировал с разными блоками, ( на самодельном лабораторнике первые результативные тесты) на многих китайских блоках всё очень не стабильно... К примеру один вариант был на блоке 3а, нагрузочным тестером было выяснено, что при нагрузке до двух ампер напряжение на нагрузке было 5,45-5, 25 что очень много для матрицы, вылазили всякие не запрограммированные вспышки (артефакты), а вот при большей нагрузке напряжение менялось обратно пропорционально и падало до 3,5 в и блок уходил в защиту...этими вариантами нормальной стабилизации добиться не мог, поступил логично ... взял блок питания на 12в 3а поставил понижающий преобразователь на XL4015, он до 5а ращитан выставил напряжение 4,75в и впаял кандёр на 4700мКф... всё стабильно и благодаря преобразователю на XL4015 я могу питать своё изделие любым блоком от 9в до 30в способных отдать до 2,5 ампер. На тестах при максимальной яркости белой лампы и с ограничением тока в 5000 мА на 12в блоке ток поднимался до1,8а не более... ВЫВОД---- думайте решение всегда есть)))
 
  • Лойс +1
Реакции: Frolv