Cuprins:

Lampă DIY IoT pentru automatizare la domiciliu -- Tutorial ESP8266: 13 pași (cu imagini)
Lampă DIY IoT pentru automatizare la domiciliu -- Tutorial ESP8266: 13 pași (cu imagini)

Video: Lampă DIY IoT pentru automatizare la domiciliu -- Tutorial ESP8266: 13 pași (cu imagini)

Video: Lampă DIY IoT pentru automatizare la domiciliu -- Tutorial ESP8266: 13 pași (cu imagini)
Video: Automatizări la domiciliu: controlați becul AC utilizând releu cu NodeMCU și D1 Mini prin WiFi 2024, Iulie
Anonim
Image
Image
Lampă DIY IoT pentru automatizare la domiciliu || Tutorial ESP8266
Lampă DIY IoT pentru automatizare la domiciliu || Tutorial ESP8266

În acest tutorial vom face o lampă inteligentă conectată la internet. Acest lucru va intra adânc în internetul lucrurilor și va deschide o lume a automatizării caselor!

Lampa este conectată WiFi și construită pentru a avea un protocol de mesaj deschis. Aceasta înseamnă că puteți selecta orice mod de control doriți! Poate fi controlat printr-un browser web, aplicații de automatizare a casei, asistenți inteligenți precum Alexa sau Asistent Google și multe altele!

Ca bonus, această lampă vine împreună cu o aplicație pentru a controla proiectul. Aici puteți selecta diferite moduri de culoare, puteți estompa între culorile RGB și puteți seta temporizatoarele.

Lampa conține o placă LED și o placă de control. Placa LED utilizează trei tipuri diferite de LED-uri pentru un total de cinci canale LED! Acesta este RGB împreună cu albul cald și rece. Deoarece toate aceste canale pot fi setate individual, aveți în total 112,3 combinații peta!

Să începem!

[Rulează video]

Pasul 1: Piese și instrumente

Piese și instrumente
Piese și instrumente

Părți

  • Wemos D1 Mini
  • 15 x LED-uri 5050 alb cald
  • 15 x LED-uri 5050 albe reci
  • 18 x LED-uri RGB 5050
  • 6 x 300 ohm 1206 rezistențe
  • Rezistoare 42 x 150 ohm 1206
  • Rezistențe 5 x 1k ohm
  • 5 x NTR4501NT1G

    MOSFET-uri

  • Regulator de tensiune liniar, 5V
  • PCB

    Descărcați fișierele gerber în pasul circuitului pentru a vă crea propriile PCB-uri

  • Alimentator 12V 2A

Instrumente

  • Ciocan de lipit

    • Cutie de lipit
    • Flux de lipit lichid
  • Banda camuflanta
  • Bandă cu două fețe
  • imprimantă 3d
  • Decapanti de sârmă

Pasul 2: Planul

Planul
Planul

Proiectul complet constă din patru părți principale:

  1. Circuit

    Circuitul este realizat pe un PCB. Circuitul complet va fi format din mai mult de 100 de componente individuale. Este o ușurare uriașă să nu-i conectezi pe toți cu mâna pe un panou de perfecțiune

  2. Cod Arduino

    Folosesc Wemos D1 Mini care folosește un ESP8266 ca microcontroler conectat WiFi. Codul va porni un server pe D1. Când vizitați adresa acestui server, D1 va interpreta acest lucru ca diferite comenzi. Microcontrolerul acționează apoi pe această comandă pentru a seta luminile în consecință

  3. Telecomandă

    • Am creat o aplicație doar pentru acest proiect, pentru a ușura cât mai ușor controlul lămpii pe placul dvs.
    • Lampa inteligentă poate fi într-adevăr controlată de orice lucru capabil să trimită o cerere http GET. Aceasta înseamnă că lampa acceptă comenzi de la o gamă aproape nelimitată de dispozitive
  4. printare 3d

    Această lampă inteligentă merită un caz rece. Și, ca atâtea proiecte, în care ai nevoie de o carcasă grozavă, imprimarea 3D vine în ajutor

Pasul 3: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Mi-am comandat PCB-urile de la jlcpcb.com. Timp complet de divulgare: au sponsorizat și acest proiect.

PCB-ul este format din două părți. Are placa LED si placa de control. PCB-ul poate fi separat separat pentru a conecta ulterior aceste două părți printr-un fir flexibil. Acest lucru este necesar atât pentru a menține subțire lampa tipărită 3D, cât și pentru a înclina placa LED pentru a răspândi uniform lumina prin camera cu orificii.

Placa de control găzduiește microcontrolerul D1 împreună cu cinci MOSFET-uri pentru estomparea LED-urilor și un regulator de tensiune pentru a oferi microcontrolerului 5V netedă.

Placa LED are cinci canale LED în trei tipuri diferite de LED-uri. Deoarece folosim o sursă de alimentare de 12V, LED-urile sunt configurate ca trei LED-uri în serie cu un rezistor și apoi repetate de 16 ori în paralel.

Un LED alb obișnuit desenează 3,3 V. Pe un segment al plăcii, trei dintre aceste LED-uri sunt în serie, ceea ce înseamnă că căderea de tensiune este agregată în circuit. Trei LED-uri care atrag 3,3 V fiecare înseamnă că un segment de LED-uri atrage 9,9 V. Circuitul este alimentat de 12 V, astfel încât să rămână 2,1 V.

Dacă segmentul ar consta doar din cele trei LED-uri, ar obține mai multă tensiune decât disipează. Acest lucru nu este bun pentru LED-uri și le poate deteriora rapid. Acesta este motivul pentru care fiecare segment are și un rezistor în serie cu toate cele trei LED-uri. Acest rezistor este acolo pentru a scăpa restul de 2,1 V în joncțiunea de serie.

Deci, dacă fiecare segment reprezintă 12 V, înseamnă că fiecare dintre segmente este conectat unul cu celălalt în paralel. Când circuitele sunt conectate în paralel, toate obțin aceeași tensiune și curentul este agregat. Curentul într-o conexiune în serie este întotdeauna același.

Un LED obișnuit atrage 20 mA în curent. Aceasta înseamnă că un segment, care este de trei LED-uri și un rezistor în serie, va atrage încă 20 mA. Când conectăm mai multe segmente în paralel, adăugăm curentul. Dacă tăiați șase LED-uri din bandă, aveți două dintre aceste segmente în paralel. Ceea ce înseamnă că circuitul dvs. total încă atrage 12 V, dar consumă 40 mA în curent.

Pasul 4: LED-uri de lipit

LED-uri de lipit
LED-uri de lipit
LED-uri de lipit
LED-uri de lipit
LED-uri de lipit
LED-uri de lipit

Încercând câteva lucruri, am găsit că banda de mascare simplă este doar cea mai eficientă și flexibilă pentru a împiedica mișcarea PCB-ului.

Pentru piesele cu mai mulți pini, cum ar fi cei 6 pini de pe un LED 5050, încep prin așezarea lipirii pe unul dintre tampoanele PCB. Apoi, este doar o chestiune de a păstra această lipire topită cu fierul de lipit în timp ce glisați componenta în locul său cu o pereche de pensete.

Acum, celelalte tampoane pot fi ușor lipite cu o lipire. Cu toate acestea, pentru a accelera această lucrare, vă sugerez să preluați un flux de lipire lichid. Chiar nu pot recomanda aceste lucruri suficient.

Aplicați o parte din flux pe tampoanele de lipit, apoi topiți ceva lipit pe vârful fierului de lipit. Acum este doar o chestiune de a aduce lipirea topită pe tampoane și totul curge la locul său. Frumos și simplu.

Când vine vorba de rezistențe și alte componente cu două plăci, nu este nevoie de flux de lipire. Aplicați lipirea pe unul dintre tampoane și aduceți rezistorul la locul său. Acum topește doar o lipire pe tamponul numărul doi. Ușor de țăran.

Aruncați o privire la a cincea imagine din acest pas. Acordați atenție orientării LED-urilor. LED-urile albe calde și reci au crestătura orientată în colțul din dreapta sus. LED-urile RGB au crestătura în colțul din stânga jos. Aceasta este o eroare de proiectare din partea mea, deoarece nu am putut găsi fișa tehnică pentru LED-urile RGB utilizate în acest proiect. Ei bine, trăiește și învață și toate astea!

Pasul 5: placa de control a lipirii

Placă de control pentru lipire
Placă de control pentru lipire
Placă de control pentru lipire
Placă de control pentru lipire
Placă de control pentru lipire
Placă de control pentru lipire
Placă de control pentru lipire
Placă de control pentru lipire

După terminarea maratonului plăcii cu LED-uri, placa de control este ușor de lipit. Am pus jos cele cinci MOSFET-uri și rezistențele de sursă de poartă potrivite, înainte de a mă deplasa pe regulatorul de tensiune.

Regulatorul de tensiune are spații opționale pentru netezirea condensatoarelor. În timp ce le-am lipit în această imagine, am ajuns să le îndepărtez, deoarece nu erau cu adevărat necesare.

Trucul pentru a obține o placă de control subțire este să puneți anteturile pinului care scot în sus partea de jos. După ce știfturile sunt la locul lor, lungimea neutilizată poate fi smulsă din spate împreună cu plasticul negru. Acest lucru face ca partea inferioară să fie complet netedă.

Cu toate componentele la locul lor, este timpul să reuniți cele două plăci. Tocmai am tăiat și am dezbrăcat șase fire mici de 2,5 inch (7 cm) și am conectat cele două PCB-uri.

Pasul 6: Configurare WiFi

Configurare WiFi
Configurare WiFi
Configurare WiFi
Configurare WiFi

Există șase linii simple în cod pe care trebuie să le modificați.

  1. ssid, linia 3

    Numele routerului. Asigurați-vă că obțineți literele majuscule corect când scrieți acest lucru

  2. wifiPass, linia 4

    Parola dvs. de router. Din nou, fii atent la carcasă

  3. ip, linia 8

    Adresa IP statică a lămpii inteligente. Am ales o adresă IP aleatorie în rețeaua mea și am încercat să o fac ping în fereastra de comandă. Dacă nu există un răspuns de la adresă, puteți presupune că este disponibilă

  4. gateway, linia 9

    Acesta va fi gateway-ul de pe router. Deschideți o fereastră de comandă și tastați „ipconfig”. Poarta de acces și subrețeaua sunt înconjurate cu roșu în imagine

  5. subrețea, linia 10

    Ca și în cazul gateway-ului, aceste informații sunt încercuite în imagine pentru acest pas

  6. fus orar, linia 15

    Fusul orar în care vă aflați. Schimbați acest lucru dacă doriți să utilizați funcțiile de temporizare încorporate pentru a porni și a stinge luminile la anumite ore. Variabila este o simplă simplă sau minus GMT

Pasul 7: Codul microcontrolerului

Codul microcontrolerului
Codul microcontrolerului
Codul microcontrolerului
Codul microcontrolerului
Codul microcontrolerului
Codul microcontrolerului
Codul microcontrolerului
Codul microcontrolerului

După ce ați modificat toate setările relevante din pasul anterior, este în sfârșit timpul să încărcați codul pe Wemos D1 Mini!

Codul arduino necesită câteva biblioteci și dependențe. Mai întâi urmați acest ghid de la sparkfun dacă nu ați încărcat niciodată cod de la IDE arduino pe un ESP8266.

Acum descărcați biblioteca Time și biblioteca TimeAlarms. Dezarhivați-le și copiați-le în dosarul bibliotecii arduino de pe computer. La fel ca instalarea oricăror alte biblioteci arduino.

Acordați atenție setărilor de încărcare din imagine la acest pas. Selectați aceeași configurație, cu excepția portului de com. Acesta va fi orice port de comutare la care aveți microcontrolerul conectat pe computer.

Când codul este încărcat, deschideți terminalul serial la un mesaj de conexiune, sperăm, reușită! Acum puteți să vă deschideți browserul și să vizitați adresa IP statică pe care ați salvat-o pe microcontroler. Felicitări, tocmai ți-ai construit propriul server și găzduiești o pagină web pe el!

Pasul 8: Deschideți Protocolul pentru mesaje

Deschideți Protocolul de mesaje
Deschideți Protocolul de mesaje
Deschideți Protocolul de mesaje
Deschideți Protocolul de mesaje
Deschideți Protocolul de mesaje
Deschideți Protocolul de mesaje
Deschideți Protocolul de mesaje
Deschideți Protocolul de mesaje

Când controlați lampa inteligentă cu aplicația, toate mesajele vor fi gestionate automat pentru dvs. Iată o listă a mesajelor pe care lampa le acceptă, dacă doriți să vă construiți propria telecomandă. Am folosit un exemplu de adresă IP pentru a ilustra modul de utilizare a comenzilor.

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

    • Setează luminile roșii la valoarea maximă, luminile verzi la jumătate și luminile albastre la 34. Albul rece și cald sunt abia aprinse
    • Când introduceți valori, puteți alege între 0 și 1023. Scrieți întotdeauna valorile luminoase ca patru cifre în URL
  • 192.168.0.200/&&B=0800

    Setează luminile albastre la valoarea 800 în timp ce oprește simultan toate celelalte lumini

  • 192.168.0.200/LED=OFF

    Stinge toate luminile complet

  • 192.168.0.200/LED=FADE

    Începe să se estompeze încet între toate culorile RGB posibile. Perfect pentru ambianță

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

    Clipește culoarea dată de două ori pentru a indica notificarea primită. Perfect dacă doriți, să zicem, să creați un program pe computer pentru a aprinde becul roșu ori de câte ori primiți un nou e-mail

  • 192.168.0.200/DST=1

    • Reglează ceasul la ora de vară. Adaugă o oră la ceas
    • / DST = 0 utilizați acest lucru pentru a reveni de la ora de vară, elimină o oră din ceas dacă ora de vară este activă
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Salvează starea pentru temporizatorul 1. Acest temporizator va activa valorile RGB date la 06:30 dimineața

  • 192.168.0.200/TIMER1H=99

    Setați ora temporizatorului la 99 pentru a dezactiva temporizatorul. Valorile RGB sunt încă stocate, dar temporizatorul nu va aprinde luminile atunci când ora este setată la 99

  • Lampa are patru temporizatoare individuale. Schimbați „TIMER1” pentru „TIMER2”, „TIMER3” sau „TIMER4” pentru a regla unul dintre celelalte timere încorporate.

Acestea sunt comenzile încorporate în prezent. Lasă un comentariu dacă ai idei interesante pentru noi comenzi de construit fie în codul arduino, fie în aplicația de la distanță!

Pasul 9: telecomandă

Telecomandă
Telecomandă
Telecomandă
Telecomandă
Telecomandă
Telecomandă
Telecomandă
Telecomandă

Faceți clic aici pentru a descărca aplicația. Configurarea este ușoară, introduceți adresa IP a lămpii inteligente și selectați dacă doriți să controlați doar LED-urile RGB sau RGB + LED-urile calde și reci.

După cum sa explicat în pasul anterior, acum știți ce protocol de mesaje folosește aplicația. Trimite o solicitare http GET cu adresele URL. Acest lucru înseamnă că vă puteți crea propriul circuit de microcontroler și puteți utiliza în continuare această aplicație pentru a controla singur funcțiile pe care le dezvoltați.

Deoarece ne-am uitat cu adevărat în protocolul de mesaje, puteți controla și lampa inteligentă prin orice lucru capabil să trimită o cerere http GET. Aceasta înseamnă orice browser de pe un telefon sau computer, sau dispozitive inteligente pentru acasă sau asistenți precum Alexa sau Asistentul Google.

Tasker este o aplicație care vă permite practic să creați condiții pentru a controla aproape de orice. Am folosit asta pentru a clipi lampa inteligentă cu culoarea unei notificări când o primesc pe telefon. De asemenea, am configurat taskerul pentru a aprinde luminile în alb complet, când telefonul se conectează la WiFi-ul meu de acasă după ora 16:00 într-o zi săptămânală. Asta înseamnă că luminile se aprind automat când ajung acasă de la școală. E tare mișto să vii acasă cu luminile aprinse automat!

Pasul 10: Imprimare 3D

printare 3d
printare 3d

Carcasa lămpii în sine poate fi imprimată aproape complet fără suporturi. Singurele părți care necesită într-adevăr suport sunt știfturile destinate împerecherii cu PCB. Prin urmare, am pus stl-ul la dispoziție atât cu, cât și fără o structură de sprijin minusculă doar pentru acești știfturi. Avantajul utilizării acestui suport personalizat este că imprimarea este mult mai rapidă! Și primim suport pentru imprimare doar pe piesele care au într-adevăr nevoie de el.

Puteți descărca fișierele.stl aici

Pasul 11: Adunați-l pe toți

Aduceți totul împreună
Aduceți totul împreună
Aduceți totul împreună
Aduceți totul împreună
Aduceți totul împreună
Aduceți totul împreună

După imprimarea 3D începeți prin eliminarea suportului de imprimare. Cablurile de alimentare intră în canale separate și sunt legate între ele. Acest nod va crea o descărcare de tensiune, împiedicând cablurile să fie rupte de PCB. Lipiți cablurile de alimentare pe partea din spate a PCB-ului și asigurați-vă că aveți polaritatea corectă!

PCB-ul de control este apoi fixat cu o bucată de bandă pentru ao menține la culoare în interiorul carcasei. PCB-ul cu LED poate fi pus pur și simplu în locul său, unde se așază singur pe carcasă.

Pasul 12: Atârnarea lămpii

Atârnând lampa
Atârnând lampa
Atârnând lampa
Atârnând lampa
Atârnând lampa
Atârnând lampa

Există o mulțime de opțiuni pentru a agăța această lampă de perete. Deoarece aș putea actualiza continuu codul pentru a îmbunătăți lampa, am dorit o modalitate de a scoate lampa din când în când. Puteți folosi adeziv fierbinte, dar vă recomand o bandă dublă. Cel mai bine este să folosiți banda dublă groasă și spumoasă, deoarece ține lampa cel mai bine pe un perete texturat.

Pasul 13: Finalizat

Terminat
Terminat
Terminat
Terminat
Terminat
Terminat

Cu lampa sus pe perete și gata să accepte comenzi, asta înseamnă că ai terminat!

Panoul LED este înclinat într-un mod care dispersează uniform lumina în cameră. Este un plus frumos la orice spațiu de lucru, iar capacitatea de integrare cu automatizarea casei este un mare plus. Îmi place foarte mult capacitatea de a seta culori RGB, precum și de a regla echilibrele de alb între lumina rece și cea caldă. Arată elegant și este de mare ajutor pentru setarea luminilor ambientale sau de lucru, pentru a se potrivi oricăror nevoi de iluminat pe care le am în acest moment.

Felicitări, ați făcut acum un mare salt în lumea IoT și a automatizării caselor!