Innholdsfortegnelse:

DIY IoT -lampe for hjemmeautomatisering -- ESP8266 Opplæring: 13 trinn (med bilder)
DIY IoT -lampe for hjemmeautomatisering -- ESP8266 Opplæring: 13 trinn (med bilder)

Video: DIY IoT -lampe for hjemmeautomatisering -- ESP8266 Opplæring: 13 trinn (med bilder)

Video: DIY IoT -lampe for hjemmeautomatisering -- ESP8266 Opplæring: 13 trinn (med bilder)
Video: 10 Best IoT projects of the year 2022! 2024, Juli
Anonim
Image
Image
DIY IoT -lampe for hjemmeautomatisering || ESP8266 Opplæring
DIY IoT -lampe for hjemmeautomatisering || ESP8266 Opplæring

I denne opplæringen skal vi lage en internett -tilkoblet smart lampe. Dette vil gå dypt inn i tingenes internett og åpne en verden av hjemmeautomatisering!

Lampen er WiFi -tilkoblet og bygget for å ha en åpen meldingsprotokoll. Dette betyr at du kan velge hvilken kontrollmodus du vil! Den kan styres via en nettleser, hjemmeautomatiseringsapper, smarte assistenter som Alexa eller Google Assistant, og så mye mer!

Som en bonus følger denne lampen med en app for å kontrollere prosjektet. Her kan du velge forskjellige fargemoduser, falme mellom RGB -farger og angi tidtakere.

Lampen består av et LED -kort og et kontrollkort. LED -kortet bruker tre forskjellige typer LED for totalt fem LED -kanaler! Dette er RGB sammen med både varm og kald hvit. Fordi alle disse kanalene kan settes individuelt, har du totalt 112,3 peta -kombinasjoner!

La oss komme i gang!

[Spill av video]

Trinn 1: Deler og verktøy

Deler og verktøy
Deler og verktøy

Deler

  • Wemos D1 Mini
  • 15 x varmhvite 5050 lysdioder
  • 15 x kaldhvite 5050 lysdioder
  • 18 x RGB 5050 lysdioder
  • 6 x 300 ohm 1206 motstander
  • 42 x 150 ohm 1206 motstander
  • 5 x 1k ohm motstander
  • 5 x NTR4501NT1G

    MOSFETs

  • Lineær spenningsregulator, 5V
  • PCB

    Last ned gerber -filene i kretssteget for å lage dine egne PCB -er

  • PSU 12V 2A

Verktøy

  • Loddejern

    • Loddetinn
    • Flytende loddefluks
  • Maskeringstape
  • Dobbeltsidig tape
  • 3D -skriver
  • Wire strippere

Trinn 2: Planen

Planen
Planen

Hele prosjektet består av fire hoveddeler:

  1. Krets

    Kretsen er laget på en PCB. Den ferdige kretsen vil bestå av mer enn 100 individuelle komponenter. Det er en stor lettelse å ikke koble alle disse for hånd på et perfboard

  2. Arduino -koden

    Jeg bruker Wemos D1 Mini som bruker en ESP8266 som en WiFi -tilkoblet mikrokontroller. Koden starter en server på D1. Når du besøker adressen til denne serveren, vil D1 tolke dette som forskjellige kommandoer. Mikrokontrolleren virker deretter på denne kommandoen for å stille lysene deretter

  3. Fjernkontroll

    • Jeg lagde en app bare for dette prosjektet for å gjøre det så enkelt som mulig å kontrollere lampen etter din smak
    • Den smarte lampen kan virkelig styres av alt som kan sende en http GET -forespørsel. Dette betyr at lampen godtar kommandoer fra nesten et ubegrenset utvalg av enheter
  4. 3D -utskrift

    Denne smarte lampen fortjener et kult utseende. Og som så mange prosjekter der du trenger et kult tilfelle, kommer 3D -utskrift til unnsetning

Trinn 3: Krets

Krets
Krets
Krets
Krets
Krets
Krets

Jeg bestilte PCB fra jlcpcb.com. Full avsløringstid: de sponset også dette prosjektet.

PCB består av to deler. Den har LED -kortet og kontrollkortet. Kretskortet kan kobles fra hverandre for senere å koble disse to delene med fleksibel ledning. Dette er nødvendig for både å holde den 3D -trykte lampen slank, og for å vinkle LED -kortet for å spre lyset jevnt gjennom hullrommet.

Kontrollpanelet huser D1 -mikrokontrolleren sammen med fem MOSFET -er for å dimme lysdiodene, og en spenningsregulator for å gi mikrokontrolleren en jevn 5V.

LED -kortet har fem LED -kanaler i tre forskjellige typer lysdioder. Fordi vi bruker en 12V strømkilde, er lysdiodene konfigurert som tre lysdioder i serie med en motstand og deretter gjentatt 16 ganger parallelt.

En vanlig hvit LED trekker vanligvis 3,3 V. På et segment av brettet er tre av disse lysdiodene i serie, noe som betyr at spenningsfallet aggregeres i kretsen. Tre lysdioder som trekker 3,3 V hver betyr at et segment av lysdioder trekker 9,9 V. Kretsen drives av 12 V slik at den etterlater 2,1 V.

Hvis segmentet bare besto av de tre lysdiodene, ville de få mer spenning enn de forsvinner. Dette er ikke bra for lysdiodene og kan raskt skade dem. Derfor har hvert segment også en motstand i serie med alle tre lysdiodene. Denne motstanden er der for å slippe de resterende 2,1 V i seriekrysset.

Så hvis hvert segment står for 12 V, betyr det at hvert av segmentene er parallelt koblet til hverandre. Når kretsene er koblet parallelt, får de alle samme spenning og strømmen aggregeres. Strømmen i en serieforbindelse er alltid den samme.

En vanlig LED trekker 20 mA i strøm. Dette betyr et segment, som er tre lysdioder og en motstand i serie fortsatt vil trekke 20 mA. Når vi kobler flere segmenter parallelt, legger vi til strømmen. Hvis du kutter seks lysdioder fra stripen, har du to av disse segmentene parallelt. Det betyr at din totale krets fortsatt trekker 12 V, men de trekker 40 mA i strøm.

Trinn 4: Lodding av lysdioder

Lodding LED
Lodding LED
Lodding LED
Lodding LED
Lodding LED
Lodding LED

Fra å prøve noen få ting har jeg funnet ut at enkelt maskeringstape er det mest effektive og fleksible for å hindre at PCB -en beveger seg.

For deler med flere pinner, som 6-pinners på en 5050 LED, begynner jeg med å legge ned loddetinn på en av PCB-putene. Da er det bare å holde denne loddetinn smeltet med loddejernet mens du skyver komponenten på plass med en pinsett.

Nå kan de andre putene enkelt festes med litt loddetinn. For å fremskynde dette arbeidet foreslår jeg imidlertid å plukke opp litt flytende loddefluks. Jeg kan virkelig ikke anbefale disse tingene nok.

Påfør noe av fluksen på loddeputene, og smelt deretter litt loddetinn på tuppen av loddejernet. Nå er det bare å bringe det smeltede loddetinnet på putene og alt flyter på plass. Fint og enkelt.

Når det gjelder motstander og andre to-pads-komponenter, er det ikke nødvendig med loddefluks. Påfør loddetinn på en av putene og sett motstanden på plass. Bare smelt litt loddetinn på puten nummer to. Lett peasy.

Ta en titt på det femte bildet i dette trinnet. Vær oppmerksom på orienteringen til lysdiodene. De varme og kalde hvite lysdiodene har sitt hakk orientert i øvre høyre hjørne. RGB -lysdiodene har sitt hakk i nedre venstre hjørne. Dette er en designfeil fra min side, fordi jeg ikke fant databladet for RGB -lysdiodene som ble brukt i dette prosjektet. Vel, lev og lær og alt det der!

Trinn 5: Loddekontrollkort

Loddekontrolltavle
Loddekontrolltavle
Loddekontrolltavle
Loddekontrolltavle
Loddekontrolltavle
Loddekontrolltavle
Loddekontrolltavle
Loddekontrolltavle

Etter å ha fullført maraton på LED -brettet, er kontrollkortet lett å lodde. Jeg plasserte de fem MOSFET-ene og matchende gate-kilde-motstander før jeg gikk over på spenningsregulatoren.

Spenningsregulatoren har valgfrie mellomrom for utjevning av kondensatorer. Mens jeg loddet dem i dette bildet endte jeg med å fjerne dem fordi de egentlig ikke var nødvendige.

Trikset for å få et slank kontrollkort er å sette pinnehodene som stikker ut toppen gjennom bunnen. Etter at pinnene er på plass, kan den ubrukte lengden klippes fra baksiden sammen med den svarte plasten. Dette gjør undersiden helt glatt.

Med alle komponentene på plass er det på tide å bringe de to brettene sammen. Jeg har nettopp klippet og fjernet seks små ledninger på 7,5 cm og koblet til de to kretskortene.

Trinn 6: WiFi -oppsett

WiFi -oppsett
WiFi -oppsett
WiFi -oppsett
WiFi -oppsett

Det er seks enkle linjer i koden du må endre.

  1. ssid, linje 3

    Ruternavnet ditt. Sørg for at bokstaven er korrekt når du skriver dette

  2. wifiPass, linje 4

    Ruterpassordet ditt. Igjen, vær oppmerksom på foringsrøret

  3. ip, linje 8

    Den statiske ip -adressen til smartlampen din. Jeg valgte en tilfeldig ip -adresse på nettverket mitt og prøvde å pinge den i kommandovinduet. Hvis det ikke er noe svar fra adressen, kan du anta at den er tilgjengelig

  4. gateway, linje 9

    Dette vil være gatewayen på ruteren din. Åpne et kommandovindu og skriv "ipconfig". Gatewayen og delnettet er sirklet med rødt på bildet

  5. delnett, linje 10

    Som med gatewayen, er denne informasjonen sirklet inn i bildet for dette trinnet

  6. timeZone, linje 15

    Tidssonen du er i. Endre dette hvis du vil bruke de innebygde tidtakerfunksjonene til å slå på og av lys på bestemte tidspunkter. Variabelen er et enkelt pluss eller minus GMT

Trinn 7: Mikrokontrollerkode

Mikrokontrollerkode
Mikrokontrollerkode
Mikrokontrollerkode
Mikrokontrollerkode
Mikrokontrollerkode
Mikrokontrollerkode
Mikrokontrollerkode
Mikrokontrollerkode

Etter å ha endret alle relevante innstillinger i forrige trinn, er det endelig på tide å laste opp koden til Wemos D1 Mini!

Arduino -koden krever noen få biblioteker og avhengigheter. Følg først denne guiden fra sparkfun hvis du aldri har lastet opp kode fra arduino IDE til en ESP8266.

Last ned nå Time -biblioteket og TimeAlarms -biblioteket. Pakk ut disse og kopier dem til arduino bibliotekmappen på datamaskinen. Akkurat som å installere andre arduino -biblioteker.

Vær oppmerksom på opplastingsinnstillingene på bildet på dette trinnet. Velg samme konfigurasjon, bortsett fra com -porten. Dette vil være hvilken som helst port du har mikrokontrolleren koblet til på datamaskinen.

Når koden er lastet opp, åpner du den serielle terminalen for en melding om en, forhåpentligvis, vellykket tilkobling! Du kan nå åpne nettleseren din og besøke den statiske ip -adressen du lagret på mikrokontrolleren. Gratulerer, du har nettopp bygget din egen server og er vert for en webside på den!

Trinn 8: Åpne Message Protocol

Åpne meldingsprotokoll
Åpne meldingsprotokoll
Åpne meldingsprotokoll
Åpne meldingsprotokoll
Åpne meldingsprotokoll
Åpne meldingsprotokoll
Åpne meldingsprotokoll
Åpne meldingsprotokoll

Når du styrer smartlampen med appen, blir alle meldingene behandlet for deg automatisk. Her er en liste over meldingene lampen godtar, hvis du vil bygge din egen fjernkontroll. Jeg har brukt et eksempel ip -adresse for å illustrere hvordan du bruker kommandoene.

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

    • Angir rødt lys til maks verdi, grønt lys til halv verdi og blått lys til 34. Kaldt og varmt hvitt er knapt på
    • Når du angir verdier, kan du velge mellom 0 og 1023. Skriv alltid lysverdiene som fire sifre i URL -en
  • 192.168.0.200/&&B=0800

    Stiller inn blå lys til verdien 800 samtidig som alle andre lys slås av

  • 192.168.0.200/LED=OFF

    Slår alle lysene helt av

  • 192.168.0.200/LED=FADE

    Begynner sakte å falme mellom alle mulige RGB -farger. Perfekt for stemningen

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

    Blinker den gitte fargen to ganger for å indikere innkommende varsel. Perfekt hvis du vil si et program på datamaskinen din for å blinke rødt når du mottar en ny e -post

  • 192.168.0.200/DST=1

    • Justerer klokken til sommertid. Legger til en time på klokken
    • /DST = 0 bruk dette for å gå tilbake fra DST, fjerner en time fra klokken hvis DST er aktiv
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Lagrer tilstanden for tidtaker 1. Denne timeren slår på de gitte RGB -verdiene kl. 06:30 om morgenen

  • 192.168.0.200/TIMER1H=99

    Still timeren til 99 for å deaktivere timeren. RGB -verdiene er fortsatt lagret, men timeren vil ikke slå på lysene når timen er satt til 99

  • Lampen har fire individuelle tidtakere. Endre "TIMER1" for "TIMER2", "TIMER3" eller "TIMER4" for å justere en av de andre innebygde tidtakerne.

Dette er de innebygde kommandoene. Legg igjen en kommentar hvis du har noen kule ideer for nye kommandoer å bygge enten i arduino -koden eller den eksterne appen!

Trinn 9: Fjernkontroll

Fjernkontroll
Fjernkontroll
Fjernkontroll
Fjernkontroll
Fjernkontroll
Fjernkontroll
Fjernkontroll
Fjernkontroll

Klikk her for å laste ned appen. Oppsettet er gjort veldig enkelt, bare skriv inn ip -adressen til smartlampen din og velg om du vil kontrollere bare RGB -lysdioder eller RGB + varme og kalde hvite lysdioder.

Som forklart i forrige trinn, vet du nå hvilken meldingsprotokoll appen bruker. Den sender en http GET -forespørsel med nettadressene. Dette betyr at du også kan lage din egen mikrokontrollerkrets, og fortsatt bruke denne appen til å kontrollere funksjonene du utvikler på egen hånd.

Fordi vi virkelig har sett grundig inn i meldingsprotokollen, kan du også kontrollere smartlampen med alt som kan sende en http GET -forespørsel. Dette betyr hvilken som helst nettleser på en telefon eller datamaskin, eller smarthjem -enheter eller assistenter som Alexa eller Google Assistant.

Tasker er en app som i utgangspunktet lar deg skape forhold for å kontrollere nær alt. Jeg brukte det til å blinke smartlampen med fargen på et varsel når jeg mottar den på telefonen min. Jeg satte også opp tasker for å slå på lysene i full hvitt, når telefonen kobles til hjemmet mitt etter 16:00 på en ukedag. Det betyr at lysene tennes automatisk når jeg kommer hjem fra skolen. Det er veldig kult å komme hjem med lys automatisk!

Trinn 10: 3D -utskrift

3D -utskrift
3D -utskrift

Selve lampekassen kan skrives ut nesten helt uten støtter. De eneste delene som virkelig trenger støtte er pinnene som er beregnet for parring med PCB. Derfor gjorde jeg stl tilgjengelig både med og uten en liten støttestruktur for nettopp disse pinnene. Fordelen med å bruke denne tilpassede støtten er at utskriften er mye raskere! Og vi får bare utskriftsstøtte på delene som virkelig trenger det.

Du kan laste ned.stl -filene her

Trinn 11: Ta alt sammen

Ta alt sammen
Ta alt sammen
Ta alt sammen
Ta alt sammen
Ta alt sammen
Ta alt sammen

Etter 3D -utskrift starter du med å fjerne utskriftsstøtten. Strømkablene går i separate kanaler og er bundet sammen. Denne knuten vil skape strekkavlastning som forhindrer at kablene dras av kretskortet. Lodd strømkablene på baksiden av kretskortet, og sørg for at du får riktig polaritet!

Kontrollkretskortet festes deretter med et stykke tape for å holde det tett inne i saken. LED -kretskortet kan enkelt settes på plass der det ligger flatt mot saken alene.

Trinn 12: Heng lampen

Heng lampen
Heng lampen
Heng lampen
Heng lampen
Heng lampen
Heng lampen

Det er mange alternativer for å henge denne lampen på veggen. Fordi jeg kontinuerlig kan oppdatere koden for å forbedre lampen, ønsket jeg en måte å ta ned lampen fra tid til annen. Du kan bruke varmt lim, men jeg anbefaler litt dobbeltsidig tape. Det er best å bruke den tykke og skummende dobbeltsidige tapen da den holder lampen best mot en teksturert vegg.

Trinn 13: Ferdig

Ferdig
Ferdig
Ferdig
Ferdig
Ferdig
Ferdig

Med lampen oppe på veggen og klar til å godta kommandoer, betyr det at du er ferdig!

LED -panelet er vinklet på en måte som sprer lyset jevnt i rommet. Det er et fint tillegg til arbeidsområdet, og muligheten for integrering med hjemmeautomatisering er et stort pluss. Jeg liker virkelig muligheten til å sette RGB -farger, samt justere hvitbalansen mellom kaldt og varmt lys. Det ser stilig ut og er til stor hjelp for å sette omgivelses- eller arbeidslys, for å passe til lysbehovet jeg har for øyeblikket.

Gratulerer, du har nå tatt et stort sprang inn i verden av IoT og hjemmeautomatisering!