Talaan ng mga Nilalaman:

DIY IoT Lampara para sa Home Automation -- Tutorial sa ESP8266: 13 Mga Hakbang (na may Mga Larawan)
DIY IoT Lampara para sa Home Automation -- Tutorial sa ESP8266: 13 Mga Hakbang (na may Mga Larawan)

Video: DIY IoT Lampara para sa Home Automation -- Tutorial sa ESP8266: 13 Mga Hakbang (na may Mga Larawan)

Video: DIY IoT Lampara para sa Home Automation -- Tutorial sa ESP8266: 13 Mga Hakbang (na may Mga Larawan)
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Hulyo
Anonim
Image
Image
DIY IoT Lampara para sa Home Automation || Tutorial sa ESP8266
DIY IoT Lampara para sa Home Automation || Tutorial sa ESP8266

Sa tutorial na ito gagawa kami ng isang konektadong lampara sa internet na konektado. Ito ay lalalim sa internet ng mga bagay at magbubukas ng isang mundo ng pag-aautomat sa bahay!

Ang lampara ay konektado sa WiFi at binuo upang magkaroon ng isang bukas na protocol ng mensahe. Nangangahulugan ito na maaari mong piliin ang anumang control mode na gusto mo! Maaari itong makontrol sa pamamagitan ng isang web browser, home automation apps, matalinong katulong tulad ng Alexa o Google Assistant, at higit pa!

Bilang isang bonus ang lampara na ito ay kasama ng isang app upang makontrol ang proyekto. Maaari kang pumili dito ng iba't ibang mga mode ng kulay, kumupas sa pagitan ng mga kulay ng RGB, at magtakda ng mga timer.

Ang paglalagay ng lampara ng isang LED board at isang control board. Gumagamit ang LED board ng tatlong magkakaibang uri ng LEDs para sa isang kabuuang limang mga LED channel! Ito ang RGB kasama ang parehong mainit at malamig na puti. Dahil ang lahat ng mga channel na ito ay maaaring itakda nang isa-isa, mayroon kang isang kabuuang 112.3 na mga kumbinasyon ng peta!

Magsimula na tayo!

[Mag-play ng video]

Hakbang 1: Mga Bahagi at Mga Tool

Mga Bahagi at Kasangkapan
Mga Bahagi at Kasangkapan

Mga Bahagi

  • Wemos D1 Mini
  • 15 x Warm white 5050 LEDs
  • 15 x Malamig na puting 5050 LEDs
  • 18 x RGB 5050 LEDs
  • 6 x 300 ohm 1206 resistors
  • 42 x 150 ohm 1206 resistors
  • 5 x 1k ohm resistors
  • 5 x NTR4501NT1G

    MOSFETs

  • Linear voltage regulator, 5V
  • PCB

    I-download ang mga gerber file sa circuit step upang makagawa ng iyong sariling mga PCB

  • PSU 12V 2A

Mga kasangkapan

  • Panghinang

    • Lata na panghinang
    • Liquid soldering flux
  • Masking tape
  • Double sided tape
  • 3d printer
  • Mga striper ng wire

Hakbang 2: Ang Plano

Ang plano
Ang plano

Ang kumpletong proyekto ay binubuo ng apat na pangunahing bahagi:

  1. Circuit

    Ang circuit ay ginawa sa isang PCB. Ang natapos na circuit ay binubuo ng higit sa 100 mga indibidwal na sangkap. Napakalaking ginhawa na huwag wire ang lahat ng mga iyon sa pamamagitan ng kamay sa isang perfboard

  2. Code ng Arduino

    Gumagamit ako ng Wemos D1 Mini na gumagamit ng isang ESP8266 bilang isang konektadong WiFi na microcontroller. Magsisimula ang code ng isang server sa D1. Kapag binisita mo ang address ng server na ito ang interpretasyon ng D1 bilang iba't ibang mga utos. Pagkatapos ay kumikilos ang microcontroller sa utos na ito upang maitakda ang mga ilaw nang naaayon

  3. Remote Control

    • Gumawa ako ng isang app para lamang sa proyektong ito upang gawing mas madali hangga't maaari upang makontrol ang lampara ayon sa gusto mo
    • Ang matalinong ilawan ay maaaring talagang kontrolin ng anumang may kakayahang magpadala ng isang kahilingan sa http GET. Nangangahulugan ito na ang lampara ay tumatanggap ng mga utos mula sa halos isang walang limitasyong hanay ng mga aparato
  4. Pagpi-print sa 3D

    Ang matalinong lampara na ito ay nararapat sa isang cool na naghahanap kaso. At tulad ng maraming mga proyekto ay kailangan mo ng isang cool na kaso, ang 3D na pag-print ay dumating upang iligtas

Hakbang 3: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Inorder ko ang aking mga PCB mula sa jlcpcb.com. Buong oras ng pagsisiwalat: in-sponsor din nila ang proyektong ito.

Ang PCB ay binubuo ng dalawang bahagi. Mayroon itong LED board at ang control board. Ang PCB ay maaaring maputol upang maikonekta ang dalawang bahagi na ito sa pamamagitan ng kakayahang umangkop na kawad. Kinakailangan ito upang kapwa panatilihing payat ang naka-print na lampara sa 3D, at upang anggulo ang LED board upang kumalat nang pantay ang ilaw sa silid ng butas.

Ang control board ay nakalagay sa D1 microcontroller kasama ang limang MOSFETs para sa pagpapadilim sa mga LED, at isang voltage regulator upang bigyan ang microcontroller ng isang makinis na 5V.

Ang LED board ay may limang LED channel sa tatlong magkakaibang uri ng LEDs. Dahil gumagamit kami ng isang 12V na mapagkukunan ng kuryente ang mga LED ay naka-configure bilang tatlong LEDs sa serye na may isang risistor at pagkatapos ay paulit-ulit na 16 beses sa parallel.

Ang isang regular na puting LED ay karaniwang kumukuha ng 3.3 V. Sa isang bahagi ng board, tatlo sa mga LED na ito ay nasa serye na nangangahulugang ang boltahe na drop ay pinagsama sa circuit. Tatlong LEDs na gumuhit ng 3.3 V bawat isa ay nangangahulugang isang segment ng LEDs na kumukuha ng 9.9 V. Ang circuit ay pinalakas ng 12 V upang umalis ang 2.1 V.

Kung ang segment ay binubuo lamang ng tatlong LEDs makakakuha sila ng mas maraming boltahe kaysa sa mawala sila. Hindi ito mabuti para sa mga LED at maaaring mabilis itong mapinsala. Ito ang dahilan kung bakit ang bawat segment ay mayroon ding isang resistor sa serye sa lahat ng tatlong LEDs. Ang risistor na ito ay naroroon upang i-drop ang natitirang 2.1 V sa serye kantong.

Kaya't kung ang bawat segment na account para sa 12 V na nangangahulugan na ang bawat isa sa mga segment ay konektado sa bawat isa sa parallel. Kapag ang mga circuit ay konektado sa kahanay lahat sila ay nakakakuha ng parehong boltahe at ang kasalukuyang pinagsama. Ang kasalukuyang nasa isang koneksyon sa serye ay laging pareho.

Ang isang regular na LED ay kumukuha ng 20 mA sa kasalukuyang. Nangangahulugan ito ng isang segment, na kung saan ay tatlong LEDs at isang risistor sa serye pa rin ang gumuhit ng 20 mA. Kapag kumonekta kami ng maraming mga segment nang kahanay, idaragdag namin ang kasalukuyang. Kung pinutol mo ang anim na LEDs mula sa strip, mayroon kang dalawa sa mga segment na ito sa kahanay. Na nangangahulugang ang iyong kabuuang circuit ay nakakakuha pa rin ng 12 V, ngunit gumuhit sila ng 40 mA sa kasalukuyang.

Hakbang 4: Mga LED na Soldering

Mga LED na panghinang
Mga LED na panghinang
Mga LED na panghinang
Mga LED na panghinang
Mga LED na panghinang
Mga LED na panghinang

Mula sa pagsubok ng ilang mga bagay na natagpuan ko ang simpleng masking tape ay ang pinaka-epektibo at kakayahang umangkop para sa pagpapanatili ng PCB mula sa paglipat.

Para sa mga bahagi na may maraming mga pin, tulad ng 6-pin sa isang 5050 LED, nagsisimula ako sa pamamagitan ng paglalagay ng solder sa isa sa mga PCB pad. Pagkatapos ito ay isang bagay lamang sa pagpapanatili ng solder na ito na tinunaw sa soldering iron habang isinasara ang sangkap sa lugar nito gamit ang isang pares ng sipit.

Ngayon ang iba pang mga pad ay maaaring madaling tacked sa ilang mga panghinang. Gayunpaman, upang mapabilis ang gawaing ito iminumungkahi ko ang pagkuha ng ilang likido na solder flux. Talagang hindi ko mairerekumenda ang bagay na ito ng sapat.

Ilapat ang ilan sa pagkilos ng bagay sa mga solder pad, pagkatapos ay matunaw ang ilang panghinang sa dulo ng iyong bakal na panghinang. Ngayon ay isang bagay lamang ng pagdadala ng tinunaw na solder sa mga pad at lahat ng bagay ay dumadaloy sa lugar. Maganda at simple.

Pagdating sa mga resistors at iba pang mga sangkap ng dalawang pad na talagang hindi kinakailangan ng solder flux. Mag-apply ng solder sa isa sa mga pad at dalhin ang risistor sa lugar. Ngayon matunaw lamang ang ilang solder papunta sa pad number two. Napakadali.

Tingnan ang ikalimang larawan sa hakbang na ito. Bigyang-pansin ang oryentasyon ng mga LED. Ang mainit at malamig na puting LEDs ay nakatuon sa kanilang bingaw sa kanang sulok sa itaas. Ang mga RGB LEDs ay mayroong kanilang bingaw sa ibabang kaliwang sulok. Ito ay isang error sa disenyo mula sa aking bahagi, dahil hindi ko makita ang datasheet para sa mga RGB LED na ginamit sa proyektong ito. Oh well, mabuhay at matuto at lahat ng iyon!

Hakbang 5: Soldering Control Board

Lupon ng Control ng Soldering
Lupon ng Control ng Soldering
Lupon ng Control ng Soldering
Lupon ng Control ng Soldering
Lupon ng Control ng Soldering
Lupon ng Control ng Soldering
Lupon ng Control ng Soldering
Lupon ng Control ng Soldering

Matapos matapos ang marapon ng LED board, ang control board ay isang simoy sa paghihinang. Inilapag ko ang limang MOSFET at tumutugma sa mga resistors na mapagkukunan ng gate, bago lumipat sa regulator ng boltahe.

Ang regulator ng boltahe ay may mga opsyonal na puwang para sa pagpapakinis ng mga capacitor. Habang hinihinang ko sila sa larawang ito natapos ko na silang alisin dahil hindi talaga sila kinakailangan.

Ang bilis ng kamay sa pagkuha ng isang manipis na control board ay ilagay ang mga header ng pin na sinusundot ang tuktok hanggang sa ibaba. Matapos mailagay ang mga pin, ang hindi nagamit na haba ay maaaring ma-snip mula sa likuran kasama ang itim na plastik. Ginagawa nitong ganap na makinis ang ilalim na bahagi.

Sa lahat ng mga bahagi sa lugar oras na upang magkasama ang dalawang board. Na-snip ko lang at hinubaran ang anim na maliliit na 2.5 pulgada (7 cm) na mga wire at ikinonekta ang dalawang PCB.

Hakbang 6: Pag-setup ng WiFi

Pag-setup ng WiFi
Pag-setup ng WiFi
Pag-setup ng WiFi
Pag-setup ng WiFi

Mayroong anim na simpleng mga linya sa code na kailangan mong baguhin.

  1. ssid, linya 3

    Ang pangalan ng iyong router. Siguraduhing nakakakuha ka ng tamang titik ng titik kapag sinusulat ito

  2. wifiPass, linya 4

    Ang iyong password ng router. Muli, bigyang-pansin ang pambalot

  3. ip, linya 8

    Ang static ip address ng iyong smart lamp. Pumili ako ng isang random ip address sa aking network at sinubukang i-ping ito sa window ng utos. Kung walang tugon mula sa address maaari mong ipalagay na magagamit ito

  4. gateway, linya 9

    Ito ang magiging gateway sa iyong router. Magbukas ng isang window ng utos at i-type ang "ipconfig". Ang gateway at subnet ay bilugan sa pula sa larawan

  5. subnet, linya 10

    Tulad ng sa gateway, ang impormasyong ito ay bilugan sa larawan para sa hakbang na ito

  6. timeZone, linya 15

    Ang timezone na nasa iyo. Baguhin ito kung nais mong gamitin ang built in na mga pagpapaandar ng timer upang i-on at i-off ang mga ilaw sa mga tukoy na oras. Ang variable ay isang simpleng pluss o minus GMT

Hakbang 7: Microcontroller Code

Code ng Microcontroller
Code ng Microcontroller
Code ng Microcontroller
Code ng Microcontroller
Code ng Microcontroller
Code ng Microcontroller
Code ng Microcontroller
Code ng Microcontroller

Matapos baguhin ang lahat ng nauugnay na mga setting sa nakaraang hakbang sa wakas ay oras na upang mai-upload ang code sa Wemos D1 Mini!

Ang arduino code ay nangangailangan ng ilang mga aklatan at dependency. Sundin muna ang gabay na ito mula sa sparkfun kung hindi mo pa nai-upload ang code mula sa arduino IDE hanggang sa isang ESP8266.

Ngayon i-download ang Time library at ang TimeAlarms library. I-unzip ang mga ito at kopyahin ang folder ng arduino library sa iyong computer. Tulad ng pag-install ng anumang iba pang mga aklatan ng arduino.

Bigyang-pansin ang mga setting ng pag-upload sa larawan sa hakbang na ito. Piliin ang parehong pagsasaayos, maliban sa com port. Ito ang magiging com port na nakakonekta mo sa iyong computer sa iyong computer.

Kapag na-upload ang code buksan ang serial terminal sa isang mensahe ng isang, sana, matagumpay na koneksyon! Maaari mo na ngayong buksan ang iyong browser at bisitahin ang static ip address na nai-save mo sa microcontroller. Binabati kita, nakabuo ka lamang ng iyong sariling server at nagho-host dito ng isang web page!

Hakbang 8: Buksan ang Protocol ng Mensahe

Buksan ang Protocol ng Mensahe
Buksan ang Protocol ng Mensahe
Buksan ang Protocol ng Mensahe
Buksan ang Protocol ng Mensahe
Buksan ang Protocol ng Mensahe
Buksan ang Protocol ng Mensahe
Buksan ang Protocol ng Mensahe
Buksan ang Protocol ng Mensahe

Kapag kinokontrol mo ang matalinong ilawan gamit ang app ang lahat ng mga mensahe ay awtomatikong hahawakan para sa iyo. Narito ang isang listahan ng mga mensahe na tinatanggap ng lampara, kung nais mong bumuo ng iyong sariling remote control. Gumamit ako ng isang halimbawa ip address upang ilarawan kung paano gamitin ang mga utos.

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

    • Nagtatakda ng mga pulang ilaw sa pinakamataas na halaga, berdeng ilaw hanggang kalahating halaga, at asul na ilaw hanggang 34. Ang malamig at maligamgam na maputi ay halos hindi masunog
    • Kapag nagpasok ng mga halaga, maaari kang pumili sa pagitan ng 0 at 1023. Palaging isulat ang mga light halaga bilang apat na digit sa URL
  • 192.168.0.200/&&B=0800

    Nagtatakda ng mga asul na ilaw sa halagang 800 habang sabay na pinapatay ang lahat ng iba pang mga ilaw

  • 192.168.0.200/LED=OFF

    Ganap na pinapatay ang lahat ng ilaw

  • 192.168.0.200/LED=FADE

    Nagsisimula nang dahan-dahan sa pagitan ng lahat ng posibleng mga kulay ng RGB. Perpekto para sa kapaligiran

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

    I-flash ang ibinigay na kulay ng dalawang beses upang ipahiwatig ang papasok na abiso. Perpekto kung nais mong, sabihin, lumikha ng isang programa sa iyong computer upang i-flash ang pulang ilawan tuwing nakakatanggap ka ng isang bagong email

  • 192.168.0.200/DST=1

    • Inaayos ang orasan sa oras ng pagtipig ng araw. Nagdaragdag ng isang oras sa oras
    • / DST = 0 gamitin ito upang bumalik mula sa DST, inaalis ang isang oras mula sa orasan kung ang DST ay aktibo
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Sine-save ang estado para sa timer 1. Ang timer na ito ay magbubukas ng mga naibigay na halaga ng RGB sa 06:30 ng umaga

  • 192.168.0.200/TIMER1H=99

    Itakda ang timer hour sa 99 upang i-deactivate ang timer. Ang mga halaga ng RGB ay nakaimbak pa rin, ngunit ang timer ay hindi bubuksan ang mga ilaw kapag ang oras ay nakatakda sa 99

  • Ang lampara ay may apat na indibidwal na timer. Baguhin ang "TIMER1" para sa "TIMER2", "TIMER3", o "TIMER4" upang ayusin ang isa sa iba pang mga built in timer.

Ito ang kasalukuyang built in na mga utos. Mag-iwan ng isang komento kung mayroon kang anumang mga cool na ideya para sa mga bagong utos upang bumuo ng alinman sa arduino code o ang remote app!

Hakbang 9: Remote Control

Remote Control
Remote Control
Remote Control
Remote Control
Remote Control
Remote Control
Remote Control
Remote Control

Mag-click dito upang i-download ang app. Ang pag-setup ay ginawang sobrang kadalian, ipasok lamang ang ip address ng iyong smart lamp at piliin kung nais mong kontrolin ang mga RGB LEDs o RGB + mainit at malamig na puting LEDs.

Tulad ng ipinaliwanag sa nakaraang hakbang, alam mo na ngayon kung anong mensahe ang ginagamit ng app na protocol. Nagpapadala ito ng isang kahilingan sa http GET kasama ang mga URL. Nangangahulugan ito na maaari ka ring lumikha ng iyong sariling circuit ng microcontroller, at gamitin pa rin ang app na ito upang makontrol ang mga pagpapaandar na binuo mo nang mag-isa.

Sapagkat talagang tiningnan namin ang malalim sa mensahe ng mensahe maaari mo ring makontrol ang matalinong ilawan sa pamamagitan ng anumang may kakayahang magpadala ng isang kahilingan sa http GET. Nangangahulugan ito ng anumang browser sa isang telepono o computer, o mga smart home device o katulong tulad ng Alexa o ang Google Assistant.

Ang Tasker ay isang app na karaniwang hinahayaan kang lumikha ng mga kundisyon upang makontrol ang malapit sa anupaman. Ginamit ko iyon upang i-flash ang smart lamp na may kulay ng isang notification kapag natanggap ko ito sa aking telepono. Nag-set up din ako ng tasker upang i-on ang mga ilaw nang buong puti, kapag kumonekta ang telepono sa aking home WiFi pagkalipas ng 16:00 sa isang araw ng linggo. Nangangahulugan iyon na ang mga ilaw ay awtomatikong nakabukas pagdating ko sa bahay mula sa paaralan. Ang astig talaga umuwi na awtomatikong nakabukas ang mga ilaw!

Hakbang 10: Pag-print sa 3D

Pagpi-print sa 3D
Pagpi-print sa 3D

Ang kaso ng lampara mismo ay maaaring mai-print halos ganap nang walang mga suporta. Ang mga bahagi lamang na talagang nangangailangan ng suporta ay ang mga peg na inilaan para sa pagsasama sa PCB. Dahil doon ginawa kong magagamit ang stl kapwa may at walang isang maliit na istraktura ng suporta para lamang sa mga pegs na ito. Ang bentahe ng paggamit ng pasadyang suporta na ito ay ang pag-print ay mas mabilis! At nakakakuha lamang kami ng suporta sa pag-print sa mga bahagi na talagang kailangan ito.

Maaari mong i-download ang mga file na.stl dito

Hakbang 11: Pagsamahin Lahat

Magkasama Tayong Lahat
Magkasama Tayong Lahat
Magkasama Tayong Lahat
Magkasama Tayong Lahat
Magkasama Tayong Lahat
Magkasama Tayong Lahat

Pagkatapos ng pag-print ng 3D magsimula sa pamamagitan ng pag-alis ng suporta sa pag-print. Ang mga kable ng kuryente ay napupunta sa magkakahiwalay na mga channel at naitali. Ang buhol na ito ay lilikha ng kaluwagan sa pilay na pumipigil sa mga cable mula sa pagiging natastas ng PCB. Paghinang ng mga kable ng kuryente sa likurang likuran ng PCB at tiyaking nakakuha ka ng polarity na tama!

Ang control PCB ay pagkatapos ay ikabit gamit ang isang piraso ng tape upang mapanatili itong mapula sa loob ng kaso. Ang LED PCB ay maaaring mailagay lamang sa lugar nito kung saan ito inilatag laban sa kaso sa sarili nitong.

Hakbang 12: Pagbitay ng Suga

Isinasabit ang Lampara
Isinasabit ang Lampara
Isinasabit ang Lampara
Isinasabit ang Lampara
Isinasabit ang Lampara
Isinasabit ang Lampara

Maraming mga pagpipilian para sa pag-hang ng lampara na ito sa dingding. Dahil maaari kong patuloy na mai-update ang code upang mapabuti ang lampara na nais ko ng isang paraan ng pagkuha ng lampara paminsan-minsan. Maaari kang gumamit ng mainit na pandikit, ngunit inirerekumenda ko ang ilang dobleng panig na tape. Pinakamainam na gamitin ang makapal at mabula na double sided tape habang pinakahawak nito ang lampara laban sa isang naka-text na pader.

Hakbang 13: Tapos na

Tapos na
Tapos na
Tapos na
Tapos na
Tapos na
Tapos na

Gamit ang lampara sa pader at handa nang tanggapin ang mga utos na nangangahulugang tapos ka na!

Ang LED panel ay anggulo sa isang paraan na nagkakalat ng ilaw nang pantay-pantay sa silid. Ito ay isang magandang karagdagan sa anumang puwang sa trabaho at ang kakayahan para sa pagsasama sa pag-aautomat ng bahay ay isang mahusay na plus. Talagang gusto ko ang kakayahang magtakda ng mga kulay ng RGB pati na rin ang pag-aayos ng mga puting balanse sa pagitan ng malamig at maligamgam na ilaw. Mukhang naka-istilo at isang malaking tulong para sa pagtatakda ng mga paligid o ilaw sa trabaho, upang umangkop sa anumang kailangan ng pag-iilaw na mayroon ako sa ngayon.

Binabati kita, nagawa mo ngayon ang isang malaking lakad sa mundo ng IoT at pag-aautomat sa bahay!