Подключение гайвер лампы к телефону

Обновлено: 19.09.2024

PROJECT_PHOTO

Крутая WiFi лампа на esp8266 своими руками

Этот проект устарел. Новый проект "Широкоформатная матрица / гирлянда на балкон или стену с управлением по WiFi" полностью перекрывает функционал этого проекта, а также имеет множество доработок и улучшений.

Этот проект основан на проекте AlexGyver "Матрица на адресных светодиодах с управлением по Bluetooth" с реализацией функционала проекта "Крутая WiFi лампа на esp8266 своими руками" и его дальнейшем развитии.

  • Проект собран на базе микроконтроллера ESP8266 в лице платы NodeMCU или Wemos D1 mini (неважно, какую из этих плат использовать!).
  • В версии, начиная с v1.01 добавлена поддержка микроконтроллера ESP32
  • Вместо адресной ленты может использоваться гибкая адресная матрица 16×16, что выходит дешевле ленты (матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр. Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р. А готовая матрица стоит на 1000р дешевле!).
  • Система управляется со смартфона по Wi-Fi, а также “оффлайн” с кнопки на корпусе (сенсорная кнопка на TTP223 или любая физическая кнопка с нормально разомкнутыми контактами).
  • 26 крутых эффектов с поддержкой отображения часов поверх эффектов
  • Настройка скорости и вариаций отображения для каждого эффекта со смартфона
  • Работа системы как в локальной сети, так и в режиме “точки доступа”
  • Система получает точное время из Интернета
  • Управление кнопкой: смена режима, настройка яркости, вкл/выкл, отображение текущего IP адреса лампы
  • Режим будильник-рассвет: менеджер будильников на неделю в приложении

Изменения функционала лампы по справнению с исходным проектом:

  • Адаптированная программа управления лампой на Andrioid
  • Отображение текущего времени на индикаторе TM1637
  • Отображение текущего времени на матрице поверх эффектов
  • Для ламп с матрицей, свернутой в трубу доступно отображение часов с плавным вращением вокруг матрицы.
    Таким образом часы будут полностью видны при обороте по кругу вне зависимости от кривизны поверхности плафона лампы.
  • Настройка сервера синхронизации времени из программы на смартфоне
  • Установка текущего времени со смартфона вручную, если не удалось подключиться к серверу времени NTP
  • Два режима работы индикатора времени TM1637 - светится постоянно или выключается вместе с лампой
  • Пока время не получено с сервера NTP - на индикаторе отображается --:-- вне зависимости от настройки "Выключать индикатор при выключении лампы"
  • Поддержка звука будильника / звука рассвета звуковой платой MP3 DFPlayer
  • Настройки сетевого подключения (SSID и пароль, статический IP) задаются в программе и сохраняются в EEPROM
  • Если не удается подключиться к сети (неверный пароль или имя сети) - создается точка подключения с именем LampAP, пароль 12341234, IP 192.168.4.1. Подключившись к точке доступа из приложения можно настроить параметры сети. Если после задания параметиров сети WiFi соединение установлено - в приложении на смартфоне виден IP адрес подключения к сети WiFi.
  • Отображение текущего IP адреса лампы на индикаторе TM1637 или на матрице в режиме бегущей строки
  • Быстрое включение популярных режимов лампы из приложения
  • Два программируемых по времени режима, позволяющие, например, настроить автоматическое выключение лампы в ночное время и автоматическое включение лампы вечером в назначенное время
  • Лампа белого или другого выбранного цвета
  • Снегопад
  • Блуждающий кубик
  • Пейнтбол
  • Радуга (горизонтальная, вертикальная, диагональная)
  • Огонь
  • The Matrix
  • Конфетти
  • Звездопад
  • Шумовые эффекты с разными цветовыми палитрами
  • Плавная смена цвета лампы
  • Светлячки
  • Автоподключение к лампе при запуске
  • Настройки яркости лампы из программы или кнопкой

Кнопка управления режимами, последовательность переключения:

Будильник сработал, идет рассвет или мелодия пробуждения

Долгое удержание кнопки

  • При включенной лампе - плавное изменение яркости
  • При выключенной лампе - включение яркой белой лампы

Однократное нажатие кнопки

  • Включение / выключение лампы. При включении возобновляется режим на котором лампа была выключена.

Двухкратное нажатие кнопки

Трехкратное нажатие кнопки

  • Включение демо-режима с автоматической сменой режимов по циклу

Четырехкратное нажатие кнопки

  • Включение яркой белой лампы из любого режима, даже если лампа "выключена"

Пятикратное нажатие кнопки

  • На индикаторе TM1637 отображается IP адрес лампы, если подключение к локальной WiFi сети установлено

ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию

  • libraries - библиотеки проекта.
  • firmware - прошивки
  • schemes - схемы подключения компонентов
  • sounds - звуковые файлы будильника для размещения на SD-карте
  • Android - файлы с приложениями, примерами для Android и Thunkable
  • 3D_print - файлы для печати корпуса лампы на 3D принтере

С сенсорной кнопкой

SCHEME

С обычной кнопкой

SCHEME

Материалы и компоненты

Ссылки оставлены на магазины

Вам скорее всего пригодится

Как скачать и прошить

На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

Подробная инструкция тут

Если проект не собирается (ошибки компиляции) или собирается, но работает неправильно (например вся матрица светится белым и ничего не происходит) - проверьте версии библиотек. Данный проект рассчитан на работу с версииями библиотек поддержки плат ESP версии 2.5.2 и библиотеки FastLED версии 3.2.9 или более новую;

Если в качестве микроконтроллера вы используете Wemos D1 - в менеджере плат для компиляции все равно выбирайте "NodeMCU v1.0 (ESP-12E)", в противном случае, если выберете плату Wemos D1 (xxxx), - будет работать нестабильно, настройки не будут сохраняться в EEPROM, параметры подключения к локальной сети будут сбрасываться каждый раз при перезагрузке, плата вместо подключения к локальной сети будет каждый раз создавать точку доступа.

В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

В: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.

Вопросы по этому проекту

В: Эй чувак! У тебя проект не компилится. Ты файл FastLed.h в проект забыл включить. Выложи!
О: Это стандартная библиотека для FastLed для управления адресными светодиодами. Идите в менеджер библиотек и установите ее. Или скачайте с сайта производителя

В: Эй чувак! У тебя проект не компилится. Ты файл DFRobotDFPlayerMini.h в проект забыл включить. Выложи!
О: Это стандартная библиотека для MP3 DFPlayer. Идите в менеджер библиотек и установите ее. Или скачайте с сайта производителя

В: Собрал, использую NodeMCU/Wemos. Ничего не работает! Мигает один или несколько светодиодов в начале матрицы. И всё.
О: Производители разных плат (NodeMCU, Wemos) могут использовать различные схемы соединения контактов микроконтроллера ESP8266 к выводам макетной платы. Обычно используемый в проекте пин вывода на ленту приходится или на пин D2 или на пин D4. Для проверки не подключайте сигнальный провод матрицы к микроконтроллеру, вместо этого через резистор коснитесь вывода D2 или D4 пина микроконтроллера. Большая вероятность что матрица заработает с тем или иным вариантом подключения.

SCHEME

В: Собрал, использую NodeMCU. Эффекты работают, но нестабильно. Случайные вспышки на матрице. Буквы бегущей строки прыгают.
О: NodeMCU v3 чрезвычайно требователен к источнику питания. Ему на вход VIN нужно подавать напряжение в диапазоне 4.7-5 вольт. И не более. Описанные эффекты возникают даже при питании в 5.25 (а тем более - 5.45) вольт. Для проверки - не подключайте +5 вольт от блока питания к NodeMCU совсем, питание подавайте на матрицу непосредственно. Землю NodeMCU и ленты соедините. Подключите сигнальный пин NodeMCU ко входу DIN ленты. Подключите NodeMCU к компьютеру через USB (питание будет поступать отсюда). Должно заработать. Далее регулируйте выходное напряжение своего блока питания.
В особо тяжелых случаях, когда понижение напряжения питания системы не приводит к желаемым результатам и артефакты, вспышки, дрожание текста бегущей строки продолжается, можно использовать дополнительно схему преобразования уровня от 3.3 вольта с выхода NodeMCU к 5 вольтам входа адресной ленты:

  • выбрана неверная плата. Используйте NodeMCU 1.0 (ESP-12E Module) или Wemos D1 R1. Под эти платы проект собирается, под другие, возможно, нужна модификация кода.
  • установлена устаревшая версия библиотек поддержки плат - например для ESP8266 версия библиотеки 2.4.2. Данный проект использует библиотеки для плат ESP8266 версии 2.5. Обновите библиотеки поддержки плат.

В: Подскажите, что не так. C подключением через точку доступа всё исправно работает, а при попытке подключиться к локальной сети не могу законнектиться через приложение. В чем может быть проблема?
О: Проблема может быть в неправильно указанном статическом адресе / параметрах сети в прошивке. В сектче по умолчанию используется адрес в сети 192.168.0.xxx. Ваш WiFi роутер в зависимости от настроек может создавать сеть в другом диапазоне. Чаще всего это 192.168.1.xxx или 192.168.100.xxx; Проверьте какую сеть создает ваш роутер и укажите в скетче и при подключении приложения к сети именно эту сеть.

В: Автор неверно указал IP адрес лампы 192.168.4.1 в режиме точки доступа. На самом деле он 192.168.4.2 - указываю его, приложение на смартфоне подключается. Правда управлять лампой не получается все равно - она не реагирует на изменения.
О: Нет, все правильно. IP лампы - 192.168.4.1; Адрес 192.168.4.2 получает ваш смартфон при подключении к точке доступа. Когда в приложении для подключения вы указываете адрес 192.168.4.2 - вы подключаете ваш смартфон с самому себе, а не к лампе. Естественно никакое управление лампой работать не будет.

В: Лампа создает точку доступа, телефон к ней подключается. В приложении ввожу IP адрес лампы 192.168.4.1, но соединение не происходит. Что я делаю не так?
О: Некоторые телефоны не могут передавать данные через точку доступа, пока в них активен мобильный интернет. Все передаваемые данные отправляются в интернет, вместо передачи их в точку доступа. В настройках телефона выключите мобильный интернет ("Мобильные данные"). После этого телефон из приложения должен подключиться к лампе.

Кирилл Светлов


Кирилл Светлов ответил Сергею

Сергей Блохин


Сергей Блохин ответил Кириллу

Кирилл, так после указания своей сети, нажимаю на "установить режим локал" и после этого как раз то, что указал выше

Кирилл Светлов


Кирилл Светлов ответил Сергею

Сергей, сбрось настройки и сделай по куску инструкции ниже

Сергей Блохин


Сергей Блохин ответил Кириллу

Кирилл Светлов


Кирилл Светлов ответил Сергею

Anthony Core

Сергей, если неправильно введен логин своей сети (высота букв имеет значение, как я понял), то может не прокатить (после запятой (после логина) не должно быть пробела)

Сергей Блохин


Сергей Блохин ответил Anthony

Anthony, тоже соблюдал, заходил в роутер и там появлялась епс, значит Коннект был

Андрей Матвеев

Загружаем прошивку. При первом запуске устройство имеет номер группы 1 и режим AP. Можно подключиться к точке
GyverLamp2 (пароль 12345678) и управлять из приложения. Чтобы настроить устройство для работы в локальной сети роутера или другой лампы, нужно нажать
Конфигурация/Сервис/Настроить WiFi, в открывшемся окне ввести логин и пароль от точки доступа через запятую
(логин,пароль). После этого там же нажимаем кнопку Конфигурация/Сервис/Установить режим Local, устройство
перезагрузится в режиме локальной сети и подключится к роутеру.

Андрей Матвеев

Сергей Блохин


Сергей Блохин

Андрей, после всего этого на матрице загораются 4 светодиода, первые 3 из которых белые, а 4-ый желтый.

GyverLamp

Сергей Блохин


Сергей Блохин ответил Сообществу

GyverLamp

Сергей Блохин


Сергей Блохин ответил Сообществу

GyverLamp, ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v8b899c12


Схема устройства на картинке ниже:


Решил я своей малышне сделать такую лампу, тем более было два купона на 10$, заказал такие комплектующие:
Матрицу и плафон покупал — здесь
Блок питания на 5В/3А — здесь
Плата NodeMCU и сенсорная кнопка TTP223 у меня уже были.

Собираем лампу, берем пластиковую канализационную трубу диаметром 50 мм, отрезаем где-то 200 мм, обворачиваем её светодиодной матрицой и фиксируем пластиковыми стяжками.

Подставку я решил сделать деревянную, из дубовой доски:

Выточил на токарном станке такую деталь, она по форме повторяет форму нашего плафона и трубы:

Сбоку просверлил отверстие до самого центра, продел провода и установил гнездо для питания:

Далее, просверлил три отверстия для крепления плафона и припаял провода питания к матрице, которые предварительно были выведены в трубу:

С другой стороны на монтажной плате подключаем модуль NodeMCU с сенсорной кнопкой:

Монтажную плату сделал такого размера, чтобы она плотно входила в пластиковую трубу.

Сенсорную кнопку приклеил к выточенному из текстолита кругу, он по диаметру как наша пластиковая труба с матрицей, сверху наклеил белую самоклейку. Пробуем собирать:

Дошла очередь до плафона. Китайцы продают два вида плафонов, я купил не стеклянный плафон, а из линейного полиэтилена (LLDPE). Приходит плафон вместе с подставкой из пробки, которую я без колебаний сразу выкинул.

Размеры плафона — высота 195 мм, диаметр 100 мм. Плафон из такого материала крепкий не бьётся, и как потом оказалось, хорошо рассеивает свет от светодиодов, не надо городить какой-либо светорассеиватель.
Просверливаем в нём три отверстия для крепления к деревянной подставке:

Длину пластиковой трубы подрезаем так, чтобы сверху труба в плотную касалась внутренней части плафона, это нужно того чтобы при касании к плафону срабатывала сенсорная кнопка.


Тремя саморезами крепим плафон к подставке, фото лампы в собранном виде:

Прошивку для лампы я выбрал от камрада gunner47, ссылка на прошивку версии 1.5 и приложение wifiLamp — здесь, там уже сформировалось целое сообщество вокруг этого проекта, есть и другие прошивки. Прошивается всё из среды Arduino, кто в теме проблем возникнуть не должно.

После прошивки подключаем блок питания и включаем лампу. При первом включении устройство создаёт точку доступа «LedLamp» с паролем — 31415926 (число Пи, можно в прошивке поменять на свой). Подключаемся, откроется веб-интерфейс лампы, выбираем «Configure WiFi», устройство покажет найденные Wi-Fi сети, выбираем свою и нажимаем «Save»:

Лампа перезагрузится уже как Wi-Fi клиент и подключится к нашей домашней сети. На смартфоне открываем приложение wifiLamp, нажимаем на иконку в правом верхнем углу, попадаем в настройки, нажимаем кнопку «Найти и добавить».

Программа найдет IP-адрес лампы и подключится к ней, теперь можно наслаждаться буйством красок.

В приложении доступно 26 световых эффектов, можно менять у каждого яркость, скорость и масштаб, есть также режим будильник-рассвет. Демонстрация работы некоторых эффектов, вживую конечно это выглядит более красочно:

В итоге получился прикольный светильник для моего сына. Благодаря удачному плафону, который хорошо рассеивает свет, вживую лампа выглядит просто шикарно. В последнее время мы её используем в качестве ночника в детской комнате.


Напоследок наша кошка с лампой:

Всем спасибо за внимание, удачных поделок и будьте здоровы.


Сразу скажу. Это не моя идея. Моя идея только исполнения. Если интересно почитать оригинал то ищите в гугл "Огненная WiFi лампа" gyverlamp.

И так для ее сборки в принципе надо разве что уметь держать паяльник и наличие компьютера для заливки прошивки.

А для корпуса это полет фантазии что найдете. Многие собирают из сантехнических труб. Но я продвинутый у меня 3D принтер есть ))) . Плюс друг который подогнал колбу с Польши. Колба классная .

И так для начала нам надо .
1 Микроконтроллер ESP8266 я покупал на али Wemos D1 mini.


2. Желательно купить сенсорную кнопку .Так же брал на али.


3. блок питания желательно на 3А . Я купил на али Б/у на 2,5А. Он как раз по размеру влезет внутрь трубы.


4. Колбу . Ну тут уже что найдете.

5. Самое дорогое наверно это матрица.Там же на али. 16 х 16


Собираеться все по очень сложной схеме .


Как прошивать модуль писать не будут . Это отдельная тема и ее лучше все таки прочесть у первоисточника. Тем более что версий прошивок много. но я советую обратить на версию от gunner47. У него эффектов больше. И много исправлений.

И так быстренько нарисовал модель. Я не стал химичить с трубами а тупо напечатал все деталь.


Тут труба сразу же с основанием для колбы . Что бы она не гуляла внизу. Сверху после того как блок питания будет помещен в трубу ставиться кольцо с резьбой в которое вкручивается верхняя пробочка она и держит колбу.
Матрицу оборачиваем вокруг трубы а прорез в ней чтобы провода не мешали.


Снизу труба прикручивается к основанию от лампы. Где будет размещен микроконтроллер.

Читайте также: