Innholdsfortegnelse:
- Trinn 1: ESP8266-01-designet
- Trinn 2: Strømforsyningen
- Trinn 3: Montering av PC -kortet
- Trinn 4: Testing av PC -kortet
- Trinn 5: Vedlegget
- Trinn 6: Programmering av ESP8266-01/NodeMCU
- Trinn 7: Første gangs oppsett
- Trinn 8: Oppsett av IoT Timer
Video: ESP8266-01 IoT Smart Timer for Home Automation: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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 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
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
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
! ! ! 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
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
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
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
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:
DIY Home Automation Intruder Alarm System !: 5 trinn (med bilder)
DIY Home Automation Intruder Alarm System !: I dette prosjektet skal jeg vise deg hvordan du bruker Home Assistant -programvaren for å lage et inntrengeralarmsystem for hjemmet ditt. Systemet vil i utgangspunktet oppdage om døren åpnes uten tillatelse, og deretter vil den sende ut en melding
Infinity Gauntlet Controlled Home Automation: 8 trinn (med bilder)
Infinity Gauntlet Controlled Home Automation: I mitt forrige prosjekt har jeg laget en infinity -hansker som styrer en lysbryter. Jeg ønsket å bruke seks steiner, og hver stein kan styre apparater, dørlåser eller belysning. Så jeg laget et hjemmeautomatiseringssystem ved hjelp av infinity -hansker. I dette prosjektet
Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul - Home Automation Ideas: 15 trinn (med bilder)
Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul | Idéer for hjemmeautomatisering: I dette hjemmeautomatiseringsprosjektet vil vi designe en smart hjemmestafemodul som kan styre fem husholdningsapparater. Denne relemodulen kan styres fra mobil eller smarttelefon, IR -fjernkontroll eller TV -fjernkontroll, manuell bryter. Dette smarte stafetten kan også kjenne r
Wifi Smart Switch ESP8266 Fungerer med Alexa og Google Home Automation: 7 trinn
Wifi Smart Switch ESP8266 Fungerer med Alexa og Google Home Automation: I globaliseringens verden ønsker alle den nyeste og smarte teknologien. WiFi Smart Switch, som gjør livet ditt mer intelligent og praktisk
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 trinn
Sonoff B1 Firmware Home Automation Openhab Google Home: Jeg liker Tasmota -fastvaren for Sonoff -switchene mine. Men a var egentlig ikke fornøyd med Tasmota-fastvaren på min Sonoff-B1. Jeg lyktes ikke fullt ut med å integrere det i Openhab og kontrollere det via Google Home. Derfor skrev jeg mitt eget firma