ESP, IoT WiFi лампа-будильник. Обсуждение прошивки от GUNNER47

ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

Комментарии

mechanic

★★★★✩✩✩
Команда форума
31 Июл 2018
403
206
ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
А вот это как раз увеличение буфера!
Не понял. В чем увеличение? Что 40 эффектов на три блока, что 40 в одном блоке. Разница какая?
Блоки используются поочередно. Они не одним махом выгружаются.
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@Koteyka, напомню, что я предлагал это просто блоком текста вставлять в приложение без заморочек с файлом.
Легко пересылать через месенджеры на другие телефоны в семье, легко редактировать.
 

tsabak

✩✩✩✩✩✩✩
2 Сен 2018
81
8
Koteyka все козырно! только на кнопку не реагирует никак...чего то переделали?
 

ssp1971

★★✩✩✩✩✩
14 Мар 2020
108
71
@tsabak, #define ESP_USE_BUTTON // если строка не закомментирована, должна быть подключена кнопка
GButton touch(BTN_PIN, HIGH_PULL, NORM_OPEN); // для физической (не сенсорной) кнопки нужно поменять LOW_PULL на HIGH_PULL
и скачайте заного прошивку кнопку поправил котейка
 

tsabak

✩✩✩✩✩✩✩
2 Сен 2018
81
8
ssp1971 спасибо скачал по новой и нашел тоже самое //#define ESP_USE_BUTTON ... зачем? не понятно, да и время правки файла тоже -19.55.
 

tsabak

✩✩✩✩✩✩✩
2 Сен 2018
81
8
#define ESP_USE_BUTTON эту я нашел, а это поставь HIGH_PULL в строке GButton touch(BTN_PIN, LOW_PULL , NORM_OPEN) где искать? а я пробую не хочет пароль 31415926 брать...
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Koteyka, Дело в том, что эффектов всегда неопределенное количество - может 20, может 30, а может и 255... если делить максимальное количество на 10 - то потребуется 26 блоков. Если все передавать в 1 блоке, то это 25 килобайт выделенной памяти - для ESP-ки это пройдет, хотя не рационально, а вот, если реализовывать это на Ардуинке, то ото крайне жирно! (да и через UDP - такой богатый пакет вряд ли пройдет без сбоев!) Поэтому нужно делить, все равно как хоть по 5 хоть по 10... В итоге бережем память! + повышаем совместимость с различными проектами.
В своём проекте я сейчас все настройки переписываю на Flash. Организация настроек немного другая от предложенного, и она чрезвычайно гибка и функциональна.
Если интересно, то вот как реализовано у меня. Такие подробные настройки необходимы также для соблюдения другого функционала:

C-like:
static eff_t effs_arr[] = {
#ifdef effectsClassic_h
    {EFF_SPARKLES, 0, 99, 1, 255, []() { return sparlkesRoutine(eff_scale); }, 0, BRIGHT, 25, 8},
    {EFF_FIRE, 1, 100, 0, 255, []() { return fireRoutine(true, eff_scale); }, 1, BRIGHT, 75, 0},
    {EFF_WHITTE_FIRE, 1, 100, 0, 0, []() { return fireRoutine(false, eff_scale); }, 0, BRIGHT, 75, 0},
    {EFF_RAINBOW_VER, 0, 0, 1, 255, []() { return rainbowVerticalRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 75, 20},
    {EFF_RAINBOW_HOR, 0, 0, 1, 255, []() { return rainbowHorizontalRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 75, 20},
    {EFF_RAINBOW_DIAG, 1, 100, 1, 100, []() { return rainbowDiagonalRoutine(eff_scale); }, 0, BRIGHT, 75, 25},

    {EFF_COLORS, 1, 255, 1, 255, []() { return colorsRoutine(eff_scale); }, 0, BRIGHT, 255, 1},

    {EFF_MADNESS, 1, 100, 1, 100, []() { return madnessNoiseRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 10, 50},                          //madnessNoiseRoutine
    {EFF_CLOUDS, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, CloudColors_p, 0); }, 0, BRIGHT, 1, 50},                 //cloudsNoiseRoutine
    {EFF_LAVA, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, LavaColors_p, 0); }, 0, BRIGHT, 1, 50},                    //lavaNoiseRoutine
    {EFF_PLASMA, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, PartyColors_p, 1); }, 0, BRIGHT, 1, 50},                 //plasmaNoiseRoutine
    {EFF_RAINBOW, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, RainbowColors_p, 1); }, 0, BRIGHT, 1, 50},              //rainbowNoiseRoutine
    {EFF_RAINBOW_STRIPE, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, RainbowStripeColors_p, 1); }, 0, BRIGHT, 1, 50}, //rainbowStripeNoiseRoutine
    {EFF_ZEBRA, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, ZebraColors_p, 1); }, 0, BRIGHT, 1, 80},                  //zebraNoiseRoutine
    {EFF_FOREST, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, ForestColors_p, 1); }, 0, BRIGHT, 5, 30},                //forestNoiseRoutine
    {EFF_OCEAN, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, OceanColors_p, 0); }, 0, BRIGHT, 1, 85},                  //oceanNoiseRoutine

    {EFF_COLOR, 0, 255, 0, 255, []() { return colorRoutine(eff_scale, eff_speed); }, 1, BRIGHT, 255, 0},
    {EFF_SNOW, 1, 100, 1, 100, []() { return snowRoutine(eff_scale); }, 0, BRIGHT, 4, 75},
    {EFF_SNOWSTORM, 1, 100, 1, 100, []() { return stormRoutine(eff_scale, 0); }, 0, BRIGHT, 77, 1},
    {EFF_STARFALL, 1, 100, 1, 100, []() { return stormRoutine(eff_scale, 255); }, 0, BRIGHT, 75, 25},
    {EFF_MATRIX, 1, 100, 1, 100, []() { return matrixRoutine(eff_scale); }, 0, BRIGHT, 1, 50},
    {EFF_LIGHTERS, 1, 100, 1, 100, []() { return lightersRoutine(eff_scale); }, 0, BRIGHT, 50, 15},
    {EFF_LIGHTER_TRACES, 1, 100, 1, 100, []() { return ballsRoutine(eff_scale); }, 0, BRIGHT, 50, 75},
    {EFF_PAINTBALL, 255, 255, 1, 255, []() { return lightBallsRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 100, 1},
    {EFF_CUBE, 1, 100, 1, 100, []() { return ballRoutine(eff_scale); }, 0, BRIGHT, 50, 100},
#endif
#ifdef effects_ppMod_h
    {EFF_PP_NEWFIRE, 1, 255, 1, 255, []() { return newFireRoutine(eff_scale); }, 0, BRIGHT, 75, 1},
    {EFF_PP_RAINBOWCOMET, 0, 0, 0, 255, []() { return rainbowCometRoutine(eff_scale, eff_speed); }, 2, BRIGHT, 0, 225},
    {EFF_PP_NOISESTREAMS, 1, 100, 1, 100, []() { return noiseStreamingRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
    /*{EFF_PP_MS1,            1, 100,   1, 100,   [](){return multipleStreamRoutine();},                                      0, BRIGHT,   75,   8},
    {EFF_PP_MS2,            1, 100,   1, 100,   [](){return multipleStreamRoutine2();},                                     0, BRIGHT,   75,   8},
    {EFF_PP_MS3,            1, 100,   1, 100,   [](){return multipleStreamRoutine3();},                                     0, BRIGHT,   75,   8},
    {EFF_PP_MS4,            1, 100,   1, 100,   [](){return multipleStreamRoutine4();},                                     0, BRIGHT,   75,   8},
    {EFF_PP_MS5,            1, 100,   1, 100,   [](){return multipleStreamRoutine5();},                                     0, BRIGHT,   75,   8},
    {EFF_PP_MS8,            1, 100,   1, 100,   [](){return multipleStreamRoutine8();},                                     0, BRIGHT,   75,   8},*/
    {EFF_PP_METABALLS, 1, 100, 1, 100, []() { return metaBallsRoutine(); }, 0, BRIGHT, 75, 8},
    {EFF_PP_SINUSOID3, 1, 100, 1, 100, []() { return Sinusoid3Routine(); }, 0, BRIGHT, 75, 8},
    {EFF_PP_PULSE, 1, 100, 1, 100, []() { return pulseRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
    {EFF_PP_WATERFALL4IN1, 1, 100, 1, 255, []() { return waterfall4in1Routine(eff_scale); }, 0, BRIGHT, 75, 8},
    {EFF_PP_PULSE, 1, 100, 1, 255, []() { return pulseRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
#endif
#ifdef effectsSottNick_h
    {EFF_SPIRO, 1, 100, 1, 255, []() { return spiroRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
    {EFF_WATERPOOL, 1, 100, 0, 255, []() { return waterpoolRoutine(eff_scale); }, 0, BRIGHT, 75, 0},
    {EFF_SHAMELESSMATRIX, 1, 100, 1, 255, []() { return shamelessMatrixRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
    {EFF_BOUNCINGBALLS, 1, 100, 1, 255, []() { return bouncingBallsRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
#endif
    {EFFs_BLACKSCREEN, 1, 255, 1, 255, []() { return BlackScreenRoutine(); }, 0, BRIGHT, 127, 127},
    {EFFs_SENDESCHLUSS, 1, 255, 1, 255, []() { return SendeSchlussRoutine(); }, 0, BRIGHT, 127, 127},
    {EFFs_WHITE_STRIPE, 1, 255, 1, 255, []() { return whiteColorStripeRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 127, 127},
    {EFFs_WHITE, 1, 255, 1, 255, []() { return whiteRoutine(); }, 0, BRIGHT, 127, 127},
    {EFFs_DEMO, 0, 0, 1, 255, []() { return demoRoutine(false); }, 0, 255, 0, 127},
    {EFFs_DEMO_RANDOM, 0, 0, 1, 255, []() { return demoRoutine(true); }, 0, 255, 0, 127}};

// ***** EFFECT LISTS *****
// базовые списки эффектов с их названиями. Допускаются названия на национальных языках (при условии наличия шрифтов).
// Возможны повторы и пересортица. Максимально = 256 эффектов в каждом списке
// названия в фаворитном списке, а так же первоначальный порядок, будет формироваться уже из этого

// ----- ON-LIST EFFECTS ----- last mod v1.7.07b
effsList_t const effs_on[] PROGMEM = {
#ifdef effectsClassic_h
    {EFF_SPARKLES, "SPARKLES"},
    {EFF_FIRE, "FIRE"},
    {EFF_WHITTE_FIRE, "WHITE FIRE"},
    {EFF_RAINBOW_VER, "RAINBOW VERTICAL"},
    {EFF_RAINBOW_HOR, "RAINBOW HORIZONTAL"},
    {EFF_RAINBOW_DIAG, "RAINBOW DIAGONAL"},
    {EFF_COLORS, "COLORS"},
    {EFF_MADNESS, "MADNESS"},
    {EFF_CLOUDS, "CLOUDS"},
    {EFF_LAVA, "LAVA"},
    {EFF_PLASMA, "PLASMA"},
    {EFF_RAINBOW, "RAINBOW"},
    {EFF_RAINBOW_STRIPE, "RAINBOW STRIPE"},
    {EFF_ZEBRA, "ZEBRA"},
    {EFF_FOREST, "FOREST"},
    {EFF_OCEAN, "OCEAN"},
    {EFF_COLOR, "COLOR"},
    {EFF_SNOW, "SNOW"},
    {EFF_SNOWSTORM, "SNOWSTORM"},
    {EFF_STARFALL, "STARFALL"},
    {EFF_MATRIX, "MATRIX"},
    {EFF_LIGHTERS, "LIGHTERS"},
    {EFF_LIGHTER_TRACES, "LIGHTER TRACES"},
    {EFF_PAINTBALL, "PAINTBALL"},
    {EFF_CUBE, "CUBE"},
#endif
#ifdef effects_ppMod_h
    {EFF_PP_NEWFIRE, "NEW FIRE"},
    {EFF_PP_RAINBOWCOMET, "RAINBOW COMET"},
    {EFF_PP_NOISESTREAMS, "NOISE STREAMS 6in1"},
    /*{EFF_PP_MS1,          "MULTIPLY STREAM 1"     },
    {EFF_PP_MS2,          "SPERMATOZOID 3D"       },
    {EFF_PP_MS3,          "MULTIPLY STREAM 3"     },
    {EFF_PP_MS4,          "MULTIPLY STREAM 4"     },
    {EFF_PP_MS5,          "MULTIPLY STREAM 5"     },
    {EFF_PP_MS8,          "MULTIPLY STREAM 8"     },*/
    {EFF_PP_WATERFALL4IN1, "WATERFALL 4in1"},
    {EFF_PP_METABALLS, "METABALLS"},
    /*{EFF_PP_SINUSOID3,    "SINUSOID 3"            },*/
    {EFF_PP_PULSE, "PULSE"},
#endif
#ifdef effectsSottNick_h
    {EFF_SPIRO, "SPIRO"},
    {EFF_WATERPOOL, "WATERPOOL"},
    {EFF_SHAMELESSMATRIX, "SHAMELESS MATRIX"},
    {EFF_BOUNCINGBALLS, "BOUNCING BALLS"} //,
#endif
};

Доставать из этого набора только функцией! (ровно как рекомендую в других решениях)
 
Изменено:

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@tsabak, Смотря какой режим ESP выбран... Если ESP_MODE-=0 то сеть сама организуется, и затребует пароль,
Если 1, то в меню подключения сети вход с зажатой кнопкой при включении (конечно, если прошивка с новым загрузчиком)
 

Burai

✩✩✩✩✩✩✩
12 Янв 2020
46
3
@tsabak, попробуй при открытом окошке ввода пароля отключить лампу от сети и опять включить.
 

Vados2020

★✩✩✩✩✩✩
30 Янв 2020
70
21
@Palpalych, обратил внимание:
Из профиля OFF/SLEEP:
...
"0 удержание - переход в режим LAMP (лампа/ночник) с нарастающей яркостью"
засвечивается только пол матрицы(16х16) снизу:(. Это так и должно быть или это только у меня?
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Vados2020, да, пока так... еще не правил этот эффект.... Думаю к следующей бете разберусь.

@Koteyka, тестирую приложение. Не загружает список эффектов - виснет прошивка. Видимо буфера 2048 уже маловато. Нужно что-то делать... ((( В остальном - работает стабильнее! Спасибо.
 
  • Лойс +1
Реакции: ssp1971

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
Очередная бетка. Сделано не много визуально, но кардинально во многом :cool:
- убрана глобальная иниацилизация класса WiFiManager
- перенос настроек эффектов во Flash (кроме описания эффектов, пока)
- расширен и настроен режим DEMO - управление яркостью и скоростью смены эффектов / + случайное переключение
- поправлен и переписан на новую логику эффект НОЧНИК (WHITE STRIPE LAMP)

https://drive.google.com/open?id=1F0klWchoAbc7HJOxFO96QUuH9KvamkZs
 
  • Лойс +1
Реакции: Belokota, LakMuS и ssp1971

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
@tsabak,
Такие подробные настройки необходимы также для соблюдения другого функционала:
Тут опять же, нет какого-то стандарта.
Я могу реализовать считывание настроек из внешнего файла, это не проблема, но расшифровка строк в вашем варианте будет одна, в моем другая, кто-то решит, что ему по другому нужно и т.д.
Получается, что приложение нужно отдельно под каждую прошивку делать. Если прописать в приложении расшифровки всех возможных вариантов строк с настройками, то код выйдет строк на 3000 только для расшифровки.
Приложение и так уже достаточно тяжелое.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Koteyka, проще...
можно ли организовать программой запрос на количество эффектов, а потом принять все блоками определенной величины, допустим по 10?
Формат передачи - такой как у тебя уже организован. Главное, чтобы все эффекты смогли загрузиться.
 

mason

✩✩✩✩✩✩✩
28 Янв 2020
49
1
@Koteyka, приветствую приложение вылетает с версией прошивки 1,5 от Сотнег без ваших правок.
с вашей прошивкой болие мение был вылет когда делал запрос эфектов с лампы и дергал переключатель
а как работает вывод текста ? что то не бежит он у меня
может ваш вариант изменить версионность прошивки скажем 1,5,3?
photo_2020-04-01_08-09-46.jpg
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@mason, вы загрузите список эффектов из лампы сперва.
Алгоритм:
1. выключить переключатель "Исп. эффекты из лампы"
2. загрузить список из лампы
3. включить переключатель обратно
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
приветствую приложение вылетает с версией прошивки 1,5 от Сотнег без ваших правок
Во первых, с этой прошивкой нужно подгружать эффекты из прошивки. Во вторых, удержания кнопки для скорости и масштаба там тоже нет.
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@mason, Прошивкой gunner47 v.1.5 вывод текста не поддерживается.

Рисование и сохранение настроек в файл - тоже.