ESP, IoT WiFi лампа-будильник. Обсуждение проекта

Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

Комментарии

recoshet

★✩✩✩✩✩✩
15 Июн 2019
1
14
Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Можно сделать как в старых лампах - там легкий пропеллер стоит с щелевым светофильтром. От нагрева всё вращается - и на плафоне появляются бегущие фигурки или разводы (y):D

Да, помню, был такой светильник. На вращающейся поверхности были нанесены изображения рыбок, они плавали... ))
Но как охлаждение - он абсолютно неэффективен.
 
  • Лойс +1
Реакции: malec

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Подскажите, каким образом сделано ограничение по току? Это на прогораммном уровне или по железу как-то? Есть библиотека которая за это отвечает, как она это высчитывает.
Это сама библиотека FastLed. Ежели кто и подробно расскажет, то либо сам Алекс Гайвер либо официалы http://fastled.io
Нам же достаточно команды ограничения из неё.
 
  • Лойс +1
Реакции: malec

Ingvarik

★✩✩✩✩✩✩
23 Дек 2019
5
13
(y)
Да, цилиндр смотрится получше. Как я понимаю это связано с тем, что матрица дальше от стенок плафона чем в квадратном.
Что бы в квадратном увеличить рассеивание и убрать явные пиксели, на матрицу можно намотать 1-2 слоя кальки, она же бумага для выпекания (я у жены кусочек стащил :))
Да... плафон ИКЕИ хуже заматирован, что-то с этим надо делать будет... Он физически выглядит более монументально (тяжелее) и за счет разного расстояния между матрицей внутри и сторонами/углами - смачность и законченность игры цвета теряется.
Но там еще есть не малая проблема с геометрией. Цилиндр сделан точно и повторяемо, а вот у квадрата верхи сторон завалены/искривлены во внутрь... Стороны не ровные. С одной стороны это хорошо и плотнее держит крышку, с другой - от плафона к плафону может чуть меняться геометрия. Я с этим столкнулся, распечатав модель от Радиона... она мне тупо не встала на место.
Так что при прочих равных - я за цилиндр! Да и Apple и иже с нми приучили к такой форме и глаз лежит на нем хорошо... :))))
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Да, помню, был такой светильник. На вращающейся поверхности были нанесены изображения рыбок, они плавали... ))
Но как охлаждение - он абсолютно неэффективен.
Более того он ещё и мешает выходу тепла, а вот парни собирали на железной трубе да и у Гайвера про новую огромную лампу видос, он её на железной трубе собрал... вот туда решетку из алюминия с теплопроводным клеем, вообще теплоотвод должен получиться по идеи хороший, но это идея... т.е. теория))))
 

Violadus

★✩✩✩✩✩✩
5 Дек 2019
73
12
@Violadus, @t_igr, Молотком? за 3 минуты??? потом клеить? А если в подарок. Нуууу... не знаю. По мне лучше 2 диода в ленту впаять )))
в матрицу впаять? ну думаю это сложней чем резистор найти и подобрать будет в БП, а при навыке правильно колоть ;) склеивается по тем же швам почти незаметно. Ну вопрос кому как удобно, либо купить у китаецев БП, а вот у меня на работе дохуа плат от аппаратуры, но беда, они без корпуса, верней корпуса то есть , это коммутаторы в которых они стояли, поэтому тут вопрос, либо в корпус лампы пихать либо искать какие то подходящие коробочки.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
в матрицу впаять? ну думаю это сложней чем резистор найти и подобрать будет в БП, а при навыке правильно колоть ;) склеивается по тем же швам почти незаметно. Ну вопрос кому как удобно, либо купить у китаецев БП, а вот у меня на работе дохуа плат от аппаратуры, но беда, они без корпуса, верней корпуса то есть , это коммутаторы в которых они стояли, поэтому тут вопрос, либо в корпус лампы пихать либо искать какие то подходящие коробочки.
А чего сложного? отпаять 1 вывод от гибкой подложки? Потом, кажется, что последние 2812 лишены эффекта несогласования уровней
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
А чего сложного? отпаять 1 вывод от гибкой подложки? Потом, кажется, что последние 2812 лишены эффекта несогласования уровней
Да ладно вам изголяться. Десятиамперный диод стоит ~10 центов. Понижаем на всю матрицу (ленту) и резать (отпаивать) ничего не надо.
Отпаивать лучше друзей, пивом ))
 

lllRaul

✩✩✩✩✩✩✩
10 Дек 2019
5
3
Норот, есть кто кому не лень рассказать очевидные ему вещи? :
Они ничуть не очевидные. Я поменял порядок эффектов и в прошивке от @gunner47 и в приложении от @Koteyka(в том числе менял некоторые ограничения скорости и масштаба в java файле ActivityMain), эффекты переключаются правильно, но в трети из эффектов регулятор скорость лагает. Буду рад, если и мне объясните, что нужно допилить помимо изменения порядка
 

Вложения

  • 16.6 KB Просмотры: 266
  • Лойс +1
Реакции: ЯsailoR и malec

ecer

✩✩✩✩✩✩✩
25 Июн 2019
13
2
Народ, кому не сложно, помогите советом. Собрал матрицу из ленты, но клеил перпендикулярно основанию. Подскажите, что нужно изменить в прошивку, чтобы эффекты отображались корректно. Метод проб и ошибок результатов не принёс, к сожалению.
UPD: Спасибо George и malec, действительно проблема была из-за неверной ширины и высоты матрицы!
 
Изменено:

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Народ, кому не сложно, помогите советом. Собрал матрицу из ленты, но клеил перпендикулярно основанию. Подскажите, что нужно изменить в прошивку, чтобы эффекты отображались корректно. Метод проб и ошибок результатов не принёс, к сожалению.
Правильно задать высоту ширину
Найти начало матрицы и угол поворота в скетче.
Тут было несколько страниц назад тоже самое.
 
  • Лойс +1
Реакции: ecer

malec

★★★★✩✩✩
5 Фев 2019
680
257
Народ, кому не сложно, помогите советом. Собрал матрицу из ленты, но клеил перпендикулярно основанию. Подскажите, что нужно изменить в прошивку, чтобы эффекты отображались корректно. Метод проб и ошибок результатов не принёс, к сожалению.
#define DEVICE_TYPE 0 // Использование матрицы: 0 - свернута в трубу для лампы; 1 - плоская матрица в рамке
#define MATRIX_TYPE 0 // тип матрицы: 0 - зигзаг, 1 - параллельная
#define CONNECTION_ANGLE 3 // угол подключения: 0 - левый нижний, 1 - левый верхний, 2 - правый верхний, 3 - правый нижний
#define STRIP_DIRECTION 3 // направление ленты из угла: 0 - вправо, 1 - вверх, 2 - влево, 3 - вниз

Метод тыка меняй значения...
 
  • Лойс +1
Реакции: ecer

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
что нужно допилить помимо изменения порядка
В приложении в нескольких местах условия, как себя вести в том или ином эффекте.
Раз вы сменили порядок эффектов, то сменилась и Position в выпадающем списке, а так же при обмене информацией с прошивкой.
Это всё нужно учитывать. Нельзя просто поменять что-то не предугадав последствия
 
  • Лойс +1
Реакции: George и malec

Dr_virus

✩✩✩✩✩✩✩
21 Янв 2020
79
7
Сейчас подрубил мультиметр в параллель со своим сетевым адаптером, вижу что при максимальной яркости эффектов, напряжение проседает с 5 до 4 вольт, видать адаптер так себе как бы((( Но работает все вроде бы корректно
 

lllRaul

✩✩✩✩✩✩✩
10 Дек 2019
5
3
В приложении в нескольких местах условия, как себя вести в том или ином эффекте.
Раз вы сменили порядок эффектов, то сменилась и Position в выпадающем списке, а так же при обмене информацией с прошивкой.
Это всё нужно учитывать. Нельзя просто поменять что-то не предугадав последствия
В activity_main.xml файле всё учел и в MainActivity.java поменял условия с учётом нового порядка, как на скриншоте. Пожалуйста подскажите, если ещё где-то надо изменить
 

Вложения

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Пожалуйста подскажите, если ещё где-то надо изменить
Я же не знаю порядок ваших эффектов.
По мимо сикбаров еще нужно указать правильные значения эффектов в методе UpdateUI
Ищите что-то типа такого
C++:
if((Position >= 0 && Position < 7) || (Position > 15)) {
  SeekScale.setProgress(Integer.parseInt(StriStat[4]));
} else {
  SeekScale.setProgress(Math.round(SeekScale.getMax()) - Integer.parseInt(StriStat[4]));
}
Position это номера эффектов, а дальше условия реверсировать регулятор или нет или установить максимальное значение регулятора в нужное.
В общем пересмотрите все места, где есть position или Position и подставляйте номера ваших еффектов

А вообще, судя по моему опыту в программировании, написать что-то с нуля намного проще, чем переделывать чьё-то.
Мне, например, не очень понравилось приложение от Gunner47 (не в обиду Gunner-у), но я не стал его переделывать. Я просто под его прошивку написал своё.
Я программирую на многих языках и всегда проще сделать с нуля, чем переделать. Идеи, конечно, можно черпать из уже существующего, но реализация должна быть своя. Тогда вы полностью будуте понимать свой код и разберетесь в любом нюансе.
 
Изменено:
  • Лойс +1
Реакции: malec и George

ecer

✩✩✩✩✩✩✩
25 Июн 2019
13
2
#define DEVICE_TYPE 0 // Использование матрицы: 0 - свернута в трубу для лампы; 1 - плоская матрица в рамке
#define MATRIX_TYPE 0 // тип матрицы: 0 - зигзаг, 1 - параллельная
#define CONNECTION_ANGLE 3 // угол подключения: 0 - левый нижний, 1 - левый верхний, 2 - правый верхний, 3 - правый нижний
#define STRIP_DIRECTION 3 // направление ленты из угла: 0 - вправо, 1 - вверх, 2 - влево, 3 - вниз

Метод тыка меняй значения...
Перебрал все 16 вариантов, но решения так и не нашёл.
Все результаты писал в некую табличку, что вышло: 10 комбинаций огонь идёт справа налево, 2 комбинации - слева направо и 4 варианта - попеременно (одна лента как и должно, снизу вверх, следующая сверху вниз). Комбинации, в которых так происходит - 0;1 1;3 2;3 3;1
Подключена матрица в правом верхнем углу, направление ленты вниз. Прошивка от gunner47.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Подключена матрица в правом верхнем углу, направление ленты вниз. Прошивка от gunner47.
По идее у вас должен работать вариант
#define CONNECTION_ANGLE 2
#define MATRIX_TYPE 1
#define STRIP_DIRECTION 3
 
  • Лойс +1
Реакции: ecer и malec

malec

★★★★✩✩✩
5 Фев 2019
680
257
Перебрал все 16 вариантов, но решения так и не нашёл.
Все результаты писал в некую табличку, что вышло: 10 комбинаций огонь идёт справа налево, 2 комбинации - слева направо и 4 варианта - попеременно (одна лента как и должно, снизу вверх, следующая сверху вниз). Комбинации, в которых так происходит - 0;1 1;3 2;3 3;1
Подключена матрица в правом верхнем углу, направление ленты вниз. Прошивка от gunner47.
Чёто запутал, не может быть 10 похожих вариантов, максимум 4.... на каждую сторону, Если у тебя правый верхний, должно быть
#define CONNECTION_ANGLE 2 // угол подключения: 0 - левый нижний, 1 - левый верхний, 2 - правый верхний, 3 - правый нижний
если с верху в низ
#define STRIP_DIRECTION 3 // направление ленты из угла: 0 - вправо, 1 - вверх, 2 - влево, 3 - вниз
Запутался сам))) Я по бегущей строке ориентируюсь...
 
Изменено:
  • Лойс +1
Реакции: ecer

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Перебрал все 16 вариантов, но решения так и не нашёл.
Все результаты писал в некую табличку, что вышло: 10 комбинаций огонь идёт справа налево, 2 комбинации - слева направо и 4 варианта - попеременно (одна лента как и должно, снизу вверх, следующая сверху вниз). Комбинации, в которых так происходит - 0;1 1;3 2;3 3;1
Подключена матрица в правом верхнем углу, направление ленты вниз. Прошивка от gunner47.
Высота / Ширина не перепутаны?
 
  • Лойс +1
Реакции: ecer

ecer

✩✩✩✩✩✩✩
25 Июн 2019
13
2
По идее у вас должен работать вариант
#define CONNECTION_ANGLE 2
#define MATRIX_TYPE 1
#define STRIP_DIRECTION 3
На лампе довольно сложно показать, по этому запустил на обычной матрице.
http://prntscr.com/qrykhp
Карандашом указал направление ленты и угол подключения (в прошивке CONNECTION_ANGLE 1, STRIP_DIRECTION 3), но эффект такой же. Эта матрица чуть больше, размеры в прошивке не стал менять, не думаю, что они влияют.
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Вот такая фигня как-раз из-за размеров...
У тебя половина эффекта с одной стороны , а вторая половина с другой из-за неправильного количества посчитанного ардуино
 
  • Лойс +1
Реакции: ecer

lllRaul

✩✩✩✩✩✩✩
10 Дек 2019
5
3
Я же не знаю порядок ваших эффектов.
По мимо сикбаров еще нужно указать правильные значения эффектов в методе UpdateUI
Все Position и position были изменены и не только position, как в выделенной строке
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Если получили ответ на GET
if (StriStat[0].equals("CURR")) {
itsFromESP = true;
if (isDigit(StriStat[3]) && isDigit(StriStat[1])) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
if ((Integer.parseInt(StriStat[1]) >= 0 && Integer.parseInt(StriStat[1]) < 11) || (Integer.parseInt(StriStat[1]) > 19)) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValIntSp = Math.round(SeekSpeed.getMax()) - Integer.parseInt(StriStat[3]);
ValStrSp = ValIntSp + "";
} else {
ValIntSp = Integer.parseInt(StriStat[3]);
ValStrSp = ValIntSp + "";
}
}
SeekSpeed.setProgress(ValIntSp);
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
В UpdateUI тоже поменял, но Speed так же лагает. Измененный список на скриншоте
 
Изменено: