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

Harley

✩✩✩✩✩✩✩
13 Окт 2019
2
1
@Aleksys, спасибо. Это я видел, но хотелось именно во время работы будильника.
 
  • Лойс +1
Реакции: Aleksys

galgalg

★✩✩✩✩✩✩
11 Янв 2020
58
18
... обновления по ОТА. Кстати, обновление можно инициировать с программы LedLamp. Я сейчас таким методом пользуюсь, чтобы к лампе не ходить.
Пароль платы для загрузки нового скетча - откуда брать?
 

vitus73

✩✩✩✩✩✩✩
19 Ноя 2019
31
4
@kDn, попробовал через приложение LedLamp обновить,результат тот же No Answer
 

Fortunate

★✩✩✩✩✩✩
10 Янв 2020
41
28
Москва
@Serchio, неточности нет.
Если хочешь управлять лампой с помощью "Домовенка Кузи" ("Алиса, попроси Домовенка Кузю включить лампу"), то используй {d1},
а если хочешь управлять лампой с помощью "Алисы" напрямую ("Алиса, включи лампу"), то используй {value}
 
Изменено:

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
ОГРОМНАЯ ПРОСЬБА КО ВСЕМ, КТО ПОЛЬЗУЕТСЯ ИЛИ БУДЕТ ПОЛЬЗОВАТЬСЯ МОИМ ПРИЛОЖЕНИЕМ
Отпишитесь в ЛИЧКУ, у кого сколько DPI и какое разрешение экрана на телефоне.
Хочу сделать одно приложение под разные DPI, а для этого нужно определить среднее у пользователей.
Еще не мешало бы и размер текста выставленный к вас.
Проверить разрешение и DPI можно с помощью приложения Displayinfo из Play Market

IMG_20200203_092211[1].jpg
 

swen

✩✩✩✩✩✩✩
3 Фев 2020
24
3
Добрый день, у меня лампа с матрицей 16Х26, эффект "пейнтбол" отображается до высоты 16 пикселей... Как растянуть на всю высоту(26 пикселей)?
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@swen,

Нужно кумекать в этом блоке

C-like:
  // Use two out-of-sync sine waves
  uint8_t  i = beatsin8(  91, BorderWidth, WIDTH-BorderWidth);
  uint8_t  j = beatsin8( 109, BorderWidth, WIDTH-BorderWidth);
  uint8_t  k = beatsin8(  73, BorderWidth, WIDTH-BorderWidth);
  uint8_t  m = beatsin8( 123, BorderWidth, WIDTH-BorderWidth);

  // The color of each point shifts over time, each at a different speed.
  uint16_t ms = millis();
  leds[XY( i, j)] += CHSV( ms / 29, 200U, 255U);
  leds[XY( j, k)] += CHSV( ms / 41, 200U, 255U);
  leds[XY( k, m)] += CHSV( ms / 73, 200U, 255U);
  leds[XY( m, i)] += CHSV( ms / 97, 200U, 255U);

Предполагаю, что нужно до вызова этой функции высчитать константу

C:
float paintScale = HEIGHT/WIDTH;
А затем переписать этот блок:

C-like:
  leds[XY( i, (uint)(paintScale * j)] += CHSV( ms / 29, 200U, 255U);
  leds[XY( j, (uint)(paintScale * k)] += CHSV( ms / 41, 200U, 255U);
  leds[XY( k, (uint)(paintScale * m)] += CHSV( ms / 73, 200U, 255U);
  leds[XY( m, (uint)(paintScale * i)] += CHSV( ms / 97, 200U, 255U);
Но.... при превышении высоты над шириной в данном случае возможны "разрывы" хвоста. Лучше вычислять синус по бОльшей величине, а уже меньшие координаты исчислять из более крупных. Но то частный случай! Для полноценной работы для различных матриц придется писать проверки, не исключено и со "сворачиванием" синусоиды по длинному концу...

Опять же, все только теоретически... проверить не смогу.


UPD:
А что если попробовать?
C-like:
  // Use two out-of-sync sine waves
  uint16_t  i = beatsin16(  91, 0, 255);
  uint16_t  j = beatsin16( 109, 0, 255);
  uint16_t  k = beatsin16(  73, 0, 255);
  uint16_t  m = beatsin16( 123, 0, 255);

  // The color of each point shifts over time, each at a different speed.
  uint16_t ms = millis();
  leds[XY( highByte(i * WIDTH), highByte(j * HEIGHT))] += CHSV( ms / 29, 200U, 255U);
  leds[XY( highByte(j * WIDTH), highByte(k * HEIGHT))] += CHSV( ms / 41, 200U, 255U);
  leds[XY( highByte(k * WIDTH), highByte(m * HEIGHT))] += CHSV( ms / 73, 200U, 255U);
  leds[XY( highByte(m * WIDTH), highByte(i * HEIGHT))] += CHSV( ms / 97, 200U, 255U);
 
Изменено:

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@kDn, попробовал через приложение LedLamp обновить,результат тот же No Answer
А что в лог пишет во время попыток соединения по ОТА?
* Для того чтобы увидеть лог, нужно либо соединить шнурком, либо активировать отладку по телнету и подключиться через него.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Судя по отписавшимся (6 человек), минимальное DPI у устройств - 320, а максимальное - 540.
Если у кого-то больше или меньше, пишите в личку.
 

swen

✩✩✩✩✩✩✩
3 Фев 2020
24
3
Работает!!!! Спасибо!

C-подобный:
// Use two out-of-sync sine waves
uint16_t i = beatsin16( 91, 0, 255);
uint16_t j = beatsin16( 109, 0, 255);
uint16_t k = beatsin16( 73, 0, 255);
uint16_t m = beatsin16( 123, 0, 255);

// The color of each point shifts over time, each at a different speed.
uint16_t ms = millis();
leds[XY( highByte(i * WIDTH), highByte(j * HEIGHT))] += CHSV( ms / 29, 200U, 255U);
leds[XY( highByte(j * WIDTH), highByte(k * HEIGHT))] += CHSV( ms / 41, 200U, 255U);
leds[XY( highByte(k * WIDTH), highByte(m * HEIGHT))] += CHSV( ms / 73, 200U, 255U);
leds[XY( highByte(m * WIDTH), highByte(i * HEIGHT))] += CHSV( ms / 97, 200U, 255U);
 

swen

✩✩✩✩✩✩✩
3 Фев 2020
24
3
А "демо" режим есть? И если есть то как включить? Что бы эффекты менялись.....
 

renby

★✩✩✩✩✩✩
5 Янв 2020
58
11
@kDn, где можно скачать вашу прошивку со всеми файлами?
Сдесь он выкладывал свою последнюю версию, насколько я понял.
@kDn почет и уважуха! спасибо за труды, юзаю сию прошивку, лучше не придумаешь! Осталось динамик в нее прикрутить;)
 
  • Лойс +1
Реакции: genav

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@swen,
Немного доработал эффект Пейнтбол:

C-like:
// ------------- пейнтбол -------------
const uint8_t paintWidth = WIDTH - BORDERTHICKNESS * 2;
const uint8_t paintHeight = HEIGHT - BORDERTHICKNESS * 2;

void lightBallsRoutine(char *param)
{
  // Apply some blurring to whatever's already on the matrix
  // Note that we never actually clear the matrix, we just constantly
  // blur it repeatedly.  Since the blurring is 'lossy', there's
  // an automatic trend toward black -- by design.
  uint8_t blurAmount = dim8_raw(beatsin8(3,64,100));
  blur2d(leds, WIDTH, HEIGHT, blurAmount);

  // Use two out-of-sync sine waves
  uint16_t  i = beatsin16( 79, 0, 255); //91
  uint16_t  j = beatsin16( 67, 0, 255); //109
  uint16_t  k = beatsin16( 53, 0, 255); //73
  uint16_t  m = beatsin16( 97, 0, 255); //123

  // The color of each point shifts over time, each at a different speed.
  uint32_t ms = millis() / (modes[EFF_PAINTBALL].Scale/4 + 1);
  leds[getPixelNumber( highByte(i * paintWidth) + BORDERTHICKNESS, highByte(j * paintHeight) + BORDERTHICKNESS)] += CHSV( ms / 29, 200U, 255U);
  leds[getPixelNumber( highByte(j * paintWidth) + BORDERTHICKNESS, highByte(k * paintHeight) + BORDERTHICKNESS)] += CHSV( ms / 41, 200U, 255U);
  leds[getPixelNumber( highByte(k * paintWidth) + BORDERTHICKNESS, highByte(m * paintHeight) + BORDERTHICKNESS)] += CHSV( ms / 37, 200U, 255U);
  leds[getPixelNumber( highByte(m * paintWidth) + BORDERTHICKNESS, highByte(i * paintHeight) + BORDERTHICKNESS)] += CHSV( ms / 53, 200U, 255U);
}
И главное(!) в конфигурации стереть переменную BORDERWIDTH за место нее установить более корректную
C-like:
// ------------- пейнтбол -------------
#define BORDERTHICKNESS       (1U)                          // глубина бордюра для размытия яркой частицы: 0U - без границы (резкие края); 1U - 1 пиксель (среднее размытие) ; 2U - 2 пикселя (глубокое размытие)
с помощью нее можно установить границы, до которых долетает яркая точка. Больше 2 ставить не имеет смысла, так как это сужает поле по которому формируется узор, а за такие края размытости особо не видно.

Помимо указанного ранее, что работает на нестандартных матрицах, добавил функциональности:
+ уменьшил скорость комет примерно в 2 раза (регулятор скорости тут работает не корректно - он как бы размывает четкий хвост увеличивая дискретность, хотел задействовать, но обработка происходит извне этой процедуры)
+ регулятор масштаба теперь определяет скорость изменения цвета комет


UPD: 03.02.2020 23:55 MSK - сократил код используя стандартную функцию положения пикселя для присутствующей матрицы
 
Изменено:

Egor0387

✩✩✩✩✩✩✩
3 Фев 2020
2
0
Ребят! Подскажите пожалуйста! Все работает, но проблема: эффект "ОГОНЬ" и "БЕЛЫЙ ОГОНЬ" светят перпендикулярно, т.е. не снизу вверх, а справа налево! Что делать? в коде не смыслю, пытался разобраться, ничего не получается, плата Node MCU CP 2102, прошивка от Гуннера, версию залил 1.4 из архива с Get Hub, помогите пожалуйста, что делать? :cry:
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Что делать? в коде не смыслю, пытался разобраться, ничего не получается, плата Node MCU CP 2102, прошивка от Гуннера, версию залил 1.4 из архива с Get Hub, помогите пожалуйста, что делать?
C++:
#define MATRIX_TYPE           (0U)                          // тип матрицы: 0 - зигзаг, 1 - параллельная
#define CONNECTION_ANGLE      (1U)                          // угол подключения: 0 - левый нижний, 1 - левый верхний, 2 - правый верхний, 3 - правый нижний
#define STRIP_DIRECTION       (3U)                          // направление ленты из угла: 0 - вправо, 1 - вверх, 2 - влево, 3 - вниз
                                                            // при неправильной настройке матрицы вы получите предупреждение "Wrong matrix parameters! Set to default"
                                                            // шпаргалка по настройке матрицы здесь! https://alexgyver.ru/matrix_guide/
Выставляйте правильные значения здесь.
Угол подключения и направление из угла у вас не то.
 
  • Лойс +1
Реакции: Egor0387 и Burai

Egor0387

✩✩✩✩✩✩✩
3 Фев 2020
2
0
@Koteyka, но там же устанавливаются значения для всех эффектов, разве нет?
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
@Egor0387, да, для всех. Но если у вас огонь неправильный, то и остальные такие же. Даже если визуально вам кажется, что все нормально. Не верите, включите "матрицу" чтобы удостовериться.
 

swen

✩✩✩✩✩✩✩
3 Фев 2020
24
3
@Palpalych, поставил все работает! Спасибо!! Под мою матрицу пришлось ещё "радугу диагональную" подправить, выше есть решение....
 

swen

✩✩✩✩✩✩✩
3 Фев 2020
24
3
@renby, у меня она не коннектится к роутеру:
C++:
23:04:07.569 -> Init: Рестарт для применения заданного статического IP адреса...
23:04:07.773 ->
23:04:07.773 ->  ets Jan  8 2013,rst cause:4, boot mode:(3,6)
23:04:07.773 ->
23:04:07.773 -> wdt reset
23:04:07.773 -> load 0x4010f000, len 1384, room 16
23:04:07.773 -> tail 8
23:04:07.773 -> chksum 0x2d
23:04:07.773 -> csum 0x2d
23:04:07.773 -> v8b899c12
23:04:07.773 -> ~ld
23:04:07.839 ->
23:04:09.986 -> *WM: settings invalidated
23:04:09.986 -> *WM: THIS MAY CAUSE AP NOT TO START UP PROPERLY. YOU NEED TO COMMENT IT OUT AFTER ERASING THE DATA.
23:04:10.087 -> Init: Настройки WiFiManager сброшены
23:04:18.490 ->
23:04:18.490 ->  ets Jan  8 2013,rst cause:4, boot mode:(3,6)
23:04:18.490 ->
23:04:18.490 -> wdt reset
23:04:18.490 -> load 0x4010f000, len 1384, room 16
23:04:18.490 -> tail 8
23:04:18.490 -> chksum 0x2d
23:04:18.490 -> csum 0x2d
23:04:18.490 -> v8b899c12
23:04:18.490 -> ~ld