Innholdsfortegnelse:

ESP8266-01 IoT Smart Timer for Home Automation: 9 trinn (med bilder)
ESP8266-01 IoT Smart Timer for Home Automation: 9 trinn (med bilder)

Video: ESP8266-01 IoT Smart Timer for Home Automation: 9 trinn (med bilder)

Video: ESP8266-01 IoT Smart Timer for Home Automation: 9 trinn (med bilder)
Video: Урок 101. Использование ИК-пульта дистанционного управления для управления телевизором, лампочкой переменного тока с реле, двигателем постоянного тока и серводвигателем. 2024, Juli
Anonim
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation

OPPDATERINGER

30.09.2018: Fastvare oppdatert til vers 1.09. Nå med Sonoff Basic Support

2018-10-01: Fastvareversjon 1.10-prøveversjon tilgjengelig for testing på ESP8266-01 med problemer

Siden de nye modeordene var Internet Of Things (IoT) og Home Automation, bestemte jeg meg for å se på de nåværende elementene i og rundt hjemmet mitt som styres via en slags enhet. Elementene som skilte seg ut, er følgende:

  • Svømmebassengspumpe
  • Svømmebasseng vannfyller
  • Svømmebasseng og omgivende lys
  • Skaplys for TV/underholdningssystem

Det vanlige elementet som brukes til å kontrollere disse enhetene, er standard veggkontakter. Hver enhet er utstyrt med sin egen tidtaker, og er alle plassert på forskjellige steder. Så hvorfor valgte jeg disse elementene til å begynne med tingenes internett eller hjemmeautomatiseringsprosjekter, kan du spørre?

Vel, det å bo i Sør -Afrika betyr at strømbrudd er en vanlig forekomst. Med statistikk over hjemmet mitt hadde jeg 35 strømbrudd det siste året, totalt 40 timer. Dette er normalt ikke et problem, ettersom alle de nåværende installerte tidtakerne er utstyrt med et reservebatteri som holder tid ved strømbrudd. Men det er noen problemer:

  • Disse reservebatteriene varer bare et år eller to, da må timeren byttes ut. Tidtakerne er konstruert slik at timeren må ødelegges for å få tilgang til det interne Ni-Cad-batteriet.
  • Hver gang strømmen svikter, må tidtakerne med defekte batterier omprogrammeres og tiden settes inn.
  • Timerens fysiske plassering, når den er koblet til stikkontakten, gjør det nesten umulig å lese LCD -skjermene som viser timeren fra toppen. Dette betyr at timeren må kobles fra, eller jeg må legge meg på gulvet for å stille eller justere tidtakerne etter et strømbrudd.

På grunn av ovennevnte årsaker bestemte jeg meg for å teste muligheten for å erstatte tidtakerne med en IoT Smart Timer, koblet til mitt lokale hjemmenettverk.

Tanken var å designe en frittstående timer, som kan:

  • Juster nåværende tid automatisk ved hjelp av internett (IoT)
  • Opereres uten brukerhandlinger (smart)
  • Slå en utgang på/av i henhold til angitte tider (timer)
  • Programmerbar og kontrollerbar via nettverk (hjemmeautomatisering)

Trinn 1: ESP8266-01-designet

Designet ESP8266-01
Designet ESP8266-01
Designet ESP8266-01
Designet ESP8266-01

Designet ble gjort ved hjelp av en ESP8266-01 WiFi-modul, siden dette var det jeg hadde tilgjengelig. I sin enkleste form har ESP8266-01 fire I/O-pinner:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Oppstartsmoduser

Logikk-tilstanden til I/O-pinnene brukes til å bestemme i hvilken modus ESP8266-01 vil starte opp. Det første trinnet var å bestemme hvilken av I/O -pinnene som kan brukes til å drive et utgangsrelé.

  • For normal oppstart må GPIO0 og GPIO2 settes til logikk HØY. Dermed er det klart at disse to pinnene ikke kan brukes som en digital utgang.
  • Tx -pinnen er satt som en utgang ved oppstart, og utgangen er høy. Denne Tx -pinnen overfører også noen serielle data under oppstart. Dermed kan denne pinnen heller ikke brukes som utgang.

Den eneste gjenværende pinnen er Rx -pinnen. Denne pinnen er angitt som en inngang ved oppstart, og trenger ikke trekkes høyt under oppstart. Denne pinnen er dermed den mest passende for å brukes som en utgangspinne.

Starte opp

For å sikre riktig oppstartsmodus for ESP8266-01 under oppstart, trekkes følgende pinner høyt med 10K motstander:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Dette sikrer at enheten starter opp riktig hver gang.

Utgangsrelé

RX er den eneste pinnen som er egnet til bruk som utgang. Denne pinnen brukes dermed til å drive utgangsreléet via en NPN -transistor. Standard svinghjulsdiode og transistorbaserte motstander ble lagt til.

MODE/SET -knapp

Knappen er koblet til GPIO2, og når knappen slippes, vil en 10K motstand trekke GPIO2 høyt. Mens knappen trykkes inn, trekkes GPIO2 til 0V.

Denne knappen brukes til to funksjoner:

  • Opprinnelig konfigurert for å koble enheten til et lokalt WiFi -nettverk
  • For å kontrollere utgangen manuelt under normale operasjoner

Indikasjon LED

Lysdioden er koblet til GPIO0, og indikerer følgende:

  • Ved første oppstart blinker FAST for å indikere WiFi -oppsettsmodus
  • Blinker sakte når enheten ikke er angitt
  • indikerer utgangsreléets på/av -status

Trinn 2: Strømforsyningen

Strømforsyningen
Strømforsyningen
Strømforsyningen
Strømforsyningen
Strømforsyningen
Strømforsyningen

Jeg kommer til å bruke IoT Smart Timer på forskjellige spenningsnivåer, derfor er det to alternativer for strømforsyning tilgjengelig:

12 - 24V DC

DC-DC-omformeren som brukes er egnet for forsyninger opptil 28V DC. Utgangen til omformeren er justerbar og er satt til 5V. Dette må gjøres før ESP8266 -modulen kobles til.

En diode ble lagt til for å beskytte mot omvendt polaritet på forsyningsinngangen.

220V AC For dette alternativet var jeg i stand til å skaffe en liten 220V/5V brytermodus strømforsyning på eBay.

Uavhengig av inngangsspenningen trenger IoT Smart Timer to strømforsyninger:

5V skinne

Med begge alternativene er 5V DC hentet fra en strømforsyning i koblet modus, og ikke en lineær regulator. Dette betyr at det er minimal varme generert av strømforsyningen. 5V brukes til å drive utgangsreléet

3.3V skinne

3.3V for ESP8266-01 er hentet fra en ASM1117 3.3 regulator. ASM1117 3.3 er en lineær regulator, og kan håndtere opptil 500mA. Varmen som genereres vil imidlertid bli bestemt av inngangsspenningen til ASM1117. For å redusere varmen, drives ASM1117 fra 5V -skinnen.

Støyfiltrering

For å redusere spenningsrippel til ESP8266-01, er 3.3V -skinnen utstyrt med en 100 - 1000uf kondensator. Både 5V og 3.3V skinner er også beskyttet mot høyfrekvent interferens med 0.1uf kondensatorer.

Trinn 3: Montering av PC -kortet

Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet

PC -kortet ble designet med freeware -versjonen av Eagle. Det er et ensidig brett, som enkelt kan lages hjemme ved hjelp av toneroverføringsmetoden.

Når PC -kortet er laget, monterer du PC -kortet i følgende rekkefølge:

  • Lodd ASM1117 -regulatoren og tre 0.1uf SMD -komponenter til loddesiden av brettet
  • Legg til enkelt jumper på komponentsiden av brettet
  • Lodd motstandene og dioder på plass
  • Legg til topptekstene for ESP8266-01-modulen
  • Legg til toppnålene for LED og knapp
  • Legg til skrueterminalene
  • Koble DC/DC -omformeren til kortet ved hjelp av toppnål.
  • Lodd stafetten på plass
  • Fullfør brettet ved å lodde transistoren og 100uf kondensatoren.

Når alle komponentene er loddet til brettet, må du kontrollere alle loddepunktene og ikke sikre kortslutninger mellom putene.

! ! ! VIKTIG NOTAT ! ! ! For å sikre at PC -kortet kan håndtere store strømmer på utgangskontaktene, må du bruke en anstendig mengde loddetinn på sporene mellom relékontaktene og skrueterminalene

Trinn 4: Testing av PC -kortet

Testing av PC -kortet
Testing av PC -kortet

! ! ! Før du bruker strøm! ! !

Fjern ESP8266-01-modulen fra enheten. Dette er for å forhindre overoppheting av ASM1117 -regulatoren før 5V -forsyningen justeres.

Det er ikke mange tester som kan utføres etter montering. Det viktigste trinnet er å sikre riktige spenningsnivåer.

  • Påfør 12 - 24V DC på enheten.
  • Mål utgangsspenningen til DC/DC -omformeren
  • Juster utgangen til omformeren til mellom 5,0 og 5,5V.
  • Mål deretter 3,3V -forsyningen.
  • Hvis rekvisita er i orden, må du fjerne strømmen fra enheten

Du kan nå sette inn ESP8266-01-modulen i medfølgende overskrifter.

! ! ! Merk !

Når du har testet IoT -timeren og den fungerer, bruker du klar lakk for å dekke loddesiden av PC -kortet. Dette vil forhindre oksidasjon av sporene, og gi ekstra isolasjon mellom relékontaktene og resten av kretsen

Trinn 5: Vedlegget

Vedlegget
Vedlegget
Vedlegget
Vedlegget
Vedlegget
Vedlegget

Kapslingen er ikke så viktig, så lenge PC -kortet og alle ledninger passer pent og trygt inn i det.

For å gjøre konstruksjonen enklere har jeg laget en kabel med LED og MODE/SETUP -knappen koblet til den. Dette ga meg mer fleksibilitet i montering av LED og knapp på kabinettet. Denne kabelen kobles deretter til toppteksten på PC -kortet.

Bildene viser en av 12V -enhetene som brukes til LED -lys.

Trinn 6: Programmering av ESP8266-01/NodeMCU

Programmering av ESP8266-01/NodeMCU
Programmering av ESP8266-01/NodeMCU
Programmering av ESP8266-01/NodeMCU
Programmering av ESP8266-01/NodeMCU
Programmering av ESP8266-01/NodeMCU
Programmering av ESP8266-01/NodeMCU

For å programmere ESP8266-01 må du først sette opp Arduino IDE. Jeg skal ikke gå inn på disse detaljene, siden det er mange flotte instrukser tilgjengelig om dette emnet. Jeg har valgt følgende lenker på Instructables som referanse, uten noen spesiell rekkefølge til forfatterne. Takk for deres individuelle instrukser.

Følg denne ESP8266 og Arduino IDE for å sette opp Arduino IDE for ESP8266 -modulen.

Deretter trenger du en programmerer for å programmere ESP8266. Her er to lenker:

Bruker Arduino Uno

DIY programmeringstavle

Biblioteker

Du må installere flere biblioteker for å kunne kompilere koden. Igjen, se denne instruksjonsboken:

Installer og bruk Arduino Libraries

Jeg kan ikke huske hvilke biblioteker jeg måtte installere, men jeg vet at WiFiManager må lastes ned separat.. Jeg har inkludert disse i Libraries.zip -filen.

Trinn 7: Første gangs oppsett

Første gangs oppsett
Første gangs oppsett
Første gangs oppsett
Første gangs oppsett
Første gangs oppsett
Første gangs oppsett

Når den brukes for første gang, må IoT Smart Timer kobles til et WiFi -nettverk. Denne oppgaven utføres ved hjelp av WiFiManager -biblioteket, så ingen SSID eller passord trenger å skrives inn i koden.

Følg disse få trinnene:

  • Slå på enheten
  • LED -lampen begynner å blinke raskt
  • Trykk på MODE/SETUP -knappen
  • Slipp knappen når LED -lampen slås av
  • Vent noen sekunder, og åpne deretter smarttelefonen eller enhetens WiFi -tilkoblinger
  • Et nytt WiFi -nettord kalt IoT Timer vil være synlig
  • Velg dette tilgangspunktet
  • Logg deg på IoT -timeren (ingen passord kreves)
  • Vent til enheten er koblet til IoT Timer -nettverket
  • Åpne hvilken som helst nettleser
  • Skriv inn følgende IP -adresse i adressefeltet - 192.168.4.1
  • WiFiManager -konsollen åpnes
  • Velg Konfigurer WiFi
  • En liste med tilgjengelige WiFi -nettverkspunkter vil bli vist
  • Velg det nødvendige WiFi -nettverket, og skriv inn passordet
  • Deretter skriver du inn IP -adressen du vil bruke til å koble til IoT -timeren
  • Skriv inn IP -adressen til standard gateway, etterfulgt av masken
  • Når alle innstillingene er gjort, klikker du på Lagre -knappen
  • Et nytt vindu åpnes for å bekrefte at de nye legitimasjonene ble lagret
  • Lukk nettleseren din

Når den er lagret, stenges IoT Timer -nettverket, og enheten prøver å koble seg til WiFi -nettverket ditt.

  • Koble smarttelefonen eller enheten til det samme WiFi -nettverket som ble brukt for IoT -timeren.
  • Åpne nettleseren din
  • Skriv inn IP -adressen til IoT Timer i adressefeltet
  • Konfigurasjonssiden til IoT Timer åpnes

IoT -timeren er nå klar til bruk

Trinn 8: Oppsett av IoT Timer

Oppsett av IoT Timer
Oppsett av IoT Timer
Oppsett av IoT Timer
Oppsett av IoT Timer
Oppsett av IoT Timer
Oppsett av IoT Timer
Oppsett av IoT Timer
Oppsett av IoT Timer

Den innebygde websiden til IoT Timer består av fem seksjoner:

Status

Dette viser enhetsnavnet, samt gjeldende tid og utgangsstatus for timeren

I tillegg er driftsmodusen til timeren angitt i denne delen. Det er tre moduser:

  • Auto - Output vil bli styrt av de forskjellige timerprogrammene
  • På - Utgangen er tvunget PÅ, og vil forbli på til modusen endres
  • Av - Utgangen er tvunget AV, og vil forbli av til modusen endres.

Programmer

Denne delen inneholder timer for På og AV. Det er syv programmer tilgjengelig, og hvert program kan settes individuelt.

Før du endrer det neste programmet, trykker du på LAGRE -knappen for å lagre eventuelle endringer som er gjort i det gjeldende programmet.

Knappfunksjon

MODE/SETUP -knappen kan brukes til å kontrollere utgangsreléet under normal drift. Her velger du hva knappen må gjøre når du trykker på den.

Merk av i "Oppdater knappfunksjonen" -boksen før du trykker på Lagre -knappen for å lagre de nye innstillingene.

Konfigurasjon

Her kan du endre navnet på IoT -timeren. Dette gjør det enkelt å identifisere mellom flere tidtakere.

Tid på enheten hentes fra internett via en NTP -tidsserver. For å vise riktig tid, vennligst oppdater tidssonen til din region.

Hvis du vil bruke en annen NTP -tidsserver, skriver du inn den nye IP -adressen i den angitte plassen.

Merk av i "Oppdater konfigurasjon" -boksen før du trykker på Lagre -knappen for å lagre de nye innstillingene.

MERK

Når du endrer tidssonen, vil den nye klokkeslettet bare settes riktig i løpet av neste tidsforespørsel. Enheten er satt til å oppdatere tiden hvert 5. minutt.

Tidsjustering

Noen ganger skjer det at NTP -tidsserveren ikke svarer på hver gang forespørsel. Skulle det ta for lang tid før tiden ble angitt via NTP -serveren, kan du angi tid og dato manuelt.

Merk av i "Oppdater tid" -boksen før du trykker på Lagre -knappen for å lagre den nye tiden og datoen.

Tidssynkronisering

Den siste delen av siden angir klokkeslett og dato da sist klokkeslett ble synkronisert via NTP -tidsserveren.

Anbefalt: