Indholdsfortegnelse:

ESP8266-01 IoT Smart Timer til hjemmeautomatisering: 9 trin (med billeder)
ESP8266-01 IoT Smart Timer til hjemmeautomatisering: 9 trin (med billeder)

Video: ESP8266-01 IoT Smart Timer til hjemmeautomatisering: 9 trin (med billeder)

Video: ESP8266-01 IoT Smart Timer til hjemmeautomatisering: 9 trin (med billeder)
Video: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, December
Anonim
ESP8266-01 IoT Smart Timer til hjemmeautomatisering
ESP8266-01 IoT Smart Timer til hjemmeautomatisering
ESP8266-01 IoT Smart Timer til hjemmeautomatisering
ESP8266-01 IoT Smart Timer til hjemmeautomatisering
ESP8266-01 IoT Smart Timer til hjemmeautomatisering
ESP8266-01 IoT Smart Timer til hjemmeautomatisering

OPDATERINGER

2018-09-30: Firmware opdateret til Ver 1.09. Nu med Sonoff Basic Support

2018-10-01: Firmwareversion 1.10-prøveversion tilgængelig til test på ESP8266-01 med problemer

Da de nye modeord var Internet Of Things (IoT) og Home Automation, besluttede jeg at se på de aktuelle ting i og omkring mit hjem, der styres via en slags enhed. De ting, der skilte sig ud, er følgende:

  • Swimmingpool pumpe
  • Swimmingpool vandfyldstof
  • Swimmingpool og omgivende lys
  • TV/underholdningssystem kabinelys

Den almindelige genstand, der bruges til at styre disse enheder, er standard vægstikkontakter. Hver enhed er udstyret med sin egen timer og er alle placeret forskellige steder. Så hvorfor valgte jeg disse elementer til at begynde med Internet of Things eller Home Automation -projekter, kan du spørge?

Vel, at bo i Sydafrika betyder, at strømafbrydelser er en regelmæssig forekomst. Med statistik over mit hjem havde jeg 35 strømsvigt det seneste år, i alt 40 timer. Dette er normalt ikke et problem, da alle de i øjeblikket installerede timere er udstyret med et reservebatteri, der holder tiden under strømafbrydelser. Men der er nogle problemer:

  • Disse backup-batterier holder kun et år eller to, så skal timeren udskiftes. Timerne er konstrueret således, at timeren skal ødelægges for at få adgang til det interne Ni-Cad batteri.
  • Hver gang strømmen afbrydes, skal timerne med defekte batterier omprogrammeres og tiden indstilles.
  • Timerens fysiske placering, når den er tilsluttet stikkontakten, gør det næsten umuligt at aflæse de LCD -skærme, der viser timeren fra toppen. Det betyder, at timeren skal afbrydes, eller jeg skal lægge mig på gulvet for at indstille eller justere timerne efter et strømsvigt.

Af ovenstående årsager besluttede jeg at teste muligheden for at erstatte timerne med en IoT Smart Timer, der er forbundet til mit lokale hjemmenetværk.

Ideen var at designe en selvstændig timer, som kan:

  • Juster automatisk den aktuelle tid ved hjælp af internettet (IoT)
  • Betjenes uden brugerhandlinger (Smart)
  • Slå en udgang til/fra i henhold til indstillede tider (timer)
  • Programmerbar og styrbar via netværk (hjemmeautomation)

Trin 1: ESP8266-01-designet

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

Designet blev udført ved hjælp af et ESP8266-01 WiFi-modul, da det var det, jeg havde til rådighed. I sin enkleste form har ESP8266-01 fire I/O-ben:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 opstartstilstande

I/O-benenes logiske tilstand bruges til at bestemme i hvilken tilstand ESP8266-01 vil starte op. Det første trin var at bestemme, hvilken af I/O -benene der kan bruges til at drive et udgangsrelæ.

  • For normal opstart skal GPIO0 og GPIO2 indstilles til logik HIGH. Det er således klart, at disse to ben ikke kan bruges som en digital udgang.
  • Tx -stiften er indstillet som en output ved opstart, og output er høj. Denne Tx -pin sender også nogle serielle data under opstart. Således kan denne pin heller ikke bruges som output.

Den eneste tilbageværende pin er Rx -stiften. Denne pin er indstillet som input ved opstart og behøver ikke trækkes højt under opstart. Denne pin er således den mest egnede til at blive brugt som output pin.

Starte op

For at sikre korrekt opstartstilstand for ESP8266-01 under opstart trækkes følgende stifter højt ved hjælp af 10K modstande:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Dette sikrer, at enheden starter korrekt op hver gang.

Udgangsrelæ

RX er den eneste pin, der er egnet til brug som output. Denne pin bruges således til at drive outputrelæet via en NPN -transistor. Standard svinghjulsdiode og transistorbasismodstande blev tilføjet.

MODE/SET -knap

Knappen er forbundet til GPIO2, og med knappen sluppet vil en 10K modstand trække GPIO2 højt. Når knappen trykkes ned, trækkes GPIO2 til 0V.

Denne knap bruges til to funktioner:

  • Første opsætning for at forbinde enheden til et lokalt WiFi -netværk
  • Til manuel styring af output under normale operationer

Indikation LED

LED'en er tilsluttet GPIO0 og angiver følgende:

  • Ved første opstart blinker HURTIGT for at angive WiFi -opsætningstilstand
  • Blinker langsomt, når tid for enheden ikke er indstillet
  • angiver udgangsrelæets tænd/sluk -status

Trin 2: Strømforsyningen

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

Jeg bruger IoT Smart Timer på forskellige spændingsniveauer, derfor er der to muligheder for strømforsyning:

12 - 24V DC

Den anvendte DC-DC-omformer er velegnet til forsyninger op til 28V DC. Konverterens output er justerbar og er indstillet til 5V. Dette skal gøres, før ESP8266 -modulet tilsluttes.

En diode blev tilføjet til for at beskytte mod omvendt polaritet på forsyningsindgangen.

220V AC Til denne mulighed kunne jeg få en lille 220V/5V switch mode strømforsyning på eBay.

Uanset indgangsspændingen har IoT Smart Timer brug for to strømforsyninger:

5V skinne

Med begge muligheder opnås 5V DC fra en switchet strømforsyning og ikke en lineær regulator. Det betyder, at der genereres minimal varme fra strømforsyningen. 5V bruges til at drive outputrelæet

3.3V Skinne

3.3V til ESP8266-01 fås fra en ASM1117 3.3 regulator. ASM1117 3.3 er en lineær regulator og kan klare op til 500mA. Den genererede varme bestemmes imidlertid af indgangsspændingen til ASM1117. For at reducere varmen drives ASM1117 fra 5V -skinnen.

Støjfiltrering

For at reducere spændingsippel til ESP8266-01 er 3.3V -skinnen udstyret med en 100 - 1000uf kondensator. Både 5V og 3.3V skinner er også beskyttet mod højfrekvent interferens med 0.1uf kondensatorer.

Trin 3: Samling af PC -kortet

Samling af PC -kortet
Samling af PC -kortet
Samling af PC -kortet
Samling af PC -kortet
Samling af PC -kortet
Samling af PC -kortet

PC -kortet blev designet ved hjælp af freeware -versionen af Eagle. Det er et enkeltsidet bord, der let kan laves derhjemme ved hjælp af toneroverførselsmetoden.

Når PC -kortet er lavet, samles PC -kortet i følgende rækkefølge:

  • Lod ASM1117 -regulatoren og tre 0.1uf SMD -komponenter til loddetiden af brættet
  • Tilføj den enkelte jumper til komponentsiden af brættet
  • Lodde modstande og dioder på plads
  • Tilføj headerne til ESP8266-01-modulet
  • Tilføj headerstifterne til LED'en og knappen
  • Tilføj skrueterminalerne
  • Ved hjælp af headerstifter skal du slutte DC/DC -konverteren til kortet.
  • Lodde relæet på plads
  • Fuldfør kortet ved at lodde transistoren og 100uf kondensatoren.

Når alle komponenter er loddet til brættet, skal du kontrollere alle loddepunkter og sikre, at der ikke er kortslutninger mellem elektroderne.

! ! ! VIGTIG NOTE ! ! ! For at sikre, at PC -kortet kan håndtere store strømme på udgangskontakterne, skal der påføres en anstændig mængde loddemetal på skinnerne mellem relækontakterne og skrueterminalerne

Trin 4: Test af pc -kortet

Test af PC -kortet
Test af PC -kortet

! ! ! Inden strømtilførsel! ! !

Fjern ESP8266-01-modulet fra enheden. Dette er for at forhindre overophedning af ASM1117 -regulatoren, før 5V -forsyningen justeres.

Der er ikke mange tests, der kan udføres efter montering. Det vigtigste trin er at sikre de korrekte spændingsniveauer.

  • Påfør 12 - 24V DC på enheden.
  • Mål udgangsspændingen på DC/DC -omformeren
  • Juster konverterens output til mellem 5,0 og 5,5V.
  • Mål derefter 3,3V forsyningen.
  • Hvis forsyningerne er i orden, skal du fjerne strømmen fra enheden

Du kan nu indsætte ESP8266-01-modulet i de medfølgende headere.

! ! ! Bemærk !

Når du har testet IoT -timeren, og den virker, skal du bruge klar lak til at dække loddetiden på pc -kortet. Dette forhindrer oxidation af sporene og giver ekstra isolering mellem relækontakterne og resten af kredsløbet

Trin 5: Vedlægget

Indhegningen
Indhegningen
Indhegningen
Indhegningen
Indhegningen
Indhegningen

Kabinettet er ikke så vigtigt, så længe pc -kortet og alle ledninger passer pænt og sikkert ind i det.

For at gøre konstruktionen lettere har jeg lavet et kabel med LED og MODE/SETUP -knappen tilsluttet. Dette gav mig mere fleksibilitet i montering af LED og knap til kabinettet. Dette kabel sættes derefter i headeren på pc -kortet.

Billederne viser en af de 12V -enheder, der bruges til LED -lys.

Trin 6: Programmering af ESP8266-01/NodeMCU

Programmering af ESP8266-01/NodeMCU
Programmering af ESP8266-01/NodeMCU
Programmering af ESP8266-01/NodeMCU
Programmering af ESP8266-01/NodeMCU
Programmering af ESP8266-01/NodeMCU
Programmering af ESP8266-01/NodeMCU

For at programmere ESP8266-01 skal du først konfigurere Arduino IDE. Jeg går ikke ind på disse detaljer, da der er masser af gode instruktioner tilgængelige om dette emne. Jeg har valgt følgende links på Instructables til reference, uden nogen bestemt rækkefølge til forfatterne. Tak for deres individuelle instruktioner.

Følg denne ESP8266 og Arduino IDE for at konfigurere Arduino IDE til ESP8266 modulet.

Derefter skal du bruge en programmør til at programmere ESP8266. Her er to links:

Brug af Arduino Uno

DIY programmeringstavle

Biblioteker

Du skal installere flere biblioteker for at kunne kompilere koden. Igen, henvises til denne Instructable:

Installer og brug Arduino Libraries

Jeg kan ikke huske, hvilke biblioteker jeg skulle installere, men jeg ved, at WiFiManager skal downloades separat. Jeg har inkluderet disse i Libraries.zip -filen.

Trin 7: Første gangs opsætning

Første gangs opsætning
Første gangs opsætning
Første gangs opsætning
Første gangs opsætning
Første gangs opsætning
Første gangs opsætning

Når den bruges første gang, skal IoT Smart Timer forbindes til et WiFi -netværk. Denne opgave udføres ved hjælp af WiFiManager -biblioteket, så ingen SSID eller adgangskoder skal indtastes i koden.

Følg disse få trin:

  • Tænd for enheden
  • LED'en begynder at blinke hurtigt
  • Tryk på knappen MODE/SETUP
  • Når LED'en slukker, skal du slippe knappen
  • Vent et par sekunder, og åbn derefter din smartphone eller enhedens WiFi -forbindelser
  • Et nyt WiFi -netword kaldet IoT Timer vil være synligt
  • Vælg dette adgangspunkt
  • Log på IoT -timeren (ingen adgangskode er påkrævet)
  • Vent, indtil din enhed er forbundet til IoT Timer -netværket
  • Åbn enhver internetbrowser
  • Indtast følgende IP -adresse i adresselinjen - 192.168.4.1
  • WiFiManager -konsollen åbnes
  • Vælg Konfigurer WiFi
  • Der vises en liste med tilgængelige WiFi -netværkspunkter
  • Vælg det nødvendige WiFi -netværk, og indtast adgangskoden
  • Indtast derefter den IP -adresse, du vil bruge til at oprette forbindelse til IoT -timeren
  • Indtast standardgatewayens IP -adresse efterfulgt af masken
  • Når alle indstillinger er udført, skal du klikke på knappen Gem
  • Et nyt vindue åbnes for at bekræfte, at de nye legitimationsoplysninger blev gemt
  • Luk din browser

Når det er gemt, lukkes IoT Timer -netværket, og enheden forsøger at oprette forbindelse til dit WiFi -netværk.

  • Tilslut din smartphone eller enhed til det samme WiFi -netværk, som bruges til IoT -timeren.
  • Åbn din browser
  • Indtast IP -adressen på din IoT Timer i adresselinjen
  • Konfigurationssiden for IoT -timeren åbnes

Din IoT Timer er nu klar til brug

Trin 8: Opsætning af IoT Timer

Opsætning af IoT Timer
Opsætning af IoT Timer
Opsætning af IoT Timer
Opsætning af IoT Timer
Opsætning af IoT Timer
Opsætning af IoT Timer
Opsætning af IoT Timer
Opsætning af IoT Timer

Den indbyggede webside i IoT Timer består af fem sektioner:

Status

Dette viser enhedsnavnet samt timers aktuelle tid og outputstatus

Derudover er timerens driftstilstand indstillet i dette afsnit. Der er tre tilstande:

  • Auto - Output styres af de forskellige timerprogrammer
  • On - Output er tvunget TIL og forbliver tændt, indtil tilstanden ændres
  • Off - Output er tvunget til OFF, og forbliver slukket, indtil tilstanden ændres.

Programmer

Dette afsnit indeholder timer til og fra for timeren. Der er syv programmer tilgængelige, og hvert program kan indstilles individuelt.

Inden du ændrer det næste program, skal du trykke på knappen GEM for at gemme eventuelle ændringer i det aktuelle program.

Knapfunktion

MODE/SETUP -knappen kan bruges til at styre udgangsrelæet under normal drift. Vælg her, hvad knappen skal gøre, når der trykkes på den.

Marker feltet "Opdater knapfunktion", før du trykker på knappen Gem for at gemme de nye indstillinger.

Konfiguration

Her kan du ændre navnet på IoT -timeren. Dette gør det let at identificere mellem flere timere.

Tid på enheden hentes fra internettet via en NTP -tidsserver. For at få vist det korrekte klokkeslæt, skal du opdatere tidszonen til dit område.

Hvis du vil gøre brug af en anden NTP -tidsserver, skal du indtaste den nye IP -adresse i det angivne rum.

Marker feltet "Opdater konfiguration", før du trykker på knappen Gem for at gemme de nye indstillinger.

BEMÆRK

Når du ændrer tidszonen, vil den nye tid kun blive indstillet korrekt under den næste tidsforespørgsel. Enheden er indstillet til at opdatere tiden hvert 5. minut.

Tidsjustering

Nogle gange sker det, at NTP -tidsserveren ikke reagerer ved hver forespørgsel. Skulle det tage for lang tid, før tiden blev indstillet via NTP -serveren, kan du indtaste tid og dato manuelt.

Marker feltet "Opdater tid", før du trykker på knappen Gem for at gemme den nye tid og dato.

Tidssynkronisering

Den sidste del af siden angiver klokkeslæt og dato, hvor sidste tidspunkt blev synkroniseret via NTP -tidsserveren.

Anbefalede: