Оглавление:

Лампа DIY IoT для домашней автоматизации -- ESP8266 Учебное пособие: 13 шагов (с изображениями)
Лампа DIY IoT для домашней автоматизации -- ESP8266 Учебное пособие: 13 шагов (с изображениями)

Видео: Лампа DIY IoT для домашней автоматизации -- ESP8266 Учебное пособие: 13 шагов (с изображениями)

Видео: Лампа DIY IoT для домашней автоматизации -- ESP8266 Учебное пособие: 13 шагов (с изображениями)
Видео: Лампа Интернета вещей своими руками для домашней автоматизации || Учебное пособие по ESP8266 2024, Июль
Anonim
Image
Image
Лампа DIY IoT для домашней автоматизации || ESP8266 Учебное пособие
Лампа DIY IoT для домашней автоматизации || ESP8266 Учебное пособие

В этом уроке мы собираемся создать умную лампу, подключенную к Интернету. Это углубится в Интернет вещей и откроет мир домашней автоматизации!

Лампа подключена к Wi-Fi и имеет открытый протокол сообщений. Это означает, что вы можете выбрать любой желаемый режим управления! Им можно управлять через веб-браузер, приложения для домашней автоматизации, умных помощников, таких как Alexa или Google Assistant, и многое другое!

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

Лампа состоит из платы светодиодов и платы управления. На плате светодиодов используются светодиоды трех разных типов, всего пять светодиодных каналов! Это RGB наряду с теплым и холодным белым. Поскольку все эти каналы могут быть настроены индивидуально, у вас в общей сложности 112,3 пета комбинаций!

Давайте начнем!

[Проиграть видео]

Шаг 1. Детали и инструменты

Детали и инструменты
Детали и инструменты

Запчасти

  • Wemos D1 Mini
  • 15 x теплый белый 5050 светодиодов
  • 15 x холодный белый 5050 светодиодов
  • 18 светодиодов RGB 5050
  • 6 резисторов по 300 Ом 1206 шт.
  • 42 x 150 Ом 1206 резисторов
  • 5 резисторов по 1 кОм
  • 5 х NTR4501NT1G

    МОП-транзисторы

  • Линейный регулятор напряжения, 5В
  • Печатная плата

    Загрузите файлы gerber в шаге схемы, чтобы сделать свои собственные печатные платы

  • БП 12В 2А

Инструменты

  • Паяльник

    • Олово для пайки
    • Жидкий паяльный флюс
  • Изоляционная лента
  • Двухсторонний скотч
  • 3д принтер
  • Инструмент для зачистки проводов

Шаг 2: План

План
План

Полный проект состоит из четырех основных частей:

  1. Схема

    Схема выполнена на печатной плате. Завершенная схема будет состоять из более чем 100 отдельных компонентов. Огромное облегчение - не соединить все это вручную на монтажной плате

  2. Код Arduino

    Я использую Wemos D1 Mini, который использует ESP8266 в качестве микроконтроллера, подключенного к Wi-Fi. Код запустит сервер на D1. Когда вы посещаете адрес этого сервера, D1 интерпретирует это как разные команды. Затем микроконтроллер действует по этой команде, чтобы соответствующим образом настроить индикаторы

  3. Дистанционное управление

    • Я сделал приложение специально для этого проекта, чтобы максимально упростить управление лампой по своему вкусу
    • Умной лампой действительно можно управлять с помощью чего угодно, способного отправить HTTP-запрос GET. Это означает, что лампа принимает команды практически от безграничного множества устройств.
  4. 3D печать

    Эта умная лампа заслуживает стильного футляра. И, как во многих проектах, где вам нужен крутой футляр, на помощь приходит 3D-печать

Шаг 3: Схема

Схема
Схема
Схема
Схема
Схема
Схема

Я заказал свои печатные платы на сайте jlcpcb.com. Время полного раскрытия: они тоже спонсировали этот проект.

Печатная плата состоит из двух частей. Он имеет светодиодную плату и плату управления. Печатную плату можно разъединить, чтобы позже соединить эти две части гибким проводом. Это необходимо как для того, чтобы светильник, напечатанный на 3D-принтере, был тонким, так и для того, чтобы светодиодная панель располагалась под углом, чтобы свет равномерно распределялся по комнате с отверстиями.

На плате управления находится микроконтроллер D1 вместе с пятью полевыми МОП-транзисторами для уменьшения яркости светодиодов и регулятором напряжения, обеспечивающим плавное напряжение 5В для микроконтроллера.

Плата светодиодов имеет пять светодиодных каналов в трех разных типах светодиодов. Поскольку мы используем источник питания 12 В, светодиоды сконфигурированы как три последовательно соединенных с резистором светодиода, а затем повторены 16 раз параллельно.

Обычный белый светодиод обычно потребляет 3,3 В. На сегменте платы три из этих светодиодов включены последовательно, что означает, что падение напряжения агрегировано в цепи. Три светодиода, каждый из которых потребляет 3,3 В, означают, что один сегмент светодиодов потребляет 9,9 В. Схема питается от 12 В, поэтому остается 2,1 В.

Если бы сегмент состоял только из трех светодиодов, они бы получали больше напряжения, чем рассеивали. Это плохо для светодиодов и может быстро их повредить. Вот почему в каждом сегменте также есть резистор, включенный последовательно со всеми тремя светодиодами. Этот резистор предназначен для сброса оставшихся 2,1 В в последовательном переходе.

Таким образом, если на каждый сегмент приходится 12 В, это означает, что каждый из сегментов подключен друг к другу параллельно. Когда цепи соединены параллельно, все они получают одинаковое напряжение, а ток суммируется. Сила тока в последовательном соединении всегда одинакова.

Обычный светодиод потребляет ток 20 мА. Это означает, что сегмент, состоящий из трех последовательно включенных светодиодов и резистора, по-прежнему потребляет 20 мА. Когда мы соединяем несколько сегментов параллельно, добавляем ток. Если вы вырежете из полосы шесть светодиодов, у вас будет два таких сегмента параллельно. Это означает, что ваша общая схема по-прежнему потребляет 12 В, но они потребляют ток 40 мА.

Шаг 4: Пайка светодиодов

Пайка светодиодов
Пайка светодиодов
Пайка светодиодов
Пайка светодиодов
Пайка светодиодов
Пайка светодиодов

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

Для деталей с несколькими контактами, таких как 6 контактов на светодиодах 5050, я начинаю с размещения припоя на одной из площадок печатной платы. Тогда остается просто поддерживать этот припой в расплавленном состоянии с помощью паяльника, одновременно вставляя компонент на свое место с помощью пары пинцета.

Теперь другие контактные площадки можно легко прикрепить припоем. Однако, чтобы ускорить эту работу, я предлагаю подобрать немного жидкого припоя. Я действительно не могу рекомендовать этот материал достаточно.

Нанесите немного флюса на контактные площадки, затем расплавьте немного припоя на кончике паяльника. Теперь нужно просто нанести расплавленный припой на контактные площадки, и все встанет на свои места. Красиво и просто.

Когда дело доходит до резисторов и других компонентов с двумя контактами, флюс для пайки не нужен. Нанесите припой на одну из площадок и установите резистор на место. Теперь просто расплавьте припой на контактную площадку номер два. Очень просто.

Взгляните на пятую картинку в этом шаге. Обратите внимание на ориентацию светодиодов. Паз для теплого и холодного белых светодиодов ориентирован в правом верхнем углу. У светодиодов RGB есть выемка в нижнем левом углу. Это ошибка дизайна с моей стороны, потому что я не смог найти таблицу для светодиодов RGB, используемых в этом проекте. Ну что ж, живи, учись и все такое!

Шаг 5: пайка платы управления

Плата управления пайкой
Плата управления пайкой
Плата управления пайкой
Плата управления пайкой
Плата управления пайкой
Плата управления пайкой
Плата управления пайкой
Плата управления пайкой

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

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

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

Когда все компоненты на месте, пора собрать две платы вместе. Я просто отрезал и зачистил шесть маленьких 2,5-дюймовых (7 см) проводов и соединил две печатные платы.

Шаг 6: Настройка Wi-Fi

Настройка Wi-Fi
Настройка Wi-Fi
Настройка Wi-Fi
Настройка Wi-Fi

В коде есть шесть простых строк, которые нужно изменить.

  1. ssid, строка 3

    Имя вашего роутера. При написании этого письма убедитесь, что вы правильно указали регистр букв

  2. wifiPass, строка 4

    Пароль вашего роутера. Опять же, обратите внимание на корпус

  3. ip, строка 8

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

  4. шлюз, линия 9

    Это будет шлюз на вашем роутере. Откройте командное окно и введите «ipconfig». Шлюз и подсеть на картинке обведены красным кружком

  5. подсеть, строка 10

    Как и в случае со шлюзом, эта информация обведена на рисунке для этого шага

  6. timeZone, строка 15

    Часовой пояс, в котором вы находитесь. Измените его, если хотите использовать встроенные функции таймера для включения и выключения света в определенное время. Переменная просто плюс-минус GMT

Шаг 7: Код микроконтроллера

Код микроконтроллера
Код микроконтроллера
Код микроконтроллера
Код микроконтроллера
Код микроконтроллера
Код микроконтроллера
Код микроконтроллера
Код микроконтроллера

После изменения всех соответствующих настроек на предыдущем шаге, наконец, пришло время загрузить код в Wemos D1 Mini!

Для кода arduino требуется несколько библиотек и зависимостей. Сначала следуйте этому руководству от sparkfun, если вы никогда не загружали код из Arduino IDE в ESP8266.

Теперь загрузите библиотеку Time и библиотеку TimeAlarms. Разархивируйте их и скопируйте в папку библиотеки arduino на вашем компьютере. Точно так же, как установка любых других библиотек Arduino.

Обратите внимание на настройки загрузки на картинке на этом шаге. Выберите такую же конфигурацию, за исключением com-порта. Это будет любой com-порт, к которому у вас подключен микроконтроллер на вашем компьютере.

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

Шаг 8: Откройте протокол сообщений

Протокол открытых сообщений
Протокол открытых сообщений
Протокол открытых сообщений
Протокол открытых сообщений
Протокол открытых сообщений
Протокол открытых сообщений
Протокол открытых сообщений
Протокол открытых сообщений

Когда вы управляете умной лампой с помощью приложения, все сообщения будут обрабатываться автоматически. Вот список сообщений, которые лампа принимает, если вы хотите создать свой собственный пульт дистанционного управления. Я использовал пример IP-адреса, чтобы проиллюстрировать, как использовать команды.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Устанавливает красные огни на максимальное значение, зеленые на половину, а синие на 34. Холодный и теплый белый едва горят.
    • При вводе значений вы можете выбрать от 0 до 1023. Всегда записывайте значения освещенности в виде четырех цифр в URL-адресе.
  • 192.168.0.200/&&B=0800

    Устанавливает синий свет на значение 800, одновременно отключая все остальные огни

  • 192.168.0.200/LED=OFF

    Полностью выключает все огни

  • 192.168.0.200/LED=FADE

    Начинает медленно переходить между всеми возможными цветами RGB. Идеально подходит для создания атмосферы

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

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

  • 192.168.0.200/DST=1

    • Переводит часы на летнее время. Добавляет один час к часам
    • / DST = 0 используйте это, чтобы вернуться с летнего времени, удаляет один час из часов, если летнее время активно
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Сохраняет состояние для таймера 1. Этот таймер включит заданные значения RGB в 06:30 утра

  • 192.168.0.200/TIMER1H=99

    Установите час таймера на 99, чтобы отключить таймер. Значения RGB по-прежнему сохраняются, но таймер не включает свет, если час установлен на 99

  • Лампа имеет четыре индивидуальных таймера. Измените «TIMER1» на «TIMER2», «TIMER3» или «TIMER4», чтобы настроить один из других встроенных таймеров.

Это встроенные в настоящее время команды. Оставьте комментарий, если у вас есть какие-нибудь интересные идеи для создания новых команд в коде Arduino или удаленном приложении!

Шаг 9: Пульт дистанционного управления

Дистанционное управление
Дистанционное управление
Дистанционное управление
Дистанционное управление
Дистанционное управление
Дистанционное управление
Дистанционное управление
Дистанционное управление

Щелкните здесь, чтобы загрузить приложение. Настройка выполняется очень легко: просто введите IP-адрес своей интеллектуальной лампы и выберите, хотите ли вы управлять только светодиодами RGB или светодиодами теплого и холодного белого цвета RGB +.

Как объяснялось на предыдущем шаге, теперь вы знаете, какой протокол сообщений использует приложение. Он отправляет HTTP-запрос GET с URL-адресами. Это означает, что вы также можете создать свою собственную схему микроконтроллера и по-прежнему использовать это приложение для управления функциями, которые вы разрабатываете самостоятельно.

Поскольку мы действительно глубоко изучили протокол сообщений, вы также можете управлять интеллектуальной лампой с помощью всего, что способно отправлять HTTP-запрос GET. Это означает любой браузер на телефоне или компьютере, устройства умного дома или помощников, таких как Alexa или Google Assistant.

Tasker - это приложение, которое в основном позволяет вам создавать условия для управления, близкие к чему угодно. Я использовал это, чтобы мигать умной лампой цветом уведомления, когда я получаю его на свой телефон. Я также настроил Tasker, чтобы он включал свет полностью белым, когда телефон подключается к моему домашнему Wi-Fi после 16:00 в будний день. Это означает, что свет включается автоматически, когда я прихожу из школы домой. Действительно здорово прийти домой с автоматическим включением света!

Шаг 10: 3D-печать

3D печать
3D печать

Сам корпус лампы можно распечатать практически полностью без подставок. Единственные части, которые действительно нуждаются в поддержке, - это штифты, предназначенные для сопряжения с печатной платой. Поэтому я сделал stl доступным как с крошечной опорной структурой, так и без нее, только для этих колышков. Преимущество использования этой специальной поддержки в том, что печать выполняется намного быстрее! И мы получаем поддержку печати только на тех частях, которые действительно в ней нуждаются.

Вы можете скачать файлы.stl здесь

Шаг 11: соберите все вместе

Собери все вместе
Собери все вместе
Собери все вместе
Собери все вместе
Собери все вместе
Собери все вместе

После 3D-печати начните с удаления опоры для печати. Силовые кабели идут в отдельные каналы и связываются между собой. Этот узел создает разгрузку от натяжения, предотвращая отрыв кабелей от печатной платы. Припаяйте силовые кабели к задней стороне печатной платы и убедитесь, что вы соблюдаете полярность!

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

Шаг 12: подвешиваем лампу

Подвешивание лампы
Подвешивание лампы
Подвешивание лампы
Подвешивание лампы
Подвешивание лампы
Подвешивание лампы

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

Шаг 13: Готово

Законченный
Законченный
Законченный
Законченный
Законченный
Законченный

С лампой на стене и готовностью принимать команды, это означает, что все готово!

Светодиодная панель расположена под углом, чтобы равномерно рассеивать свет в комнате. Это хорошее дополнение к любому рабочему месту, а возможность интеграции с домашней автоматизацией - большой плюс. Мне очень нравится возможность устанавливать цвета RGB, а также регулировать баланс белого между холодным и теплым светом. Он выглядит стильно и отлично подходит для настройки окружающего или рабочего освещения в соответствии с любыми потребностями в освещении, которые у меня есть в данный момент.

Поздравляем, вы сделали большой шаг в мир Интернета вещей и домашней автоматизации!