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
@Koteyka, скорее всего, приложение будет вылетать при попытке рисования.
Тут уже человек 7 из 7 отписались, что у них точно так же вылетает, как у меня.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Koteyka, Переписать не проблем на эффекты, даже в моей прошивке будет рисовать поверх, и даже, предполагаю с "разводами".
Чуть позже выложу, сейчас осталось чуть-чуть по сохранению настроек отладить, и совместимости приложений...
Касательно списков эффектов, также такая возможность реализована. Можно будет добавить раздел "Рисование" с различными эффектами... ))
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Koteyka, по поводу разбиения - лучше буфер сократить, это не отъест много памяти, и не придется делать сложноконфигурированную String
могу ли я отправить серию посылок UDP с разделением по каждому эффекту? Вероятно нужно будет ввести идентификатор эффекта для этого

к примеру:
UDP: "LIST1:*;25" < - передает количество эффектов
UDP: "LIST1:1;SPARKLES,1,100,1,100,0"
UDP: "LIST1:2;FIRE,1,100,0,255,0"
.....
Соответственно Зарос LIST1:* <- для передачи всех эффектов? Запрос LIST1:1 - для первого и так далее...

И еще, в своем приложении поставь защиту от неправильно полученных данных. Вероятно оно вылетает при этом (к примеру если значение регулятора больше, чем оно предустановленно)
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
к примеру:
UDP: "LIST1:*;25" < - передает количество эффектов
UDP: "LIST1:1;SPARKLES,1,100,1,100,0"
UDP: "LIST1:2;FIRE,1,100,0,255,0"
@Palpalych, я это изначально предлагал, ещё когда пытался массив отправить в PROGMEM.
@Koteyka забраковал. Сказал, что слишком долго займёт сеанс полной передачи.

А передавать отдельно количество эффектов не требуется. Оно станет известно, если запросить список Избранного.
 

Shaitan

★★★✩✩✩✩
17 Фев 2020
182
165
@Koteyka, Можно ли как то из прошивки определить, какое приложение подключилось для управления?
Например можно ли при подключении (или лучше перед каждым запросом) послать "KOT"
тогда в прошивке можно будет прогнозировать бегунки скорости, масштаба и т.д.
 

Shaitan

★★★✩✩✩✩
17 Фев 2020
182
165
@Koteyka, в приложении в избранном есть регулятор яркости, который посылает GBRnnn. Есть ли обратная связь?
Если есть, то что нужно послать приложению для установки регулятора?

Есть мысль привязать этот регулятор к максимальной яркости "Рассвет", убрав его из констант.
 
Изменено:

Shaitan

★★★✩✩✩✩
17 Фев 2020
182
165
@Сотнег,
для примера я громкость (0-30) перевожу командой
set_mp3_volume=map(modes[currentMode].Speed,1,255,0,30);
в приложении @Koteyka я могу сразу поставить интервал 0-30 для удобства и наглядности, но тогда будет неудобно управлять из старого приложения.

И еще. для старого приложения мы переворачиваем speed, а для нового не переворачиваем.
и так далее. множество несовместимостей.
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
И еще. для старого приложения мы переворачиваем speed, а дл
То, что скорость была задом наперёд - это был косяк прошивки.
Костыль в приложении FireLamp отключается, если передать ему правильный реестр эффектов.
Не нужно встречный костыль в прошивку вставлять.
 

Shaitan

★★★✩✩✩✩
17 Фев 2020
182
165
@Сотнег, у нас и так костыль на костыле.
но тут хоть логика есть. число больше-скорость больше.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Сотнег, @Shaitan, нужно чтобы приложение отрабатывало колесо и все, пусть даже 0...255... задача прошивки отсечь или масштабировать в нужный диапазон. Или прошивка должна указывать диапазон и направление, а приложение просто отрабатывать эти настройки. Второй вариант предпочтительнее (для наглядности)
 

Andrewstr

✩✩✩✩✩✩✩
10 Дек 2019
3
1
Ребят, а можно как-то прикрутить кнопку в приложении (или хотя бы строку с возможностью задать вкл/выкл только в прошивке), которая бы включала/выключала синий яркий бесящий светодиод на плате wemos d1 mini ?
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@Palpalych, @Andrewstr,
pinMode(BUILTIN_LED, OUTPUT); // set onboard LED as output
digitalWrite(BUILTIN_LED, LOW); // turn OFF
//digitalWrite(BUILTIN_LED, HIGH); // turn ON

в void setup(), наверное добавить после
Serial.begin
 
Изменено:
  • Лойс +1
Реакции: Shaitan и Andrewstr

Shaitan

★★★✩✩✩✩
17 Фев 2020
182
165
@Andrewstr,
синий яркий бесящий светодиод на плате wemos d1 mini

запихни в черную, широкую термоусадку.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Palpalych, @Andrewstr,
pinMode(BUILTIN_LED, OUTPUT); // set onboard LED as output
digitalWrite(BUILTIN_LED, LOW); // turn OFF
//digitalWrite(BUILTIN_LED, HIGH); // turn ON

в void setup(), наверное добавить после
Serial.begin
Цитирую вас, но пишу для всех. :)

Для отключения нужно так:
C++:
digitalWrite(BUILTIN_LED, HIGH); // turn OFF
именно высокий уровень, при этом следует учесть пару важных моментов:
1. Лента должна быть подключена не на этот же пин (а по дефолту лента именно параллельно данному пину прицеплена).
2. Если нечто внешнее или внутреннее изменяет состояние данного пина, то нужно гасилку вешать в цикле loop
3. Если вы просто сейчас впихнете в loop приведенную выше строку, плюнув на рекомендации повесить ленту на иной пин - то гарантировано огребете проблем и разных глюков в работе ленты/лампы, при этом сам светюлик встроенный будет выключаться только при выключенной ленте))), при включенной - обмена достаточно для того, чтобы он светился.

* С какого хрена лента вешалась параллельно этому встроенному светюлику - хз, так исторически сложилось :) .
** Кстати, если действительно на этом же пине еще и обмен по WiFi висит, то это как бы хреново для ленты, т.к. 100% приведет к глюкам и разного рода артефактам (которые впрочем могут быть не заметны при высокой частоте перерисовки). Но если кто-то все же не хочет себе лишнего геморроя по поиску странных глюков - то ИМХО имеет смысл всеж-таки подключить матрицу или ленту к другому пину.
 
Изменено:

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@kDn, Ага, все точно... Косяк разработчиков.
1584632882327.png
Нужно обсудить куда подключать тогда , а то некоторые пины в обширных самоделках уже заняты
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
Пацан сказал - пацан сделал! :)
Выкладываю свою бету GyverLamp_v.1.7b. Долго не мог этого сделать, так как это затронуло кардинальное переписывание кода и его отладку - то есть выкорчевывание глобальных костылей. Основные изменения коснулись:

- Power: Выкинул дюжину разнообразных флагов состояния лампы, которые сложно было отслеживать, и добиваться их толковой работы. Введен режим PowerMode, из которого просто организовать простой контроль над функциями лампы. Появился режим SLEEP - режим с наименьшим энергопотреблением. Также реализованы состояния OFF(в целом лампа выключена, но возможен показ, к примеру, бегущей строки) и ON (показ и выбор эффектов). Туду - в эффекты планируется добавить профили DEMO, DAWN, LOUNGE (вечерние эффекты с таймером), BEDLAMP (ночник), и возможно PAINT (для приложения рисования от Котейки)

- Effects: Теперь можно собирать свои подборки эффектов, задавать им свои имена (+кириллица), а так же задавать параметры регуляторов для приложения. Сами эффекты можно включать как кубики Lego - вписывать свои, масштабировать (сборные, переключаемые по времени)... Поле расширено до 255 эффектов по умолчанию. Для удобства написания появилась возможность подключать свои библиотеки с эффектами. Работает с приложением v2.0 от Koteyka.

- Button: теперь кнопка может быть легко настроена из каждого профиля со своей логикой работы. (Кстати, требуется последняя библиотека Gbutton 3.4 от Гайвера) Реализовано:
Из профиля OFF:
1 кратное нажатие - показ часов (при работе в режиме клиента). Повторное нажатие во время показа - переход в режим ON
3 кратное нажатие - смена бэкграунда режима OFF
6 кратное нажатие - прошивка по OTA
8 кратное нажатие - смена режима ESP - точка доступа/клиент
Из профиля ON:
1 кратное нажатие - показ часов (при работе в режиме клиента). Повторное нажатие во время показа - переход в режим OFF
2 кратное нажатие - смена эффекта вперед
3 кратное нажатие - смена эффекта назад
7 кратное нажатие - сброс настроек эффектов
0 удержание - регулировка яркости
1 удержание - ... скорости
2 удержание - ... масштаба
(соответственно - при пополнении профилей можно расширять и настраивать свое поведение)

- Brightness: яркость теперь полноразмерная, не зависит от глобального ограничителя и настроек эффектов. Плавное включение. Мягкая прорисовка эффектов при пониженной яркости (!!!)

- OSD: бегущая строка не влияющая на вывод эффектов, с различными плюшками. Пользовательские индикаторы регуляторов.

- LEDraw: библиотека для работы с эффектами. начал собирать графические процедуры в одном месте, (для скорости и экономия места в прошивке)

Это пока бета. Многое еще не подключено. Многое требуется выкинуть, так как код писался как бродившее тесто.
Если кого заинтересует такая платформа - пишите. Буду допиливать до первоначального функционала Gunner47 + kDn, а там посмотрим... Изменения в бетах буду делать еще практически во всем, кроме в модуле эффектов. Поэтому можно будет уже допиливать текущие, и создавать свои. Ну или дербаньте прошивку на решения и вставляйте их в свои - не жалко! :cool:
 

Вложения