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

serg167

✩✩✩✩✩✩✩
10 Окт 2019
21
7
Мне понравился Костер, собственно 80 проц. Использовал пламя, теперь вот костер - ещё лучше.. смерч - так себе, в основном за счёт наложения одного эффекта на другой получается много, ах да - часы!
Так вы нашу прошивку даже не видели, вам не с чем сравнивать :)
Вашу можно прошить Флэш тулом, ничего не перепаивая? Если да - попробую
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Вашу можно прошить Флэш тулом, ничего не перепаивая? Если да - попробую
Я честно говоря не помню под какой пин матрицы собраны бинарники. Пин кнопки/пины плеера можно переназначить и в пре-собранном бинарнике. Но собственно дальнейшее обсуждение лучше в профильной теме.
 

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
43
10
Всем привет! Решил собрать себе "любимые" эффекты с разных прошивок в одну. Буду использовать 85в1. Я так понял что заменять нужно в Constants.h и effectTicker ?
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@Dhorohiy, никак.
Каждый эффект приходится переписывать с пониманием программного кода.

Что за эффекты вы добавить хотели?
И на каких настройках он вам нравится (каждый из).
 

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
43
10
@Dhorohiy, никак.
Каждый эффект приходится переписывать с пониманием программного кода.

Что за эффекты вы добавить хотели?
И на каких настройках он вам нравится (каждый из).
Ну к примеру с 85 в 1 убрать 1(цвет);18(тихий океан);28(метаболз); 30(жидкая лампа. И вместо них поставить с 86в1 30(северное сияние);31(плазменная лампа); 43(магма); 70( цветное драже)
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@Dhorohiy, удалять можно без сложностей. Только эффект Матрица не удаляйте.

Местами менять - тоже можно почти свободно. Эффектов три группы (от начала до Океана, от Мячиков до Капель на стекле, от Матрицы до конца). Из группы в группу не двигайте их.

Для того и для этого есть эксель-табличка со списком эффектов - она сама номера расставляет.


Но вы ведь, вроде, хотели из других прошивок чего-то брать. Это сложно.
Я не понял, зачем из 85 что-то удалять и из 86 что-то брать, если это одна и та же прошивка.
 

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
43
10
в Constants.h заменяю
// --- ЭФФЕКТЫ -------------------------
#define EFF_COLOR ( 1U) // Цвeт на
#define EFF_AURORA (1U) // Ceвepнoe cияниe
// ================ РЕЕСТР ДОСТУПНЫХ ЭФФЕКТОВ ===================
String("1. Цвeт,1,255,1,100,1;") + на
String("1. Ceвepнoe cияниe,1,255,1,100,1;") +
============= МАССИВ НАСТРОЕК ЭФФЕКТОВ ПО УМОЛЧАНИЮ ===================
{ 9, 180, 99}, // Цвeт на
{ 12, 73, 38}, // Ceвepнoe cияниe

в effectTicker заменяю
case EFF_COLOR: colorRoutine(); break; // ( 1U) Цвeт на
case EFF_AURORA: polarRoutine(); break; // (1U) Ceвepнoe cияниe
и в effect заменяю

// ------------- цвет ------------------
void colorRoutine()
{
if (loadingFlag)
{
#ifdef RANDOM_SETTINGS_IN_CYCLE_MODE
if (selectedSettings){
setModeSettings(1U+random8(100U), 96U+random8(160));
}
#endif //RANDOM_SETTINGS_IN_CYCLE_MODE

loadingFlag = false;
//FastLED.clear(); нафига тут это было?!

//for (int16_t i = 0U; i < NUM_LEDS; i++)
// leds = CHSV(modes[currentMode].Scale * 2.55, modes[currentMode].Speed, 255U);
fillAll(CHSV(modes[currentMode].Scale * 2.55, modes[currentMode].Speed, 255U));
}
} на

// --------- Эффект "Северное Сияние"
// (c) kostyamat 05.02.2021
// идеи подсмотрены тут https://www.reddit.com/r/FastLED/comments/jyly1e // особая благодарность https://www.reddit.com/user/ldirko/ Yaroslaw Turbin aka ldirko

// вместо набора палитр в оригинальном эффекте сделан генератор палитр
#define AURORA_COLOR_RANGE 10 // (+/-10 единиц оттенка) диапазон, в котором плавает цвет сияния относительно выбранного оттенка
#define AURORA_COLOR_PERIOD 2 // (2 раза в минуту) частота, с которой происходит колебание выбранного оттенка в разрешённом диапазоне

// генератор палитр для Северного сияния (c) SottNick
static const uint8_t MBAuroraColors_arr[5][4] PROGMEM = // палитра в формате CHSV
{//№, цвет, насыщенность, яркость
{0 , 0 , 255, 0},// black
{80 , 0 , 255, 255},
{130, 25, 220, 255},
{180, 25, 185, 255},
{255, 25, 155, 255} //245
};
/*
{
{0 , 0 , 255, 0},// black
{60 , 1 , 255, 222},
{80 , 1 , 210, 255},
{180, 11, 175, 255},
{255, 11 ,135, 255} //245
};
*/
//CRGBPalette16 myPal; уже есть эта переменная в эффекте Жидкая лампа

void fillMyPal16_2(uint8_t hue, bool isInvert = false){
// я бы, конечно, вместо копии функции генерации палитры "_2"
// лучше бы сделал её параметром указатель на массив с базовой палитрой,
// но я пониятия не имею, как это делается с грёбаным PROGMEM

int8_t lastSlotUsed = -1;
uint8_t istart8, iend8;
CRGB rgbstart, rgbend;

// начинаем с нуля
if (isInvert)
//с неявным преобразованием оттенков цвета получаются, как в фотошопе, но для данного эффекта не красиво выглядят
//rgbstart = CHSV(256 + hue - pgm_read_byte(&MBAuroraColors_arr[0][1]), pgm_read_byte(&MBAuroraColors_arr[0][2]), pgm_read_byte(&MBAuroraColors_arr[0][3])); // начальная строчка палитры с инверсией
hsv2rgb_spectrum(CHSV(256 + hue - pgm_read_byte(&MBAuroraColors_arr[0][1]), pgm_read_byte(&MBAuroraColors_arr[0][2]), pgm_read_byte(&MBAuroraColors_arr[0][3])), rgbstart);
else
//rgbstart = CHSV(hue + pgm_read_byte(&MBAuroraColors_arr[0][1]), pgm_read_byte(&MBAuroraColors_arr[0][2]), pgm_read_byte(&MBAuroraColors_arr[0][3])); // начальная строчка палитры
hsv2rgb_spectrum(CHSV(hue + pgm_read_byte(&MBAuroraColors_arr[0][1]), pgm_read_byte(&MBAuroraColors_arr[0][2]), pgm_read_byte(&MBAuroraColors_arr[0][3])), rgbstart);
int indexstart = 0; // начальный индекс палитры
for (uint8_t i = 1U; i < 5U; i++) { // в палитре @obliterator всего 5 строчек
int indexend = pgm_read_byte(&MBAuroraColors_arr[0]);
if (isInvert)
hsv2rgb_spectrum(CHSV(hue + pgm_read_byte(&MBAuroraColors_arr[1]), pgm_read_byte(&MBAuroraColors_arr[2]), pgm_read_byte(&MBAuroraColors_arr[3])), rgbend);
else
hsv2rgb_spectrum(CHSV(256 + hue - pgm_read_byte(&MBAuroraColors_arr[1]), pgm_read_byte(&MBAuroraColors_arr[2]), pgm_read_byte(&MBAuroraColors_arr[3])), rgbend);
istart8 = indexstart / 16;
iend8 = indexend / 16;
if ((istart8 <= lastSlotUsed) && (lastSlotUsed < 15)) {
istart8 = lastSlotUsed + 1;
if (iend8 < istart8)
iend8 = istart8;
}
lastSlotUsed = iend8;
fill_gradient_RGB( myPal, istart8, rgbstart, iend8, rgbend);
indexstart = indexend;
rgbstart = rgbend;
}
}

unsigned long polarTimer;
//float adjastHeight; // используем emitterX
//uint16_t adjScale; // используем ff_y

void polarRoutine() {
if (loadingFlag) {
#ifdef RANDOM_SETTINGS_IN_CYCLE_MODE
if (selectedSettings){
setModeSettings(random8(3U) ? 1U+random8(99U) : 100U, 1U+random8(170U));
}
#endif //RANDOM_SETTINGS_IN_CYCLE_MODE

loadingFlag = false;
//setCurrentPalette();
//fillMyPal16_2((modes[currentMode].Scale - 1U) * 2.55);//, !(modes[currentMode].Scale & 0x01)); фиксированная палитра - для слабаков

emitterX = fmap((float)HEIGHT, 8, 32, 28, 12);
ff_y = map(WIDTH, 8, 64, 310, 63);
//ff_z = map(modes[currentMode].Scale, 1, 100, 30, ff_y);
ff_z = ff_y;
speedfactor = map(modes[currentMode].Speed, 1, 255, 128, 16); // _speed = map(speed, 1, 255, 128, 16);

}

if (modes[currentMode].Scale == 100){
if (hue2++ & 0x01 && deltaHue++ & 0x01 && deltaHue2++ & 0x01) hue++; // это ж бред, но я хз. как с 60ю кадрами в секунду можно эффективно скорость замедлять...
fillMyPal16_2((uint8_t)((modes[currentMode].Scale - 1U) * 2.55) + hue, modes[currentMode].Scale & 0x01);
}
else
fillMyPal16_2((uint8_t)((modes[currentMode].Scale - 1U) * 2.55) + AURORA_COLOR_RANGE - beatsin8(AURORA_COLOR_PERIOD, 0U, AURORA_COLOR_RANGE+AURORA_COLOR_RANGE), modes[currentMode].Scale & 0x01);


for (byte x = 0; x < WIDTH; x++) {
for (byte y = 0; y < HEIGHT; y++) {
polarTimer++;
//uint16_t i = x*y;
leds[XY(x, y)]=
ColorFromPalette(myPal,
qsub8(
inoise8(polarTimer % 2 + x * ff_z,
y * 16 + polarTimer % 16,
polarTimer / speedfactor
),
fabs((float)HEIGHT/2 - (float)y) * emitterX
)
);
/*
if (flag == 1) { // Тут я модифицирую стандартные палитры
CRGB tmpColor = leds[myLamp.getPixelNumber(x, y)];
leds[myLamp.getPixelNumber(x, y)].g = tmpColor.r;
leds[myLamp.getPixelNumber(x, y)].r = tmpColor.g;
leds[myLamp.getPixelNumber(x, y)].g /= 6;
leds[myLamp.getPixelNumber(x, y)].r += leds[myLamp.getPixelNumber(x, y)].r < 206 ? 48 : 0;;
} else if (flag == 3) {
leds[myLamp.getPixelNumber(x, y)].b += 48;
leds[myLamp.getPixelNumber(x, y)].g += leds[myLamp.getPixelNumber(x, y)].g < 206 ? 48 : 0;
}
*/
}
}
}


и остальные эффекты по аналогии? или еще где то что то правть нужно:?
нвстройки по умолчанию(их же можно из приложения настроить)
 

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
43
10
@Dhorohiy, удалять можно без сложностей. Только эффект Матрица не удаляйте.

Местами менять - тоже можно почти свободно. Эффектов три группы (от начала до Океана, от Мячиков до Капель на стекле, от Матрицы до конца). Из группы в группу не двигайте их.

Для того и для этого есть эксель-табличка со списком эффектов - она сама номера расставляет.


Но вы ведь, вроде, хотели из других прошивок чего-то брать. Это сложно.
Я не понял, зачем из 85 что-то удалять и из 86 что-то брать, если это одна и та же прошивка.
я их взял как пример(то что было под рукой. ) В планах перебрать все прошивки, и оставить те эффекты, которые больше понравились, и убрать те которые не нравятся. просто хочу понять алгоритм действий
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@Dhorohiy, из других прошивок без понимания кода вряд ли получится. Не важно, в какую прошивку собирать.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Dhorohiy, в нашем варианте для любого эффекта можно (все действия без необходимости перепрошивки):
1. Создать копию со своими настройками.
2. Отключить/включить из выбора в списке эффектов.
3. Отключить/включить в списке демо.
4. Создать свои списки эффектов и конфигураций, которые можно затем менять хоть вручную, хоть по событиям.

Как следствие можно создать несколько конфигураций из всего множества эффектов и переключаться между ними буквально в 5 нажатий мышкой. :)

Но если вы не ищите легких путей, то можете продолжать пытаться впихнуть невпихуемое в :)
 
  • Лойс +1
Реакции: Dhorohiy

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
43
10
@Dhorohiy, в нашем варианте для любого эффекта можно (все действия без необходимости перепрошивки):
1. Создать копию со своими настройками.
2. Отключить/включить из выбора в списке эффектов.
3. Отключить/включить в списке демо.
4. Создать свои списки эффектов и конфигураций, которые можно затем менять хоть вручную, хоть по событиям.

Как следствие можно создать несколько конфигураций из всего множества эффектов и переключаться между ними буквально в 5 нажатий мышкой. :)

Но если вы не ищите легких путей, то можете продолжать пытаться впихнуть невпихуемое в :)
Спасибо, я за легкие способі) просто не знаю как лучше)
 

Kipperto

✩✩✩✩✩✩✩
26 Янв 2021
1
0
Здравствуйте, решил подключить лампу к алисе через кузю и get запросы (прошивка Whilser v1.5), однако я даже не смог подключиться к веб интерфейсу, который ESP-id.local (лампа зависает на 10 секунд пока загружается страница и продолжает работать, а страница оказывается недоступной), на запросы от алисы она тоже не реагирует. Прошу помощи
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
Избыточное цитирование
Добрый день, господа!
У меня "лампа" сделана в виде панели из гирлянд, а контроллер собран в отдельной коробке.
Вывел отдельный светодиод на корпус контролера для индикации включения/выключения гирлянд. Светодиод подключен к отдельному выводу IO и управляется программно.
Питание у гирлянды у меня не выключается. В режиме "выключено" просто гасятся все светодиоды.
И вот в режиме "выключено" столкнулся с такой проблемой:
  • если светодиод на контроллере полностью включен или выключен, то все нормально;
  • если включаю светодиод не на полную яркость (через ШИМ), то на гирлянде постоянно наблюдаются случайные вспышки в разных местах.
Насколько я понимаю - это какие-то помехи, наводки.

Кто-то сталкивался с подобной проблемой? Как лечится?
Попробуйте для ленты использовать другие пины. D3, например.
 

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
154
20
Всем привет! Ткните, пожалуйста, носом рукожопа. Собрал лампу, прошил последней прошивкой Гайвера 0.22b, приложение установил v1.20 К лампе подключился, подключил лампу к роутер (подключилась успешно). Из приложения могу только её перезагрузить. Ни эффектов, ни кнопка не работает. При включении индикация всегда разная, пару секунд мигает и замирает, горят 3 зелёных, через один ещё 3 зелёных, потом через 2 может жёлтый или зелёный... В общем логики в индикации нет. Куда хоть копать?
 

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
154
20
@N0rdling, читать инструкцию в группе во вконтакте.
Спасибо, кэп!
Уже ни один день бьюсь с этой ситуацией, все инструкции в контакте изучил вдоль и поперёк.
Уточню ещё раз: с сетью проблем нет, я даже могу перезагрузить лампу в режим AP и подключиться к её точке доступа, но индикация на матрице зависает в случайном сочетании цветов и ничего не сделать, кроме перезагрузки.
 

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
154
20
@N0rdling, может, припаялись неправильно?
Если бы матрицу не правильно припаял, то она вообще бы не работала...
Да и пробовал кастомную прошивку - работает корректно, но вот с последней Гайвера - нет.
Каждый раз при включении начинает бегать зелёный огонёк (подключение к роутер), потом бывает, что застывают некоторые диоды в зелёном сечении, бывает 3 раза мигают первые 3 (удачное подключение)... Один раз даже дошло до эффекта: заработал огонь, но только на первых 9-ти диодах. 🥴
 

Andrew_krsk

✩✩✩✩✩✩✩
9 Мар 2021
9
0
Всем привет , подскажите такая задача. Сделать лампу точкой доступа , при подключении к ней соединение постоянно пропадает ,, от этого не получается подключится к лампе через смарифон, но лампа работает исправно ,куда копать ?
Благодарю за ответ
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@Andrew_krsk,
возможно, вам нужно обнулить настройки подключения к роутеру, которые сохранились в плате.
Как это сделать - зависит от прошивки.
 

Andrew_krsk

✩✩✩✩✩✩✩
9 Мар 2021
9
0
@Andrew_krsk,
возможно, вам нужно обнулить настройки подключения к роутеру, которые сохранились в плате.
Как это сделать - зависит от прошивки.
Подсоединяется и тут же отваливается, прошивка алекса 1.5
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@Andrew_krsk,
может быть, 1.5.5?
Если вы эту плату использовали ранее и подключали её к локальной сети,
тогда можете попробовать специальной утилитой сделать очистку памяти на плате.
Ссылка на утилиту есть на странице описания проекта.

Если не поможет, тогда только прошивку поновее брать.
В комментариях в апсторе много жалоб на стабильность приложения.