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
401
208
ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

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

Palpalych

★★★★★✩✩
24 Дек 2019
766
407
@Сотнег,
частная математика - это прописывание действий каждого ветвления для каждого условия. Мне показалось, что можно сократить код
черные бордюры - а чем хуже если квадратик будет накладываться частично? Потом, при четной ширине середина всегда смещена, что тоже не очень
расширить поле - просто если задавать случайны цвет для поля 2х2 то количество вариантов будет гораздо меньше, чем для поля 16х16, даже если выводишь 2х2
нестыковки - это когда кубики кратны размерам матрицы. Для нектарных требуется обрезка, чем, как раз, и занимается частная математика занимающаяся просчетом всех этих случаев.
 

Сотнег

★★★★★★★
15 Янв 2020
4,449
1,520
черные бордюры - а чем хуже если квадратик будет накладываться частично?
В моей фантазии торчащие половинки одного и того же квадратика сверху и снизу лампы, вращающиеся одновременно по горизонтали, были отвратительны.
А стык обрезков сзади лампы вообще ужасен.
В реальности не видел.


Потом, при четной ширине середина всегда смещена, что тоже не очень
Вроде, норм.
Особенно учитывая, что смещение плавающее. Не всегда в одну сторону.


расширить поле - просто если задавать случайны цвет для поля 2х2 то количество вариантов будет гораздо меньше, чем для поля 16х16, даже если выводишь 2х2
Имеется в виду, что "квадратик" может уползти за пределы матрицы и не выехать с обратной стороны?
Неееееее. Это уже не Рубика кубик будет.


Для нектарных требуется обрезка, чем, как раз, и занимается частная математика занимающаяся просчетом всех этих случаев.
Не уверен, что понял. Всё, вроде, универсально там...
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
407
@Сотнег, Ну ладно, просто предложил...
А так, не знаю, то и глюк адаптации, то ли частная математика не всегда отрабатывает, но иногда частичные квадратики прорисовываются и двигаются - выглядит вполне не плохо, по сравнению с квадратами сползшими в сторону.

Пока встрою как есть, там посмотрю, что можно доработать... кстати, есть небольшие "косячки". Точно не опишу их, если будет интересно - сравни алгоритмы, возможно что-то поправишь у себя.

Из того что помню - в 2 местах заменить (смотри на структуру а не на переменные - я менял их под себя)
C++:
eff_delta = razmerY + ((((int8_t)eff_hue2 - kudaVse >= 0) && ((int8_t)eff_hue2 - kudaVse + poleY < HEIGHT)) ? random8(2U) : 1U);
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
407
@Сотнег, у меня разделены слои эффекта и надписи, поэтому это никак не сказывается на изображении.
Возможно из за того, что использовал другой набор палитр, (а у меня их 8) соответственно неправильно рассчитал максимальную величину квадратика (razmerX)
 

Сотнег

★★★★★★★
15 Янв 2020
4,449
1,520
если будет интересно - сравни алгоритмы, возможно что-то поправишь у себя.
Пока что негде скачать, вроде.

eff_delta = razmerY + ((((int8_t)eff_hue2 - kudaVse >= 0) && ((int8_t)eff_hue2 - kudaVse + poleY < HEIGHT)) ? random8(2U) : 1U);
Отличий в логике не увидел.
Скобочки не нужны, приведение к типу тоже, кажется.
 
Изменено:

qwertz

✩✩✩✩✩✩✩
22 Фев 2020
2
0
хотелось бы видеть в этой версии прошивки. мне она более по душе, вот и стоит вопрос чтобы у кого-то одолжить кусок кода
заменить один из эффектов, чтобы без танцев с бубном брало сигнал с микрофона. Если кто сделает или подскажет как недалекий человек это сделает поставлю пиво :)
Товарищ t_igr вроде что-то такое делал, но у меня прикрутить и проверить пока руки не доходили. Ну и думаю можно у него поинтересоваться не получила ли идея какого-то продолжения https://community.alexgyver.ru/thre...proshivki-ot-gunner47.2418/page-73#post-33699
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
407
@Сотнег,

Скобочки всегда делаю, если модифицировать сложные функции и где можно потом на порядок исполнения нарваться

(int8_t)eff_hue2 - у тебя вроде беззнаковый тип переменной определен, а нужен знаковый, чтобы последующее выражение могло считать минус
(int)HEIGHT - а это как раз не нужно, так как эта переменная является зависимой
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,449
1,520
неправильно рассчитал максимальную величину квадратика (razmerX)
Вообще не понял, что тут может посчитаться:
razmerX = scale8(SEMIWIDTH_d, (Scale % palletes_steps) * palletes_count) + 1U;
Ячейки размером в 1 пиксель (то есть поле размером 8х8) получается сделать при такой математике?


(int8_t)eff_hue2 - у тебя вроде беззнаковый тип переменной определен, а нужен знаковый, чтобы последующее выражение могло считать минус
Я с языком не особо знаком, но, вроде бы, при такой арифметике тип результата приводится к простому int.
По факту работает же.

У тебя "кубик 3х3" тоже не стоит в самом низу лампы, а поднимается иногда ближе к верхушке матрицы?

(int)HEIGHT - а это как раз не нужно, так как эта переменная является зависимой
Да я там лепил везде всё подряд, искал баг. Потом не стал убирать, когда ошибка исчезла.
Может, поэтому и работает. :)
 
Изменено:

Palpalych

★★★★★✩✩
24 Дек 2019
766
407
Ячейки размером в 1 пиксель (то есть поле размером 8х8) получается сделать при такой математике?
получаются ))) Это я уже поправил))) у меня диапазон Scale - 0...255, и ограничил размер квадратика с 1 до половины ширины экрана.

Я с языком не особо знаком, но, вроде бы, при такой арифметике тип результата приводится к простому int.
По факту работает же.
работает, но, может в какой то момент не корректно. Обращаю внимание.
int - это избыточное преобразование в 32 разрядное число (вроде), но компилятор может это отмести поставив варнинг

У тебя "кубик 3х3" тоже не стоит в самом низу лампы, а поднимается иногда ближе к верхушке матрицы?
нет, не поднимается ((( у меня матрица подключена верхний левый угол, и поэтому если обращатся через leds[ ], то картинка будет перевернутой.
Я переписываю через выверенную функцию drawPixel... в общем, всегда квадрат притянут к углу. Когда квадратиков 4+1+4+1+4, к примеру, то при вращении кубики залезают на черное поле.
 

Сотнег

★★★★★★★
15 Янв 2020
4,449
1,520
нет, не поднимается ((( у меня матрица подключена верхний левый угол, и поэтому если обращатся через leds[ ], то картинка будет перевернутой.

...в общем, всегда квадрат притянут к углу
Значит, опускаться должно, раз перевёрнута.
Попробуй тогда всё же привести HEIGHT и WIDTH к знаковому INT.


Хотел для наглядности сфоткать.
Оказалось, что для 3х3 это не так уж и часто срабатывает. Замаялся ждать, поэтому вот 2х2:
IMG_20200526_102035.jpgIMG_20200526_102125.jpg
 
Изменено:

Fruity

✩✩✩✩✩✩✩
28 Май 2020
1
7
Всех приветствую.

Недавно начал увлекаться Arduino и не смог пройти мимо такого проекта.
Программировать немного трудно, так как миллиард лет не программировал, да и с Си только начал знакомиться.
Прошил данную прошивку и захотелось немного изменить один из эффектов. А именно "Белый свет"
Решил добавить плавное включение каждой строки, в зависимости от промежуточного значения масштаба.
Грубо говоря, небольшая реализация интерполяции, вместо ступенчатого переключения.


C++:
    uint8_t centerY = (uint8_t)round(HEIGHT / 2.0F) - 1U;
    uint8_t bottomOffset = (uint8_t)(!(HEIGHT % 2));                      // если высота матрицы чётная, линий с максимальной яркостью две, а линии с минимальной яркостью снизу будут смещены на один ряд

    uint8_t fullRows = int((centerY / 255.0F) * modes[currentMode].Scale);
    uint8_t iPol = ((centerY / 255.0) * modes[currentMode].Scale - fullRows) * 255;
  
    for (int16_t y = centerY; y >= 0; y--)
    {
      CRGB color = CHSV(
                     45U,                                                                              // определяем тон
                     map(modes[currentMode].Speed, 0U, 255U, 0U, 170U),                                // определяем насыщенность
                     y > (centerY - fullRows - 1)                                                    // определяем яркость
                     ? 255U                                                                          // для центральной горизонтальной полосы (или двух) яркость всегда равна 255
                     : iPol * (y > centerY - fullRows - 2)                                           // для остальных горизонтальных полос яркость интерполируется от 0 до 255
                     );
      
      for (uint8_t x = 0U; x < WIDTH; x++)
      {
        drawPixelXY(x, y, color);                                                         // при чётной высоте матрицы максимально яркими отрисуются 2 центральных горизонтальных полосы
        drawPixelXY(x, max((uint8_t)(HEIGHT - 1U) - (y + 1U) + bottomOffset, 0U), color); // при нечётной - одна, но дважды
      }
    }

Также необходимо в Constants.h изменить строку реестра эффектов, чтобы значения масштаба были от 0 до 255 для большего значения градаций цвета.

String("0. Бeлый cвeт,1,255,0,255,0;") +
 
Изменено:

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
Здравствуйте форумчане. Хотя уже писали но я о часах реального времени.

Не везде есть интернет, а хотелось бы чтобы по будильнику особенно зимой загоралась лампа. Доработать бы проект синхронизацией временем с смартфона.
Авторам огромное спасибо конструкция ОТЛИЧНАЯ!!!(y)
 
Изменено:

optimist1996

✩✩✩✩✩✩✩
14 Мар 2020
1
0
но почему то при подключение к точке доступа не открывается меню настроек
 

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
попробуйте в смартфоне отключить мобильный интернет и перезапустите приложение
 
Изменено:

mataor

✩✩✩✩✩✩✩
30 Май 2020
7
0
Добрый день народ.
Прошивка 69 в 1
Вопрос такой - не сохраняет от слова "совсем" пароль WiFi после перезагрузки (выкл.питания). Все остальное в норме. ArduinoIDE 1.8.10, ESP8266 2.5.2, FastLED 3.2.9, WiFiManager 2.0.3 alfa, с менеджером из архива проекта (0.15.0) не подсоеденялось к сети вообще. В чем может быть беда?
EPS8266 Lolin D1 R2 mini, 80MHz, 4M (1M SPIFFS), lvIP Variant v2 Higher Bandwidth
 

mataor

✩✩✩✩✩✩✩
30 Май 2020
7
0
да, забыл упомянуть просто.
после резета не может подключится к сети, причем имя помнит.

стартует опять конфигуратор, перезабиваеш снова и подключается
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
Попробуйте прогнать пустым бланком, например в ESPTOL или кнопкой "erase"
Проблема у вас с адресом в флеш, где сохроняются настройки сети.
 

mataor

✩✩✩✩✩✩✩
30 Май 2020
7
0
@Сотнег, кнопка на месте, работает как должна.

Попробуйте прогнать пустым бланком, например в ESPTOL или кнопкой "erase"
Проблема у вас с адресом в флеш, где сохроняются настройки сети.
о. сча попробую
 

mataor

✩✩✩✩✩✩✩
30 Май 2020
7
0
@Сотнег, они были взяты в первую очередь. вообще к домашней сети не подключался.
еразе флеш не помогло


после кучи всего... вроде стало работать. пообновлял все бибилиотеки, врубил 3мб spiffs

работает при перезагрузке, при включении питания - нет

блин походу нашел проблему - по таймауту за 7с не успевает подключится. Блин и где может быть косяк? в роутере?
 
Изменено: