Sisukord:

DIY IoT lamp koduautomaatika jaoks -- ESP8266 õpetus: 13 sammu (piltidega)
DIY IoT lamp koduautomaatika jaoks -- ESP8266 õpetus: 13 sammu (piltidega)

Video: DIY IoT lamp koduautomaatika jaoks -- ESP8266 õpetus: 13 sammu (piltidega)

Video: DIY IoT lamp koduautomaatika jaoks -- ESP8266 õpetus: 13 sammu (piltidega)
Video: How to Program the ESP8266 ESP01 Wi-Fi Relay Module | RemoteXY | FLProg 2024, Juuli
Anonim
Image
Image
DIY IoT lamp koduautomaatika jaoks || ESP8266 õpetus
DIY IoT lamp koduautomaatika jaoks || ESP8266 õpetus

Selles õpetuses valmistame Interneti -ühendusega nutika lambi. See läheb sügavale asjade internetti ja avab koduautomaatika maailma!

Lamp on WiFi -ühendusega ja avatud sõnumiprotokolliga. See tähendab, et saate valida mis tahes juhtimisrežiimi! Seda saab juhtida veebibrauseri, koduautomaatikarakenduste, nutikate assistentide (nt Alexa või Google'i assistent) ja palju muu kaudu!

Boonusena läheb see lamp koos rakendusega projekti juhtimiseks. Siin saate valida erinevaid värvirežiime, tuhmuda RGB värvide vahel ja seada taimerid.

Lamp koosneb LED -plaadist ja juhtpaneelist. LED -plaat kasutab kolme erinevat tüüpi LED -e kokku viie LED -kanali jaoks! See on RGB koos sooja ja külma valgega. Kuna kõiki neid kanaleid saab seadistada individuaalselt, on teil kokku 112,3 beetakombinatsiooni!

Alustame!

[Esita video]

Samm: osad ja tööriistad

Osad ja tööriistad
Osad ja tööriistad

Osad

  • Wemos D1 Mini
  • 15 x sooja valget 5050 LED -i
  • 15 x külmvalget 5050 LED -i
  • 18 x RGB 5050 valgusdioodi
  • 6 x 300 oomi 1206 takistit
  • 42 x 150 oomi 1206 takistid
  • 5 x 1k oomi takistid
  • 5 x NTR4501NT1G

    MOSFETid

  • Lineaarne pingeregulaator, 5V
  • PCB

    PCB -de valmistamiseks laadige ahela sammus alla gerber -failid

  • Toide 12V 2A

Tööriistad

  • Jootekolb

    • Jootmisvorm
    • Vedel jootmisvoog
  • Maskeeriv lint
  • Kahepoolne teip
  • 3D printer
  • Traadi eemaldajad

2. samm: plaan

Plaan
Plaan

Kogu projekt koosneb neljast põhiosast:

  1. Vooluring

    Ahel on valmistatud trükkplaadil. Valmis vooluring koosneb enam kui 100 üksikust komponendist. See on tohutu kergendus, kui ei ühenda kõiki neid käsitsi parfüürile

  2. Arduino kood

    Ma kasutan Wemos D1 Mini, mis kasutab WiFi -ga ühendatud mikrokontrollerina ESP8266. Kood käivitab serveri D1 -l. Kui külastate selle serveri aadressi, tõlgendab D1 seda erinevate käskudena. Seejärel käsib mikrokontroller selle käsu järgi tuled vastavalt seadistada

  3. Pult

    • Tegin äpi just selle projekti jaoks, et oleks võimalikult lihtne lampi oma maitse järgi juhtida
    • Nutikat lampi saab tõepoolest juhtida kõigega, mis suudab saata http GET päringu. See tähendab, et lamp võtab vastu käske peaaegu piiramatult seadmetelt
  4. 3D printimine

    See nutikas lamp väärib laheda välimusega ümbrist. Ja nagu paljud projektid, kui vajate lahedat ümbrist, tuleb 3D -printimine appi

3. samm: ahel

Vooluring
Vooluring
Vooluring
Vooluring
Vooluring
Vooluring

Tellisin oma PCBd saidilt jlcpcb.com. Täielik avalikustamise aeg: nad sponsoreerisid ka seda projekti.

PCB koosneb kahest osast. Sellel on LED -plaat ja juhtpaneel. Trükkplaadi saab lahti lõigata, et hiljem ühendada need kaks osa painduva traadi abil. See on vajalik nii 3D -prinditud lambi õhukeseks hoidmiseks kui ka LED -plaadi nurga all, et valgus ühtlaselt läbi aukude ruumi jaotuks.

Juhtpaneelil on D1 mikrokontroller koos viie MOSFET -iga LED -de hämardamiseks ja pingeregulaator, mis annab mikrokontrollerile sujuva 5 V.

LED -plaadil on viis LED -kanalit kolmes erinevat tüüpi LED -is. Kuna kasutame 12 V toiteallikat, on LED -id konfigureeritud kolme LED -na, millel on takisti, ja seejärel korratakse neid 16 korda paralleelselt.

Tavaline valge valgusdiood tõmbab tavaliselt 3,3 V. Tahvli segmendil on kolm neist LED -idest järjestikku, mis tähendab, et pingelangus on vooluringis koondatud. Kolm LED -i, mis tõmbavad 3,3 V, tähendab, et üks LED -segment tõmbab 9,9 V. Ahelat toidab 12 V, nii et jääb 2,1 V.

Kui segment koosneks ainult kolmest valgusdioodist, saaksid nad rohkem pinget kui hajuvad. See ei ole LED -ide jaoks hea ja võib neid kiiresti kahjustada. Seetõttu on igal segmendil ka kõigi kolme LED -iga järjestikku takisti. See takisti on mõeldud selleks, et jadaühenduses ülejäänud 2,1 V maha lasta.

Seega, kui iga segmendi toide on 12 V, tähendab see, et kõik segmendid on üksteisega paralleelselt ühendatud. Kui ahelad on paralleelselt ühendatud, saavad nad kõik sama pinge ja vool koondatakse. Jadaühenduse vool on alati sama.

Tavaline LED tõmbab voolu 20 mA. See tähendab, et segment, mis koosneb kolmest LED -st ja takistusest järjestikku, tõmbab endiselt 20 mA. Kui ühendame paralleelselt mitu segmenti, lisame voolu. Kui lõikate ribalt kuus LED -i, on teil neid segmente paralleelselt kaks. Mis tähendab, et teie vooluahel võtab endiselt 12 V, kuid nad võtavad 40 mA voolu.

4. samm: LED -ide jootmine

LED -de jootmine
LED -de jootmine
LED -de jootmine
LED -de jootmine
LED -de jootmine
LED -de jootmine

Mõne asja proovimisel olen leidnud, et lihtne maskeerimislint on kõige tõhusam ja paindlikum PCB liikumise vältimiseks.

Mitme tihvtiga osade puhul, näiteks 5050 LED-i 6-kontaktiga, alustan jootmise asetamisega ühele PCB-padjale. Siis pole muud, kui hoida seda jootet jootekolviga sulatatuna, samal ajal komponenti pintsettidega oma kohale libistades.

Nüüd saab teisi padjakesi mõne joodisega hõlpsalt külge lüüa. Selle töö kiirendamiseks soovitan siiski üles võtta mõne vedela jootevoo. Ma tõesti ei oska seda asja piisavalt soovitada.

Kandke osa voogust jootmispatjadele, seejärel sulatage jootekolvi otsas mõni jootetükk. Nüüd jääb vaid sulanud joodis patjade peale tuua ja kõik voolab paika. Mõnus ja lihtne.

Takistite ja muude kahepadjaliste komponentide puhul pole jootmisvoogu tegelikult vaja. Kandke ühele padjale jootet ja viige takisti oma kohale. Nüüd sulatage lihtsalt joodis padjale number kaks. Lihtne.

Vaadake selle sammu viiendat pilti. Pöörake tähelepanu valgusdioodide orientatsioonile. Soojade ja külmade valgete valgusdioodide sälk on suunatud paremasse ülanurka. RGB LED -ide sälk asub vasakus alanurgas. See on minu poolt projekteerimisviga, sest ma ei leidnud selles projektis kasutatud RGB LED -ide andmelehte. Ahjaa, ela ja õpi ja kõik muu!

Samm: jootmise juhtpaneel

Jootmise juhtpaneel
Jootmise juhtpaneel
Jootmise juhtpaneel
Jootmise juhtpaneel
Jootmise juhtpaneel
Jootmise juhtpaneel
Jootmise juhtpaneel
Jootmise juhtpaneel

Pärast LED -plaadi maratoni lõpetamist on juhtpaneelil jootmine imelihtne. Enne pingeregulaatorile liikumist panin maha viis MOSFET-i ja sobivad väravaallika takistid.

Pingeregulaatoril on valikulised ruumid kondensaatorite silumiseks. Sel pildil jootmise ajal eemaldasin need, kuna need polnud tegelikult vajalikud.

Õhuke juhtpaneeli saamise trikk on panna tihvtide päised ülaosast väljapoole alt läbi. Kui tihvtid on paigas, saab kasutamata pikkuse koos musta plastikuga tagaküljelt ära lõigata. See muudab alumise külje täiesti siledaks.

Kui kõik komponendid on paigas, on aeg kaks plaati kokku viia. Lõikasin ja eemaldasin kuus väikest 2,5 -tollist (7 cm) juhtmest ja ühendasin kaks PCB -d.

Samm: WiFi seadistamine

WiFi seadistamine
WiFi seadistamine
WiFi seadistamine
WiFi seadistamine

Koodis on kuus lihtsat rida, mida peate muutma.

  1. ssid, rida 3

    Teie ruuteri nimi. Veenduge, et selle kirja kirjutamine oleks õige

  2. wifiPass, rida 4

    Teie ruuteri parool. Jällegi pöörake tähelepanu korpusele

  3. ip, rida 8

    Teie nutika lambi staatiline IP -aadress. Valisin oma võrgus juhusliku ip -aadressi ja proovisin seda käsuaknas pingida. Kui aadressilt vastust ei tule, võite eeldada, et see on saadaval

  4. lüüs, rida 9

    See on teie ruuteri lüüs. Avage käsuaken ja tippige "ipconfig". Lüüs ja alamvõrk on pildil punase ringiga

  5. alamvõrk, rida 10

    Nagu lüüsi puhul, on see teave selle sammu jaoks pildil ringiga ümbritsetud

  6. ajavöönd, rida 15

    Ajavöönd, milles viibite. Muutke seda, kui soovite sisseehitatud taimerifunktsioonide abil tulede sisse- ja väljalülitamist teatud kellaaegadel. Muutuja on lihtne pluss või miinus GMT

Samm: mikrokontrolleri kood

Mikrokontrolleri kood
Mikrokontrolleri kood
Mikrokontrolleri kood
Mikrokontrolleri kood
Mikrokontrolleri kood
Mikrokontrolleri kood
Mikrokontrolleri kood
Mikrokontrolleri kood

Pärast eelmises etapis kõigi asjakohaste seadete muutmist on lõpuks aeg kood Wemos D1 Minile üles laadida!

Arduino kood nõuab mõningaid teeke ja sõltuvusi. Esmalt järgige seda juhendit sparkfunist, kui te pole kunagi arduino IDE -st koodi ESP8266 -sse üles laadinud.

Laadige nüüd alla Time raamatukogu ja TimeAlarms raamatukogu. Pakkige need lahti ja kopeerige oma arvuti arduino raamatukogu kausta. Täpselt nagu kõigi teiste arduino raamatukogude installimine.

Pöörake tähelepanu selle sammu pildil olevatele üleslaadimisseadetele. Valige sama konfiguratsioon, välja arvatud com -port. See on mis tahes port, millega teie mikrokontroller on arvutisse ühendatud.

Kui kood on üles laaditud, avage jadaterminal sõnumile loodetavasti eduka ühenduse kohta! Nüüd saate oma brauseri avada ja külastada mikrokontrollerisse salvestatud staatilist IP -aadressi. Palju õnne, ehitasite just oma serveri ja hostite sellel veebilehte!

Samm: avage sõnumiprotokoll

Avage sõnumiprotokoll
Avage sõnumiprotokoll
Avage sõnumiprotokoll
Avage sõnumiprotokoll
Avage sõnumiprotokoll
Avage sõnumiprotokoll
Avage sõnumiprotokoll
Avage sõnumiprotokoll

Kui juhtite nutikat lampi rakendusega, käsitletakse kõiki sõnumeid automaatselt teie eest. Siin on nimekiri sõnumitest, mida lamp aktsepteerib, kui soovite luua oma kaugjuhtimispuldi. Käskude kasutamise illustreerimiseks olen kasutanud näite ip -aadressi.

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

    • Seadistab punased tuled maksimaalseks, rohelised tuled pooleks ja sinised tuled 34. Külm ja soe valge on vaevalt sisse lülitatud
    • Väärtuste sisestamisel saate valida 0 ja 1023 vahel. Kirjutage alati valgusväärtused neljakohalisena URL -i
  • 192.168.0.200/&&B=0800

    Seadistab sinised tuled väärtusele 800, lülitades samal ajal välja kõik muud tuled

  • 192.168.0.200/LED=OFF

    Lülitab kõik tuled täielikult välja

  • 192.168.0.200/LED=FADE

    Hakkab aeglaselt tuhmuma kõigi võimalike RGB värvide vahel. Ideaalne meeleoluks

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

    Vilgub antud värvi kaks korda, et näidata sissetulevat märguannet. Ideaalne, kui soovite näiteks luua oma arvutisse programmi, mis vilgutab lambipunast iga kord, kui saate uue e -kirja

  • 192.168.0.200/DST=1

    • Reguleerib kella vastavalt suveajale. Lisab kellale ühe tunni
    • /DST = 0 kasutage seda DST -st naasmiseks, eemaldab kellast ühe tunni, kui DST on aktiivne
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Salvestab oleku taimeriks 1. See taimer lülitab antud RGB väärtused sisse kell 06:30 hommikul

  • 192.168.0.200/TIMER1H=99

    Taimeri väljalülitamiseks seadke taimeritund 99 -le. RGB väärtused on endiselt salvestatud, kuid taimer ei lülita tulesid sisse, kui tund on seatud 99 -le

  • Lambil on neli eraldi taimerit. Muutke "TIMER1" väärtuseks "TIMER2", "TIMER3" või "TIMER4", et reguleerida üht teistest sisseehitatud taimeritest.

Need on praegu sisseehitatud käsud. Jäta kommentaar, kui teil on häid ideid uute käskude loomiseks kas arduino koodi või kaugrakenduse jaoks!

9. samm: kaugjuhtimispult

Pult
Pult
Pult
Pult
Pult
Pult
Pult
Pult

Rakenduse allalaadimiseks klõpsake siin. Seadistamine on ülilihtne, sisestage lihtsalt oma nutika lambi IP -aadress ja valige, kas soovite juhtida ainult RGB või sooja ja külma valget LED -i.

Nagu eelmises etapis selgitatud, teate nüüd, millist sõnumiprotokolli rakendus kasutab. See saadab URL -idega http GET taotluse. See tähendab, et saate luua ka oma mikrokontrolleri vooluringi ja siiski kasutada seda rakendust oma arendatavate funktsioonide juhtimiseks.

Kuna oleme sõnumiprotokolli tõesti põhjalikult uurinud, saate nutikat lampi juhtida ka ükskõik millega, mis on võimeline saatma http GET päringu. See tähendab mis tahes telefoni või arvuti brauserit või nutikaid koduseadmeid või abilisi, nagu Alexa või Google'i assistent.

Tasker on rakendus, mis põhimõtteliselt võimaldab teil luua tingimusi, et juhtida kõike. Kasutasin seda nutika lambi vilkumiseks märguande värviga, kui selle telefoni kätte saan. Samuti seadistasin taskeri, et lülitada tuled täiesti valgeks, kui telefon ühendab mu koduse WiFi -ga pärast tööpäeva pärast kella 16.00. See tähendab, et tuled lülituvad koolist koju jõudes automaatselt sisse. Päris lahe on automaatselt tuledega koju tulla!

Samm: 3D -printimine

3D printimine
3D printimine

Lambikarpi ennast saab peaaegu täielikult trükkida ilma tugedeta. Ainsad osad, mis tõesti vajavad tuge, on PCB -ga paaritamiseks mõeldud tihvtid. Seetõttu tegin stl kättesaadavaks nii pisikeste tugistruktuuridega kui ka ilma nendeta. Selle kohandatud toe kasutamise eeliseks on see, et printimine on palju kiirem! Ja trükitoetust saame ainult osadele, mis seda tõesti vajavad.

Siit saate alla laadida.stl -faile

11. samm: ühendage see kõik

Tooge see kõik kokku
Tooge see kõik kokku
Tooge see kõik kokku
Tooge see kõik kokku
Tooge see kõik kokku
Tooge see kõik kokku

Pärast 3D -printimist alustage prinditoe eemaldamisega. Toitekaablid lähevad eraldi kanalitesse ja on omavahel ühendatud. See sõlm loob pingete vähendamise, vältides kaablite trükkimist trükkplaadilt. Jootke toitekaablid trükkplaadi tagaküljele ja veenduge, et polaarsus oleks õige!

Juhtplaat kinnitatakse seejärel linditükiga, et hoida see korpuse sees. LED -trükkplaadi saab lihtsalt paigutada oma kohale, kus see asetseb korpuse vastas.

12. samm: lambi riputamine

Lambi riputamine
Lambi riputamine
Lambi riputamine
Lambi riputamine
Lambi riputamine
Lambi riputamine

Selle lambi seinale riputamiseks on palju võimalusi. Kuna ma võin lambi täiustamiseks koodi pidevalt uuendada, tahtsin ma lambi aeg -ajalt maha võtta. Võite kasutada kuuma liimi, kuid soovitan mõnda kahepoolset teipi. Parim on kasutada paksu ja vahutavat kahepoolset teipi, kuna see hoiab lampi kõige paremini vastu tekstureeritud seina.

13. samm: lõpetatud

Valmis
Valmis
Valmis
Valmis
Valmis
Valmis

Kui lamp on seinal ja valmis käske vastu võtma, tähendab see, et olete valmis!

LED -paneel on nurga all nii, et hajutab valguse ruumis ühtlaselt. See on kena lisand igale tööruumile ja koduautomaatikaga integreerimise võimalus on suur pluss. Mulle väga meeldib võimalus seada RGB värve ning reguleerida valge ja külma valguse tasakaalu. See näeb välja stiilne ja on suureks abiks ümbritsevate või töövalgustite seadistamisel, et see sobiks igale valgustusvajadusele, mis mul hetkel on.

Palju õnne, olete nüüd teinud suure hüppe asjade Interneti ja koduautomaatika maailma!