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

malec

★★★★✩✩✩
5 Фев 2019
680
257
Вы уж извините, просто лампу перевез в другое место, попытался настроить через клиента Wi-Fi, фиг. Через точку доступа работает. Все понял, глюки чисто у меня. Не, я к тому - если у вас появится желание подправить прошивку - мы все были бы рады.
Такие проблемы были и раньше, приходилось править ИИПРОМ чтоб старые настройки из памяти контроллера стереть, поищи по его постам, по моему gunner47 правил эту проблему...
Вот где-то от сюда предлагались варианты
https://community.alexgyver.ru/threads/wifi-lampa-budilnik-obsuzhdenie-proekta.1411/post-10446
 
Изменено:

awiscan

✩✩✩✩✩✩✩
15 Ноя 2019
51
6
Всем большое сорри, никакого гнобления, конец года, сро(а)чняки по работе, пока нет времени на лампу. Если у кого-то есть вопросы, пишите пока в личку, за форумом не успеваю уследить.
В пути где-то зависла посылка с DFPlayer, всё никак не доедет с 11.11. Ещё планирую доделать. + по списку пройти, там много ещё чего осталось нереализованного.


Константа AP_PASS, если не меняли, то 31415926 (пароль точки доступа и он же для обновления по воздуху).
ЕС. Понятно. Надеюсь на каникулы. Не все же праздновать.
 

awiscan

✩✩✩✩✩✩✩
15 Ноя 2019
51
6
Такие проблемы были и раньше, приходилось править ИИПРОМ чтоб старые настройки из памяти контроллера стереть, поищи по его постам, по моему gunner47 правил эту проблему...
Вот где-то от сюда предлагались варианты
https://community.alexgyver.ru/threads/wifi-lampa-budilnik-obsuzhdenie-proekta.1411/post-10446
Малец, извините, уже сталкивался, уже исправил. Просто в гости приехал - а лампа сказала - извините... Блин, опять наговорил - лампу увёз на 40 км, то есть в своей сети Wi-Fi она нормально работала, а как чужая сеть, так проблемы.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
НЕТ! Яркость сейчас общая в парметре .setBrightness
Я немного не об этом.
Скажем так. Я установил себе яркость всех эффектов в 50. Не в коде, а из приложения. Затем включил цикл. Все эффекты у меня будут меняться с яркостью 50. Затем я захотел, чтобы все эффекты стали с яркостью 100. Для этого мне нужно снова каждому эффекту установить яркость в значение 100. Я вот об этом. Чтобы изменить сразу у всех эффектов, не выходя из цикла и не лопатя все эффекты.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
НЕТ! Яркость сейчас общая в парметре .setBrightness
Это ограничение реализовано, у Алекса этот параметр - 200, а КДн, её включил на полную - 255. За каждым нужен глаз да глаз ))).
Тут прикол в том, что чем меньше яркость, тем больше мерцание ШИМ. Но чем больше яркость, тем больше потребление. Я ессно глобальную яркость в прошивке делать буду, т.е. общую на все, а также индивидуальные. Но в той прошивке, что пилю - там бОльшая часть в виде заготовок и еще не дописано. Все в процессе :) . Я же еще не выпустил стабильную версию.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Я немного не об этом.
Скажем так. Я установил себе яркость всех эффектов в 50. Не в коде, а из приложения. Затем включил цикл. Все эффекты у меня будут меняться с яркостью 50. Затем я захотел, чтобы все эффекты стали с яркостью 100. Для этого мне нужно снова каждому эффекту установить яркость в значение 100. Я вот об этом. Чтобы изменить сразу у всех эффектов, не выходя из цикла и не лопатя все эффекты.
Я планирую чуть переработать все эффекты и да, буду приводить к единой яркости для режима демонстрации. В том числе и для бегущей строки. Если вы планируете дорабатывать приложение для поддержки этого - делайте, пригодится.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
Нашел сброс вайфая (забывание сети) у Ганнера - в прошивке в Constants нужно указать

#define ESP_RESET_ON_START (true) // true - если при старте нажата кнопка (или кнопки нет!), сохранённые настройки будут сброшены; false - не будут

При включении в сеть через пол-секунды нужно нажать на кнопку - тогда параметры сотрутся!
Очень полезная штука, если лампу на подарок, и нужно предварительно отладить!
 

awiscan

✩✩✩✩✩✩✩
15 Ноя 2019
51
6
НЕТ! Яркость сейчас общая в парметре .setBrightness
Это ограничение реализовано, у Алекса этот параметр - 200, а КДн, её включил на полную - 255. За каждым нужен глаз да глаз ))).

Чтобы не лопатить все в коде, следует заранее использовать в счетчиках например .setBrightness(100); — устанавливает яркость всей ленты (максимум(100,100,100), и вызывается в setup() единожды. В коде использовать регулировку нельзя! Для этого надо задавать параметры яркости значениями RGB. (50,0,0) — красный, но не такой яркий как максимальный(255,0,0). Полезность в том, что неудобно кодировать, когда бьет в глаза в разнобой цвет с уровнями 200-255. А так — установил временно strip.setBrightness(40) и выше этого значения ни один диод не прыгнет, как бы вы не задавали уровень в коде! Просто все итоговые цвета пикселей будут пропорционально пересчитаны для этого значения, как самого яркого.

Библиотека ФастЛед организована так, что оперирует гаммами (лес, океан, огонь и т.п.) она уже просчитана, а гаммы можно писать свои (их нормально различимых всего 125) Управляя яркостью, как я описал выше мы получаем ещё кучу иных оттенков с одним и тем же эффектом.
Поэтому править яркость в них нет смысла - более того - это зловредная трата времени!
Да вроде писано-переписано уж не один раз. Честно, не понял.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Я планирую чуть переработать все эффекты и да, буду приводить к единой яркости для режима демонстрации. В том числе и для бегущей строки. Если вы планируете дорабатывать приложение для поддержки этого - делайте, пригодится.
По сути вам нужно взять ФастЛед и перелопатить её, создав свою! Библиотека является цветовыми гаммами. В ней реализованы уже кучи эффектов и компактно записаны. (Океан, лес, радуга и т.д) Вам остаётся играть яркостью! Загляните в неё "собственноручно" т.е. "собственноОчно".
Нахрена велосипед!?! Создайте свои гаммы и не парьтесь! Для этого всё есть!
И весь этот "бутерброд" всего лишь из-за чрезмерного токопотребления. Отакэ.
 

awiscan

✩✩✩✩✩✩✩
15 Ноя 2019
51
6
Е
Да вроде писано-переписано уж не один раз. Честно, не понял.
Ещё раз - в прошивке все данные можно менять под себя. Та прошивка, что гуннер выложил - работает, другое дело, что там с разбегу не разберёшься.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
По сути вам нужно взять ФастЛед и перелопатить её, создав свою!
Это еще зачем?
Сейчас из приложения (либо кнопкой) вы уже передаете яркость эффекту. Просто для каждого эффекта запоминается своя яркость.
А изменить яркость одновременно всем эффектам сейчас не реализована.
Достаточно одной переменной и одного условия (точнее условие одно, но прописывается каждому эффекту) и всех делов.
Реализуется всё в течении получаса. В своем приложении я могу это сделать без проблем. Изменять прошивку Гунера и выкладывать ее, как свою не хочу. Поэтому и предложил Гунеру сделать это синхронно.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Е

Ещё раз - в прошивке все данные можно менять под себя. Та прошивка, что гуннер выложил - работает, другое дело, что там с разбегу не разберёшься.
Вот и я об этом! Ганнер намерен менять глобально эффекты (яркость по каждому эффекту отдельно), которые будут работать корректно только для его девайса.
Вы знаете почему Алекс Гайвер сказал, что данную лампу нельзя купить в магазине?! Отвечу!
Потому что, она плохо повторяема! Разброс параметров блоков питания, контроллеров, кнопок, матриц + скетчи. Что работает у одного - не заработает у другого.
Библиотека (гамм) - это способ унификации. Вывод настроек в отдельный файл - тоже.
Вот, правка готовых эффектов (снижением яркости) - уже работа не в ту степь. А- Написание новой гаммы - (массива) - работа в ту степь! Вот я о чём.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
По сути вам нужно взять ФастЛед и перелопатить её, создав свою! Библиотека является цветовыми гаммами. В ней реализованы уже кучи эффектов и компактно записаны. (Океан, лес, радуга и т.д)
Эти эффекты записаны отдельно в effects.ino и по совести к движку работы со светюликами отношения не имеют. В библиотеки я лезть особо не хочу. Дело в том, что еще вести свои версии библиотек потребует дополнительных сил и необходимости их включения в проект. Я же пытаюсь максимально на стандартном делать, для того чтобы повторяемость была выше. Моя единственная правка в фастлед - это константы для яркости, это уже описывалось в теме. По каким-то странным соображениям в фастлед они разные для разных цветов, соответственно регулирование лимита тока потребления работает не верно на стандартных константах... Файл power_mgt.cpp комментарий:
// These power usage values are approximate, and your exact readings
// will be slightly (10%?) different from these.
//
// They were arrived at by actually measuing the power draw of a number
// of different LED strips, and a bunch of closed-loop-feedback testing
// to make sure that if we USE these values, we stay at or under
// the target power consumption.
// Actual power consumption is much, much more complicated and has
// to include things like voltage drop, etc., etc.
// However, this is good enough for most cases, and almost certainly better
// than no power management at all.
//
// You're welcome to adjust these values as needed; there may eventually be an API
// for changing these on the fly, but it saves codespace and RAM to have them
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Это еще зачем?
Сейчас из приложения (либо кнопкой) вы уже передаете яркость эффекту. Просто для каждого эффекта запоминается своя яркость.
А изменить яркость одновременно всем эффектам сейчас не реализована.
Достаточно одной переменной и одного условия (точнее условие одно, но прописывается каждому эффекту) и всех делов.
Реализуется всё в течении получаса. В своем приложении я могу это сделать без проблем. Изменять прошивку Гунера и выкладывать ее, как свою не хочу. Поэтому и предложил Гунеру сделать это синхронно.
Эта реплика была не вам!
Это еще зачем?
Сейчас из приложения (либо кнопкой) вы уже передаете яркость эффекту. Просто для каждого эффекта запоминается своя яркость.
А изменить яркость одновременно всем эффектам сейчас не реализована.
Достаточно одной переменной и одного условия (точнее условие одно, но прописывается каждому эффекту) и всех делов.
Реализуется всё в течении получаса. В своем приложении я могу это сделать без проблем. Изменять прошивку Гунера и выкладывать ее, как свою не хочу. Поэтому и предложил Гунеру сделать это синхронно.
Эта реплика была не вам!
Загляните в библиотеку! Там всё реализовано. Вы же хотите идти от яркости, а не от библиотеки (гамм). У вас критерий - высокое потребление, а у меня критерий - гамма, хорошо продуманная и реализованная, где цвета математически подобраны! Разницу понимаете?
Параметры у каждого свои, да и при пропадании питания или сбое сбрасываются. Нужна энергонезависимая память либо правильные дефолтные настройки. А их нахрапом не сделать.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Вот, правка готовых эффектов (снижением яркости) - уже работа не в ту степь
Вы наверное не используете лампу с циклической сменой эффеткотв.
Повторяюсь. ДЛЯ ОДНОГО ЭФФЕКТА ТО, ЧТО Я ПРЕДЛОЖИЛ, БЕСПОЛЕЗНО. Яркость у него можно изменить без проблем.
НО!!! Если лампа работает в режиме цикла, то сменить яркость свечения лампы просто добавив яркость кнопкой или из приложения одним движением НЕ ВЫЙДЕТ.
Включите лампу и поэкспериментируйте.

Вот код из цикла LOOP
C++:
FastLED.setBrightness(modes[currentMode].Brightness);
Т.е. каждый раз установка яркости берется из эффекта. И сейчас, чтобы сменить ее всем эффектам сразу нужно сменить каждому отдельно.
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Параметры у каждого свои, да и при пропадании питания или сбое сбрасываются.
На сколько мне известно, у Гуннера настройки эффектов (яркость, скорость, масштаб) сохраняются в EEPROM и при отключении и включении питания восстанавливаются
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Нужна энергонезависимая память либо правильные дефолтные настройки. А их нахрапом не сделать.
Запись в еепром тоже в планах на переделку. Вообще там элементано можно хранить 4кб, а сейчас используется что-то около пары сотен байт. Соответственно напрашивается переписывание таким образом чтобы хранить предустановки для динамического количества эффектов, при этом заложиться на лимит эффектов. Если даже взять 256 эффектов по 10 байт предустановок на каждый - все равно хватит без проблем на все.
 

awiscan

✩✩✩✩✩✩✩
15 Ноя 2019
51
6
Давайте подсчитаем.
У нас в одной ленте длиной 16 светодиодов находится 16*3=48 пикселей, потребляющих 20 миллиампер каждый. И при полном включении (белый (255,255,255) ток составит 0,96 Ампера. Почти 1 Ампер. А на 16 линиях будет ~16 Ампер. Правда некисло! Да благо есть ограничение!
Таким образом зажигая две ленты (32 диода или 96 пикселей) белым цветом на полную яркость мы получим то самое ограничение в 2 Ампера. И чтобы зажечь больше светодиодов нужно по гамме уходить к серому, снижая ток. Другими словами - "зажигая" 96 пикселей со значением 255 - придём к потреблению в два ампера по току.
Если зажечь всю лампу белым, уложившись в два ампера нужно, чтоб каждый пиксель был равен 30. (30,30,30) Есть ли в этом смысл? Наверное нет., к тому же по времени будет глюк, т.к. возможность библиотеки фастлед - 600 пикселей, а у нас их 768. ( т.е. у кого матрицы 16*16).
Разумеется, на практике значения могут быть иными (ниже), особенно учитывая частоту работы 400кГц ШИМ с данной библиотекой.
Запасайтесь энергоёмкими БП, Господа )). Утюги к Новому Году нужны всем! ))
Георгий, а это все кому написано?..
 
  • Лойс +1
Реакции: Exxx

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Koteyka, я вам уже предлагал синхронно делать работу. Вы займетесь приложением, я прошивкой. Собственно глобальную яркость и ее реализацию можно сделать хоть прям сейчас :) , только я веду речь о своей модификации прошивки. Попробуйте как-нибудь по свободе - она как раз основана на последней версии от Гуннера.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Эти эффекты записаны отдельно в effects.ino и по совести к движку работы со светюликами отношения не имеют. В библиотеки я лезть особо не хочу. Дело в том, что еще вести свои версии библиотек потребует дополнительных сил и необходимости их включения в проект.
например в самой библиотеке есть скетч "калибровка"
void loop() {
leds[0] = CRGB(255,0,0);
leds[1] = CRGB(0,255,0);
leds[2] = CRGB(0,255,0);
leds[3] = CRGB(0,0,255);
leds[4] = CRGB(0,0,255);
leds[5] = CRGB(0,0,255);
leds[6] = CRGB(0,0,0);
FastLED.show();
delay(1000);
Это реализация калибровки цвета в самой библиотеке! Теперь представьте, что у нас стоит глобально яркость 200. Откалибруется?
Ответ - нет, ибо будет любой пиксел максимум 200. Поэтому нужна переменная для глобальных настроек.
Что я хочу сказать, сначала должен быть эффект не "Конфетти", а глобальные настройки яркости (калибровки по цветам), а затем уже сами эффекты, тогда не придётся править каждый эффект отдельно, ведь у каждого эффекта может быть своя гамма (палитра).
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@George, RGBCalibrate.ino - это не библиотека, а пример работы с нею (как и все остальное в \libraries\FastLED\examples\). :)
 
  • Лойс +1
Реакции: Koteyka 🐱

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
только я веду речь о своей модификации прошивки
Ну вот а я о чем?
Просто, судя по топикам, самые ходовые прошивки сейчас это от alexgyver и от Gunner47.
alexgyver в личке не отвечает уже месяц. Поэтому я и предложил это сделать Gunner47.
Для реализации этой затеи в приложении мне нужно знать, какой параметр мне из него передать, чтобы прошивка правильно его распознала.
Например, я могу передавать Overall_Bright 125, где 125 - значение общей яркости.
И, как я писал выше, в прошивке, если Overall_Bright = 0, то берем яркость из modes[currentMode].Brightness, противном случае из Overall_Bright
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
В моём случае лампа работает, но после выключения (или сбоя) без ресета с зажатой кнопкой - не включается вообще! Правда у меня и модуль другой - esp8266-01 с 1Мб памяти. Роутера нет, есть точка доступа. Приходится искать внешним сканером айпишник, выделеный для лампы. Неудобно до бреда!