Съдържание:

DIY IoT лампа за домашна автоматизация -- ESP8266 Урок: 13 стъпки (със снимки)
DIY IoT лампа за домашна автоматизация -- ESP8266 Урок: 13 стъпки (със снимки)

Видео: DIY IoT лампа за домашна автоматизация -- ESP8266 Урок: 13 стъпки (със снимки)

Видео: DIY IoT лампа за домашна автоматизация -- ESP8266 Урок: 13 стъпки (със снимки)
Видео: Zemismart TH123E Mihome wi-fi термостат для электрического теплого пола, интеграция в Home Assistant 2024, Юли
Anonim
Image
Image
DIY IoT лампа за домашна автоматизация || Урок за ESP8266
DIY IoT лампа за домашна автоматизация || Урок за ESP8266

В този урок ще направим интелигентна лампа, свързана с интернет. Това ще навлезе дълбоко в интернет на нещата и ще отвори свят на домашната автоматизация!

Лампата е свързана с WiFi и е изградена да има отворен протокол за съобщения. Това означава, че можете да изберете какъвто режим на управление искате! Може да се управлява чрез уеб браузър, приложения за домашна автоматизация, интелигентни помощници като Alexa или Google Assistant и много други!

Като бонус тази лампа върви заедно с приложение за управление на проекта. Тук можете да избирате различни цветови режими, да избледнявате между RGB цветове и да задавате таймери.

Лампата се състои от LED платка и контролна платка. LED платката използва три различни типа светодиоди за общо пет LED канала! Това е RGB заедно с топло и студено бяло. Тъй като всички тези канали могат да бъдат зададени поотделно, имате общо 112.3 комбинации от пета!

Да започваме!

[Пускане на видео]

Стъпка 1: Части и инструменти

Части и инструменти
Части и инструменти

Части

  • Wemos D1 Mini
  • 15 x Топло бели 5050 светодиода
  • 15 x студено бели 5050 светодиода
  • 18 x RGB 5050 светодиода
  • 6 x 300 ома 1206 резистори
  • 42 x 150 ома 1206 резистори
  • 5 x 1k ома резистори
  • 5 x NTR4501NT1G

    MOSFET

  • Линеен регулатор на напрежение, 5V
  • Печатни платки

    Изтеглете гербер файловете в стъпката на веригата, за да направите свои собствени печатни платки

  • Захранване 12V 2A

Инструменти

  • Поялник

    • Калай за запояване
    • Течен флюс за запояване
  • Самозалепваща лента
  • Двустранна касета
  • 3D принтер
  • Машини за сваляне на тел

Стъпка 2: Планът

Планът
Планът

Пълният проект се състои от четири основни части:

  1. Верига

    Веригата е направена на печатна платка. Завършената верига ще се състои от повече от 100 отделни компонента. Голямо облекчение е да не свързвате всички тези на ръка върху перфорирана дъска

  2. Кодът на Arduino

    Използвам Wemos D1 Mini, който използва ESP8266 като микроконтролер, свързан с WiFi. Кодът ще стартира сървър на D1. Когато посетите адреса на този сървър, D1 ще интерпретира това като различни команди. След това микроконтролерът действа по тази команда, за да настрои светлините съответно

  3. Дистанционно

    • Направих приложение само за този проект, за да направя възможно най -лесно управлението на лампата по ваш вкус
    • Интелигентната лампа наистина може да се управлява от всичко, което може да изпрати http GET заявка. Това означава, че лампата приема команди от почти неограничен набор от устройства
  4. 3D печат

    Тази интелигентна лампа заслужава страхотно изглеждащ калъф. И като толкова много проекти, за които се нуждаете от готин калъф, 3D печатът идва на помощ

Стъпка 3: Схема

Верига
Верига
Верига
Верига
Верига
Верига

Поръчах моите печатни платки от jlcpcb.com. Време за пълно разкриване: те също спонсорираха този проект.

ПХБ се състои от две части. Той има LED платка и контролна платка. Печатната платка може да бъде разделена, за да се свържат по -късно тези две части чрез гъвкав проводник. Това е необходимо както за поддържане на тънкостта на 3D отпечатаната лампа, така и за ъгъл на LED платката, за да се разпространи светлината равномерно през помещението с отвори.

Контролната платка съдържа микроконтролера D1 заедно с пет MOSFET за затъмняване на светодиодите и регулатор на напрежението, за да даде на микроконтролера гладки 5V.

LED платката има пет LED канала в три различни типа светодиоди. Тъй като използваме източник на захранване 12V, светодиодите са конфигурирани като три последователно светодиода с резистор и след това се повтарят 16 пъти паралелно.

Обикновен бял светодиод обикновено черпи 3.3 V. На сегмент от платката три от тези светодиоди са последователно, което означава, че спадът на напрежението се агрегира във веригата. Три светодиода, които привличат по 3.3 V всеки, означават, че един сегмент от светодиодите черпи 9.9 V. Веригата се захранва от 12 V, така че оставя 2.1 V.

Ако сегментът се състои само от трите светодиода, те биха получили по -голямо напрежение, отколкото се разсейват. Това не е добре за светодиодите и може бързо да ги повреди. Ето защо всеки сегмент също има резистор последователно с трите светодиода. Този резистор е там, за да изпусне останалите 2,1 V в последователното съединение.

Така че, ако всеки сегмент отчита 12 V, това означава, че всеки от сегментите са свързани помежду си паралелно. Когато веригите са свързани паралелно, всички те получават едно и също напрежение и токът се агрегира. Токът в последователна връзка винаги е един и същ.

Обикновен светодиод черпи 20 mA ток. Това означава, че сегмент, който е три светодиода и резистор в серия все още ще черпи 20 mA. Когато свързваме няколко сегмента паралелно, добавяме тока. Ако изрежете шест светодиода от лентата, имате два от тези сегмента успоредно. Което означава, че вашата обща верига все още черпи 12 V, но те извличат 40 mA ток.

Стъпка 4: Запояване на светодиоди

Запояване на светодиоди
Запояване на светодиоди
Запояване на светодиоди
Запояване на светодиоди
Запояване на светодиоди
Запояване на светодиоди

От опитите на няколко неща открих, че простата маскираща лента е най -ефективната и най -гъвкавата за предпазване на печатната платка от движение.

За части с множество щифтове, като 6-пиновите на 5050 LED, започвам с поставянето на спойка върху една от подложките на печатни платки. Тогава остава само да запазите тази спойка стопена с поялника, докато плъзгате компонента на мястото му с чифт пинсети.

Сега другите подложки могат лесно да бъдат залепени с малко спойка. Въпреки това, за да ускоря тази работа, предлагам да вземете малко течен флюс за спойка. Наистина не мога да препоръчам тези неща достатъчно.

Нанесете част от флюса върху подложките за запояване, след това разтопете малко спойка върху върха на поялника. Сега остава само да поставите разтопената спойка върху подложките и всичко ще си дойде на мястото. Хубаво и просто.

Що се отнася до резисторите и другите компоненти с две подложки, не е необходим поток от спойка. Нанесете спойка върху една от подложките и поставете резистора на място. Сега просто разтопете малко спойка върху подложка номер две. Лесна работа.

Разгледайте петата снимка в тази стъпка. Обърнете внимание на ориентацията на светодиодите. Топлите и студени бели светодиоди имат прореза си ориентиран в горния десен ъгъл. RGB светодиодите имат своя прорез в долния ляв ъгъл. Това е грешка в дизайна от моя страна, защото не можах да намеря листа с данни за RGB светодиодите, използвани в този проект. О, живей и се учи и всичко това!

Стъпка 5: Контролна платка за запояване

Контролна платка за запояване
Контролна платка за запояване
Контролна платка за запояване
Контролна платка за запояване
Контролна платка за запояване
Контролна платка за запояване
Контролна платка за запояване
Контролна платка за запояване

След приключване на маратона на LED таблото, контролната платка е лесна за запояване. Поставих петте MOSFET и съответстващи резистори на порта-източник, преди да преминем към регулатора на напрежението.

Регулаторът на напрежението има опционални пространства за изглаждане на кондензатори. Докато ги запоявах на тази снимка, накрая ги премахнах, защото не бяха наистина необходими.

Номерът за получаване на тънка контролна платка е да поставите щифтовете, изпъкнали отгоре през дъното. След като щифтовете са на място, неизползваната дължина може да бъде отрязана от задната страна заедно с черната пластмаса. Това прави долната страна напълно гладка.

С всички компоненти на място е време да съберете двете платки заедно. Току -що отрязах и свалих шест малки 2.5 инчови (7 см) проводника и свързах двете печатни платки.

Стъпка 6: Настройка на WiFi

WiFi настройка
WiFi настройка
WiFi настройка
WiFi настройка

В кода има шест прости реда, които трябва да промените.

  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 да включва светлините в пълно бяло, когато телефонът се свърже с домашния ми WiFi след 16:00 в делничен ден. Това означава, че светлините се включват автоматично, когато се прибера от училище. Наистина е страхотно да се приберете вкъщи с автоматично включени светлини!

Стъпка 10: 3D печат

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

Самият корпус на лампата може да бъде отпечатан почти изцяло без опори. Единствените части, които наистина се нуждаят от поддръжка, са колчетата, предназначени за свързване с печатни платки. Затова направих stl наличен както със, така и без мъничка поддържаща структура само за тези колчета. Предимството на използването на тази персонализирана поддръжка е, че отпечатването е много по -бързо! И получаваме поддръжка за печат само на частите, които наистина се нуждаят от нея.

Можете да изтеглите.stl файловете тук

Стъпка 11: Съберете всичко заедно

Съберете всичко заедно
Съберете всичко заедно
Съберете всичко заедно
Съберете всичко заедно
Съберете всичко заедно
Съберете всичко заедно

След 3D печат започнете, като премахнете поддръжката за печат. Захранващите кабели преминават в отделни канали и са свързани заедно. Този възел ще създаде облекчение на напрежението, предотвратявайки разкъсването на кабелите от печатната платка. Запоявайте захранващите кабели към задната страна на печатната платка и се уверете, че сте взели правилната полярност!

След това контролната печатна платка се закрепва с парче лента, за да се запази в рамките на кутията. LED печатната платка може просто да се постави на мястото си, където тя лежи плътно до корпуса.

Стъпка 12: Окачване на лампата

Окачване на лампата
Окачване на лампата
Окачване на лампата
Окачване на лампата
Окачване на лампата
Окачване на лампата

Има много възможности за окачване на тази лампа към стената. Тъй като може непрекъснато да актуализирам кода, за да подобря лампата, исках начин да свалям лампата от време на време. Можете да използвате горещо лепило, но аз препоръчвам двустранна лента. Най -добре е да използвате дебелата и пянаста двустранна лента, тъй като държи лампата най -добре срещу текстурирана стена.

Стъпка 13: Готово

Завършен
Завършен
Завършен
Завършен
Завършен
Завършен

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

LED панелът е под ъгъл по начин, който разсейва светлината равномерно в стаята. Това е хубаво допълнение към всяко работно пространство и възможността за интеграция с домашната автоматизация е чудесен плюс. Много харесвам възможността да задавам RGB цветове, както и да регулирам баланса на бялото между студена и топла светлина. Изглежда стилно и е чудесна помощ за настройка на околни или работни светлини, за да отговаря на всякакви нужди от осветление, които имам в момента.

Поздравления, сега направихте голям скок в света на IoT и домашната автоматизация!