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

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
Приветствую! Понимаю, что вопрос мой уже явно был, но 118 страниц ... 🥴
Вобщем поможите.
Собрал я лампу, в подарок сестрёнке. Установил прошивку от Ганнера , всё настроил, всё заработало. Первоначально подключился к АР Led Lamp , ввёл свои данные вайфай, всё нашлось, в приложении лампа определилась и прекрасно работала. Потом поменял прошивку на уже 69 в одном. Данные моего вайфая не сбросились, прошивка сразу заработала и подключилась к роутеру. Ну вот я закончил мелочёвки и пришло время отправлять лампу как подарок по почте. Спросил имя и пароль вайфая сестрёнки, решил сразу вбить чтобы она не мучилась. И вот тут я начал мучиться сам... Нажимаю 7 раз на сенсор, лампа загорается красным, точка доступа появляется в поиске. Набираю в строке браузера 192.168.4.1 и ничего.... Вечно думает и не подключается.... Эффекты при этом работают с кнопки. Ещё 7 раз нажать и лампа пропадает из поиска, ещё 7 раз и появляется, но нет подключения к веб интерфейсу... Подскажите пожалуйста порядок действий...
К точке доступа сестры вы вряд ли подключитесь заранее.
7 нажатий подряд не сбрасывает настройки.

Чтобы начать жизнь с чистого листа, нужно использовать утилиту для очистки памяти (на главной странице проекта Алекс написал, что делать).
Потом прошейте лампу, и отправляйте.
Советую изменить в прошивке время ожидания ввода настроек доступа к роутеру.
По умолчанию там 5 минут. Для сестры - пару часов можно поставить.
 
  • Лойс +1
  • Ахах! +1
Реакции: Maxim83, stepko и menooooo

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32

@Сотнег,
Понятно. Я постараюсь найти єффекты получше.
Хочется найти єто: https://gfycat.com/ru/offensivevariableeuropeanpolecat
И еще может еще добавить вывод анимации?
(Видео отсутствует)
Ок тоже не то,
А что мне нужно зделать для корректного отображения анимации?

Здесь
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@stepko,
там всё плохо в коде.
Обращения к массиву явно кривые, и вместо картинок из массива там отображаются случайные наборы данных.

А для регулировки скорости кадров никакие gifTimer не нужны.
Скорость кадров регулирует сама прошивка.
 
  • Лойс +1
Реакции: stepko

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
@Сотнег, еще хуже стало изображение стало неразборчевым(последние куски анимации стали полностю таким), попытаюсь найти другой код
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
Ну и "лютенький п@здец" можно вернуть попробовать.
Я перезалил файл.
 
  • Ахах! +1
Реакции: stepko

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
@Сотнег, Я взял от gyvermatrix его тестил и там тоже как изначально(как и показывал),(с этим лютеньким) показывает нормально изображение, а потом все - помехи вплоть до полностью белого и полностью черного и снова изображение и потом помехи и еще если вместо sizeof вказать 13 все нормально идет
Ах да изображение перевернутый вбок
Прошивку обновил, а как тебе такое оформление прошивки?
 
Изменено:

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
@Сотнег, И я не сильно, просто сделал как в вайфай версии constants.h чтобы удобно было и эффекты в effectTicker сделал так чтобы смотрелось нормально.
@Сотнег, а как его развернуть он повернутый вправо
 

Вложения

Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@stepko,
либо в массиве разворачивать значения,
либо в цикле i и j местами менять
drawPixelXY(j, i, pgm_read_word(&framesArray[frameNum][i][j]));
 
  • Лойс +1
Реакции: stepko

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
@Сотнег,вверх дном, нужно так
C++:
      drawPixelXY(i, j, gammaCorrection(expandColor(pgm_read_word(&framesArray[frameNum][HEIGHT - j - 1][i]))));
Не вышло, он отзеркалился, и верхний ряд перешел на низ + несколько шумов в верхнем слое на низу
мой код сверху - правильное решение
Очень тебе спасибо, как я могу тебя отблагодарить?
 
Изменено:

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
. @Сотнег, Ок мне нужна еще одна помощь, помоги мне поправить тригер и индикацию состояния демо режима, пожалуйста, версия 1.5
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@stepko,
Поправить тригер - это переключение при нажатии кнопки?
типа такого:
C-like:
if (touch.hasClicks())
  if (touch.getClicks() == 5)) {      // если было пятикратное нажатие на кнопку, то производим сохранение параметров
    if (EEPROM.read(0) != 102) EEPROM.write(0, 102);
    if (EEPROM.read(1) != currentMode) EEPROM.write(1, currentMode);  // запоминаем текущий эфект
    for (byte x = 0; x < MODE_AMOUNT; x++) {                          // сохраняем настройки всех режимов
      if (EEPROM.read(x * 3 + 11) != modes[x].Brightness) EEPROM.write(x * 3 + 11, modes[x].Brightness);
      if (EEPROM.read(x * 3 + 12) != modes[x].Speed) EEPROM.write(x * 3 + 12, modes[x].Speed);
      if (EEPROM.read(x * 3 + 13) != modes[x].Scale) EEPROM.write(x * 3 + 13, modes[x].Scale);
    }
  }
  else if (touch.getClicks() == 4))      // если было четырёхкратное нажатие на кнопку, то переключаем демо
    isDemo = !isDemo;
Индикацию состояния не увидел.
Зачем она вообще?
 
  • Лойс +1
Реакции: stepko

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@stepko,
тогда, наверное
C-like:
  else if (touch.getClicks() == 4))      // если было четырёхкратное нажатие на кнопку, то переключаем демо
   {
     isDemo = !isDemo;
     numHold = 4;   //а рисовать индикатор произвольной формы нужно в effectTicker.ino -> switch (numHold)
   };
 
  • Лойс +1
Реакции: stepko

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
@Сотнег, Очень тебе спасибо, показ включёнести демо чуть иначе, если включил эффект следующий, если выключил эффект остаётся
 

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
@Сотнег, если 4 раз нажал и сменился эффект - демо включил, если ничего не поменялось - демо выключил
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
Прошивка 73 эффекта в 1
Ссылка на загрузку архива с прошивкой: https://download.ru/files/SS2uGwDU
Что нового:
  • Добавлены эффекты Пикассо.
  • Добавлен эффект Прыгуны.

@kostyamat, @obliterator,
Там у вас в коде глючная для нашего контроллера функция abs().
Надо заменить на fabs(). Неизвестно, не станет ли от этого хуже выглядеть, но поправить надо.
 
Изменено:
  • Лойс +1
  • Красота! +2
Реакции: Belokota, Burai и stepko

atomix

✩✩✩✩✩✩✩
20 Июл 2020
1
1
Можете вставить в свои исходники доработку чтобы текст в бегущей строке мог использовать знак тире.

вот исправленный код в parsing.ino

C++:
    else if (!strncmp_P(inputBuffer, PSTR("TXT"), 3)) {     // Принимаем текст для бегущей строки
      String str = getValue(BUFF, '-', -1);
      str.toCharArray(TextTicker, str.length() + 1);
    }
C++:
String getValue(String data, char separator, int index)
{
  int found = 0;
  int strIndex[] = { 0, -1 };
  int maxIndex = data.length() - 1;
  for (int i = 0; i <= maxIndex && found <= abs(index); i++) {
    if (data.charAt(i) == separator || i == maxIndex) {
      found++;
      strIndex[0] = strIndex[1] + 1;
      strIndex[1] = (i == maxIndex) ? i + 1 : i;
    }
  }
  if (index < 0) { index = abs(index);    strIndex[1] = -1; }
  return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
}
 
  • Лойс +1
Реакции: Сотнег