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

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@kDn, ок, назначаем тебе за главного! :cool:
Самое главное, о чем писал - желательно обеспечить преемственность с прошивкой Ганнера. Чтобы можно блоками менять в ней исправленные функции. Скажи, мой загрузчик войдет в этот проект? Или требуется доработка? Когда правил код, то у меня постоянно была нажатой кнопка () у меня сенсорная синяя) из-за того, что у тебе в скетче был прописан пуллап ((( Думаю, конфигурацию таких вещей нужно переместить в Constsnts.h

В связи с этим у меня вопрос-предложение. Думаю прописать несколько эффектов, но тогда такая штука будет конфликтовать с телефонными софтинами. Предлагаю подумать всем, как лучше организовать список эффектов в конфигурации лампы, и чтобы софтина могла получить этот список и настроить регуляторы по заданным параметрам.
Предположительно, телефон должен запросить этот список, а уже лампа передать его на телефон. Набор записей должен содержать информацию об эффектах и о порядке их перечисления. Структура записи должна содержать:
- имя эффекта (Можно списочное значения для разных языков, например "Matrix|Матрица", "Rainbow|Радуга"...)
- порядковый номер в прошивке Ганнера (для совместимости)
- тип регулятора(ов) (линейный, логарифмический, оттенок...), а также их диапазон

тогда мы себе развяжем руки для написания и адаптации новых эффектов! Как вам идея?:)
 
  • Лойс +1
Реакции: Ghost22

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Андрей_47, значит мосфет не закрывает (не отсекает) полностью питание, а красные светодиоды самые чувствительные - работают при микротоках... Насчет элементной базы не помню уж лет 10-15 прошло как занимался проектированием устройств... на такие цепи ставили специальные мосфеты, часто их называли импульсными, но функционально они работали в ключевом режиме от логических уровней (здесь он 2,8-3,0). Но еще лучше для таких целей будет применение IGBT. Насчет конкретного тут тоже не подскажу, так как применял только силовые. Может уже есть какой маленький-компактный.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Скажи, мой загрузчик войдет в этот проект? Или требуется доработка? Когда правил код, то у меня постоянно была нажатой кнопка () у меня сенсорная синяя) из-за того, что у тебе в скетче был прописан пуллап ((( Думаю, конфигурацию таких вещей нужно переместить в Constsnts.h
Загрузчик добавил уже, также обернул вывод в лог проверкой на то, что он включен (т.к. строковые константы расходуют место) и в большинстве случаев лог не особо нужен. Все дефайны (может чего пропустил конечно, но надеюсь что все - переместил в константы, чтобы не лазить по разным файлам), также чуть уменьшил количество файлов. Список эффектов предполагается динамическим, но я понятия не имею когда у меня до него руки дойдут, я пока занимаюсь прошивкой. В виду того, что приложением никто особо не занимается, то и не хочу пока сильно переделывать эту часть, пока не будет готово остальное. Но естественно нужно передавать и названия и настройки и прочее. Тем более что это элементарно делается.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@renby, в константах меняется часовой пояс и подобные настройки LOCAL_OFFSET
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@renby,
Constants.h
C++:
#define LOCAL_OFFSET          (3 * 60)                      // смещение локального времени относительно универсального координированного времени UTC в минутах
#define LOCAL_TIMEZONE_NAME   ("MSK")                       // обозначение локального часового пояса; до 5 символов; может быть использовано, если понадобится его вывести после вывода времени
@kDn, загрузчик тот, который вчера выложил? тогда все ок, спасибо! Обрати внимание на комментарии, я подробно прописал что-к чему и все константы включил в setup

На днях продумаю по поводу динамического списка. Если будут предложения - делитесь...
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@kDn, И точно! ))) Если честно, я особо не изучал еще скетчи, но там прописаны все те идеи, которые излагал, но, видимо нереализованные.- как говорится, "у кодеров все мысли сходятся ")))
 

Андрей_47

✩✩✩✩✩✩✩
6 Янв 2020
6
0
@Palpalych, Ну так я так и написал, что не отключает матрицу.
Нужна правильная схема. Может кто таки сделал?
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
Добрый день, или вечер. Столкнулся с проблемкой, не работает диагональная радуга корректно если настройка матрицы не 16х16 а например как у меня 16х18, где 18 высота. Точнее радуга есть но далеко не диагональная а просто горизонтальная, менял константы на 16х16 всё работает, но как только ставлю высоту 18, перестает быть диагональной. а ребенку так нравится этот режим, да и мне тоже. Кто-нибудь сможет подсказать, где копать?
C++:
void rainbowDiagonalRoutine(char *param){
  if (loadingFlag)  {
    loadingFlag = false;
    FastLED.clear();
  }

  hue += 8;
  for (uint8_t i = 0U; i < WIDTH; i++)  {
    for (uint8_t j = 0U; j < HEIGHT; j++)    {
      float twirlFactor = 3.0F * (modes[EFF_RAINBOW_DIAG].Scale / 100.0F);      // на сколько оборотов будет закручена матрица, [0..3]
      CRGB thisColor = CHSV((uint8_t)(hue + (float)(WIDTH / HEIGHT * i + j * twirlFactor) * (float)(255 / maxDim)), 255, 255);
      drawPixelXY(i, j, thisColor);
    }
  }
}
Видимо WIDTH / HEIGHT = 0 :)
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Андрей_47, мне еще не доехали полевики. Брал irfz44n и irf3205. Когда доеду, тогда и подключу.
 

Андрей_47

✩✩✩✩✩✩✩
6 Янв 2020
6
0
@kDn, У меня есть irf3205. Пробовал на irlb3034 - не пошло. Схема то какая? Такая же как у Гайвера на сайте?
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Андрей_47, Посмотрел даташиты. Но многое не понятно. Красный цвет СД обусловлен пониженным питанием матрицы <3.5В. В этом состоянии они еще способны выводить изображение. Но вот, когда мосфет отсекает питание, а диоды выводят информацию говорит о том, что он приоткрыт наполовину, и значит работает в линейном режиме. Он у тебя греется? Ватта 2 на нем должно рассеиваться в таком случае...
Думаем дальше. По правильному цепь нагрузки должна быть подключена к истоку...
Замерь напряжение Затвор-Исток. Если оно будет выше 1В для irlb3034, то, теоретически, возможно что он приоткрыт.

Для irf3205 напряжение З-И не должно превышать 2В
 

Андрей_47

✩✩✩✩✩✩✩
6 Янв 2020
6
0
@Palpalych, Нет не греется. Полуоткрыт и это не теоретически. При подаче управляющего сигнала на затвор мосфет открывается, но цель установки мосфета в том что бы матрица не жрала вообще ничего, когда лампа в ждущем режиме, а оно вон оно чаво...
То есть матрицу нужно отключать от плюса питания, а не от общего.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Андрей_47, Ну да, походу матрицу запитали как обычный светодиод )))))))))) и естественно оторвали минус от массы.
Еще учти, что при установке ключа по питанию нужно смотреть, чтобы он нормально работал в таком режиме от логики, и не было пробоя как самого ключа, так и контроллера. На всякий случай поставь защитный зенер 3,6В (а лучше 3,3, если найдешь) и сопротивление на выход контролера
 
Изменено:

Fortunate

★✩✩✩✩✩✩
10 Янв 2020
41
28
Москва
@SeregaAnd, попробовал настроить Алису и Кузю по твоей схеме. Только взял не розетки, а выключатели - логика работы у них одинаковая (вкл/выкл), а выглядит понятнее. Да, эффекты по имени Алиса переключает, но я выявил две проблемы.
1.
Если я даю команду включить светлячки (к примеру) - они включаются. Потом даю команду включить белый свет - он включается. Потом хочу включить обратно светлячки, то команда не отрабатывается. Потому что Алиса думает, что они уже включены.
8c08bb93c1.jpg
Однако, если же я даю команду выключить светлячки, то они включаются! Потому что у Кузи такие настройки
1ce5b5557a.jpg
и Алиса передавая Кузе команду на выключение активирует включение o_O
Лечится либо считыванием состояния лампы/эффекта (а как?), либо заданием Кузе пустого правила на выключение эффекта, что не очень удобно.
2.
К примеру, есть такой сценарий:
6828db6e83.jpg
При его запуске, Алиса передает через Кузю команды на MQTT сервер для светлячков и для лампы. Последовательно. Поскольку состояние лампы не считывается, то выполнение команд не отслеживается. И получается, что команды переданы с минимальным интервалом, а лампа считывает топик с интервалом секунды 3, кажется. И первая команда теряется (или вторая - как повезет). Со второго раза уже срабатывает.
Лечится либо считыванием состояния лампы/эффекта (опять же как?), либо заданием минимального интервала чтения топика MQTT, что сильно нагрузит сеть.
Вобщем - печалька. В инструкцию пока не добавлял.
Если кто-то знает, как решить эти проблемы - напишите.
 
Изменено:
  • Лойс +1
Реакции: Burai

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Aleksys, Думаю, что так:

C-like:
CRGB thisColor = CHSV((uint8_t)(hue + ((float)WIDTH / HEIGHT * i + j * twirlFactor) * (255.0F / maxDim)), 255, 255);
Ошибка определения типов в функции. При развертывании сначала будет выполнятся (uint)WIDTH / (uint)HEIGHT а при значениях 16/16=1 и 16/18=0
Опять же теоретически, так как не очень хорошо знаю С, но в VB эта функция работала бы именно так. Теперь же при делении (float)WIDTH / (uint)HEIGHT будет получаться вещественное число и дальше функция будет оперировать этим типом.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Чуток поломал прошивку, так что сегодня скорее всего ее не выложу))). Придется обождать.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Разобрался в чем была проблема. Теперь предположительно работает. Но нормально не тестировал.
Пока прикладываю архивом как есть, мало ли - вдруг у кого на выходных будет желание поковыряться и поглядеть.
Константы и настройки все (вроде все) живут в Constants.h, то что инклуды в середине - нормально, т.к. пришлось выносить вверх то, что с зависимостями. В будущем может переделаю.

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

Вложения

  • Лойс +1
Реакции: genav и renby

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
Проще сделать один сборный GyverLamp-master проект, и добавить лишь одну папку \firmware\GyverLamp_kDnMod
тогда не будет проблем с перенастройкой уже установленных библиотек
 

Xplod

✩✩✩✩✩✩✩
16 Ноя 2019
14
9
Доброго всем дня. Или ночи.
Вопрос. Можно программно отключить диод на плате?
LED
 
Изменено:

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
На днях продумаю по поводу динамического списка. Если будут предложения - делитесь...
Наверное таки стоит в сторону JSON посмотреть, тем более есть хорошая Ардуино библиотека. Которая умеет и создавать и парсить json.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
@Xplod, какой именно? На разных платах, разный набор светиков. По питанию - нет. Если есть по RX/TX то, если нет обмена данными по UART, они и не светятся. Активности WIFI? Думаю, что тоже не получится (хотя?).
Или вы вообще какой-то другой диод имели в виду?