Innehållsförteckning:

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

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

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

UPPDATERINGAR

2018-09-30: Firmware uppdaterad till Ver 1.09. Nu med Sonoff Basic Support

2018-10-01: Testversion av firmware 1.10 tillgänglig för testning på ESP8266-01 med problem

Eftersom de nya modeorden var Internet Of Things (IoT) och Home Automation, bestämde jag mig för att titta på de aktuella föremålen i och runt mitt hem som styrs via någon sorts enhet. De saker som sticker ut är följande:

  • Poolpump
  • Poolvattenpåfyllning
  • Pool och omgivande lampor
  • Skåpbelysning för TV/underhållningssystem

Det vanliga objektet som används för att styra dessa enheter är vanliga vägguttagstimrar. Varje enhet är utrustad med en egen timer och är alla placerade på olika platser. Så varför valde jag dessa objekt till att börja med Internet of Things eller Home Automation -projekt, kan du fråga?

Att bo i Sydafrika betyder att strömavbrott är en vanlig händelse. Med statistik över mitt hem hade jag 35 strömavbrott det senaste året, totalt 40 timmar. Detta är normalt inte ett problem, eftersom alla för närvarande installerade timers är utrustade med ett reservbatteri för att hålla tiden vid strömavbrott. Men det finns några frågor:

  • Dessa reservbatterier räcker bara ett eller två år, då måste timern bytas ut. Tidtagarna är konstruerade så att timern måste förstöras för att få åtkomst till det interna Ni-Cad-batteriet.
  • Varje gång strömmen går sönder måste tidtagarna med defekta batterier omprogrammeras och tiden ställas in.
  • Den fysiska platsen för timern, när den är ansluten till vägguttaget, gör det nästan omöjligt att läsa LCD -skärmar som visar timern uppifrån. Det betyder att timern måste kopplas ur, eller så måste jag lägga mig på golvet för att ställa in eller justera timern efter ett strömavbrott.

På grund av ovanstående skäl bestämde jag mig för att testa möjligheten att ersätta timern med en IoT Smart Timer, ansluten till mitt lokala hemnätverk.

Tanken var att designa en fristående timer, som kan:

  • Justera den aktuella tiden automatiskt med internet (IoT)
  • Fungerar utan användaråtgärder (Smart)
  • Slå på/av en utgång enligt inställda tider (timer)
  • Programmerbar och styrbar via nätverk (Hemautomation)

Steg 1: ESP8266-01-designen

Designen ESP8266-01
Designen ESP8266-01
Designen ESP8266-01
Designen ESP8266-01

Designen gjordes med en ESP8266-01 WiFi-modul, eftersom det här var vad jag hade tillgängligt. I sin enklaste form har ESP8266-01 fyra I/O-stift:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Uppstartslägen

I/O-stiftenas logiska tillstånd används för att bestämma i vilket läge ESP8266-01 ska starta upp. Det första steget var att bestämma vilka av I/O -stiften som kan användas för att driva ett utgångsrelä.

  • För normal start måste GPIO0 och GPIO2 ställas in på logik HÖG. Således är det klart att dessa två stift inte kan användas som en digital utgång.
  • Tx -stiftet är inställt som en utgång vid uppstart och utmatningen hög. Denna Tx -pin överför också vissa seriella data under uppstart. Således kan denna stift inte heller användas som utgång.

Den enda kvarvarande stiftet är Rx -stiftet. Denna stift är inställd som en ingång vid uppstart och behöver inte dras högt under uppstart. Denna stift är således den mest lämpliga att användas som en utgångsstift.

Starta upp

För att säkerställa korrekt uppstartsläge för ESP8266-01 under uppstart dras följande stiften högt med 10K-motstånd:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Detta säkerställer att enheten startar upp korrekt varje gång.

Utgångsrelä

RX är den enda stiftet som är lämpligt att användas som utgång. Denna stift används således för att driva utgångsreläet via en NPN -transistor. Standardmotstånden för svänghjulet och transistorns bas tillsattes.

Knappen MODE/SET

Knappen är ansluten till GPIO2, och när knappen släpps kommer ett 10K -motstånd att dra GPIO2 högt. Med knappen intryckt dras GPIO2 till 0V.

Denna knapp används för två funktioner:

  • Första inställningen för att ansluta enheten till ett lokalt WiFi -nätverk
  • För att manuellt styra utmatningen under normala operationer

Indikering LED

Lysdioden är ansluten till GPIO0 och indikerar följande:

  • Vid första uppstart blinkar FAST för att indikera WiFi -inställningsläge
  • Blinkar långsamt när enhetens tid inte är inställd
  • anger utgångsreläets på/av -status

Steg 2: Strömförsörjningen

Strömförsörjningen
Strömförsörjningen
Strömförsörjningen
Strömförsörjningen
Strömförsörjningen
Strömförsörjningen

Jag kommer att använda IoT Smart Timer på olika spänningsnivåer, därför finns det två alternativ för strömförsörjning:

12 - 24V DC

Den DC-DC-omvandlare som används är lämplig för matningar upp till 28V DC. Omvandlarens utgång är justerbar och är inställd på 5V. Detta måste göras innan ESP8266 -modulen ansluts.

En diod tillsattes för att skydda mot omvänd polaritet på matningsingången.

220V AC För det här alternativet kunde jag få en liten 220V/5V switch mode -strömförsörjning på eBay.

Oavsett ingångsspänning behöver IoT Smart Timer två nätaggregat:

5V skena

Med båda alternativen erhålls 5V DC från en strömförsörjning i växlat läge och inte från en linjär regulator. Detta innebär att det är minimal värme som genereras av strömförsörjningen. 5V används för att driva utgångsreläet

3.3V skena

3.3V för ESP8266-01 erhålls från en ASM1117 3.3-regulator. ASM1117 3.3 är en linjär regulator och kan hantera upp till 500mA. Värmen som genereras bestäms dock av ingångsspänningen till ASM1117. För att minska värmen drivs ASM1117 från 5V -skenan.

Brusfiltrering

För att minska spänningsvippan till ESP8266-01 är 3.3V -skenan utrustad med en 100 - 1000uf kondensator. Både 5V och 3.3V skenor skyddas också från högfrekventa störningar med 0.1uf kondensatorer.

Steg 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 designades med freeware -versionen av Eagle. Det är ett enkelsidigt kort som enkelt kan göras hemma med hjälp av toneröverföringsmetoden.

När PC -kortet är gjort monterar du PC -kortet i följande ordning:

  • Löd ASM1117 -regulatorn och tre 0.1uf SMD -komponenter på kortets lödsida
  • Lägg till den enda bygeln på komponentsidan av brädet
  • Löd motstånden och dioderna på plats
  • Lägg till rubrikerna för ESP8266-01-modulen
  • Lägg till huvudstiften för lysdioden och knappen
  • Lägg till skruvplintarna
  • Anslut DC/DC -omvandlaren till kortet.
  • Löd reläet på plats
  • Komplettera kortet genom att löda transistorn och 100uf kondensatorn.

När alla komponenter är lödda på kortet, verifiera alla lödpunkter och se till att inga kortslutningar mellan kuddarna.

! ! ! VIKTIG NOTERING ! ! ! För att säkerställa att PC -kortet kan hantera stora strömmar på utgångskontakterna, applicera en anständig mängd lödning på spåren mellan reläkontakterna och skruvterminalerna

Steg 4: Testning av PC -kortet

Testning av PC -kortet
Testning av PC -kortet

! ! ! Innan du använder ström! ! !

Ta bort ESP8266-01-modulen från enheten. Detta för att förhindra överhettning av ASM1117 -regulatorn innan 5V -matningen justeras.

Det finns inte många tester som kan göras efter montering. Det viktigaste steget är att säkerställa korrekta spänningsnivåer.

  • Applicera 12 - 24V DC på enheten.
  • Mät utspänningen för DC/DC -omvandlaren
  • Justera omvandlarens utgång till mellan 5,0 och 5,5V.
  • Mät sedan 3,3V -försörjningen.
  • Om förbrukningsmaterial är ok, ta bort strömmen från enheten

Du kan nu sätta in ESP8266-01-modulen i de medföljande rubrikerna.

! ! ! Notera ! !

När du har testat IoT -timern och den fungerar, använd klarlack för att täcka lödsidan av PC -kortet. Detta förhindrar oxidation av spåren och ger extra isolering mellan reläkontakterna och resten av kretsen

Steg 5: Kapslingen

Kapslingen
Kapslingen
Kapslingen
Kapslingen
Kapslingen
Kapslingen

Höljet är inte så viktigt, så länge PC -kortet och alla ledningar passar snyggt och säkert in i det.

För att underlätta konstruktionen har jag gjort en kabel med LED och MODE/SETUP -knappen ansluten till den. Detta gav mig mer flexibilitet när det gäller att montera lysdioden och knappen på höljet. Denna kabel ansluts sedan till huvudet på PC -kortet.

Bilderna visar en av 12V -enheterna som används för LED -lampor.

Steg 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

För att programmera ESP8266-01 måste du först konfigurera Arduino IDE. Jag går inte in på dessa detaljer, eftersom det finns många bra instruktioner tillgängliga om detta ämne. Jag har valt följande länkar på Instructables som referens, utan någon specifik ordning till författarna. Tack för deras individuella instruktioner.

Följ denna ESP8266 och Arduino IDE för att konfigurera Arduino IDE för ESP8266 -modulen.

Därefter behöver du en programmerare för att programmera ESP8266. Här är två länkar:

Använda Arduino Uno

DIY programmeringskort

Bibliotek

Du måste installera ytterligare bibliotek för att kunna kompilera koden. Återigen, hänvisa till denna instruerbara:

Installera och använd Arduino Libraries

Jag kommer inte ihåg vilka bibliotek jag var tvungen att installera, men jag vet att WiFiManager måste laddas ner separat.. Jag har inkluderat dessa i filen Libraries.zip.

Steg 7: Första gången installation

Första gången inställning
Första gången inställning
Första gången inställning
Första gången inställning
Första gången inställning
Första gången inställning

När den används för första gången måste IoT Smart Timer vara ansluten till ett WiFi -nätverk. Denna uppgift utförs med WiFiManager -biblioteket, så inga SSID eller lösenord behöver skrivas in i koden.

Följ dessa steg:

  • Slå på enheten
  • Lysdioden börjar blinka snabbt
  • Tryck på knappen MODE/SETUP
  • Släpp knappen när lysdioden släcks
  • Vänta några sekunder och öppna sedan din smartphone eller enhetens WiFi -anslutningar
  • Ett nytt WiFi -nätord som heter IoT Timer kommer att synas
  • Välj denna åtkomstpunkt
  • Logga in på IoT -timern (inget lösenord krävs)
  • Vänta tills din enhet är ansluten till IoT Timer -nätverket
  • Öppna vilken webbläsare som helst
  • Skriv följande IP -adress i adressfältet - 192.168.4.1
  • WiFiManager -konsolen öppnas
  • Välj Konfigurera WiFi
  • En lista med tillgängliga WiFi -nätverkspunkter visas
  • Välj önskat WiFi -nätverk och skriv in lösenordet
  • Ange sedan IP -adressen som du vill använda för att ansluta till IoT -timern
  • Ange IP -adressen för standardgateway, följt av masken
  • När alla inställningar är klickade du på knappen Spara
  • Ett nytt fönster öppnas för att bekräfta att de nya uppgifterna har sparats
  • Stäng din webbläsare

När det har sparats stängs IoT Timer -nätverket av och enheten försöker ansluta till ditt WiFi -nätverk.

  • Anslut din smartphone eller enhet till samma WiFi -nätverk som används för IoT -timern.
  • Öppna din webbläsare
  • Skriv in IP -adressen för din IoT -timer i adressfältet
  • Konfigurationssidan för IoT -timern öppnas

Din IoT -timer är nu klar för användning

Steg 8: Inställning av IoT -timer

Inställning av IoT Timer
Inställning av IoT Timer
Inställning av IoT Timer
Inställning av IoT Timer
Inställning av IoT Timer
Inställning av IoT Timer
Inställning av IoT Timer
Inställning av IoT Timer

Den inbyggda webbsidan för IoT Timer består av fem sektioner:

Status

Detta visar enhetens namn, såväl som aktuell tid och utgångsstatus för timern

Dessutom är timarens driftläge inställt i detta avsnitt. Det finns tre lägen:

  • Auto - Output styrs av de olika timerprogrammen
  • På - Utmatningen tvingas PÅ och kommer att vara på tills läget ändras
  • Av - Utmatningen är avstängd och förblir avstängd tills läget ändras.

Program

Det här avsnittet innehåller timer för på och av. Det finns sju program tillgängliga, och varje program kan ställas in individuellt.

Innan du ändrar nästa program, tryck på SPARA -knappen för att spara alla ändringar som gjorts i det aktuella programmet.

Knappfunktion

Knappen MODE/SETUP kan användas för att styra utgångsreläet under normal drift. Välj här vad knappen måste göra när du trycker på den.

Markera rutan "Uppdateringsknappsfunktion" innan du trycker på knappen Spara för att spara de nya inställningarna.

Konfiguration

Här kan du ändra namnet på IoT -timern. Detta gör det enkelt att identifiera mellan flera timers.

Tid på enheten erhålls från internet via en NTP -tidsserver. För att visa rätt tid, vänligen uppdatera tidszonen till din region.

Om du vill använda en annan NTP -tidsserver anger du den nya IP -adressen i det angivna utrymmet.

Markera rutan "Uppdatera konfiguration" innan du trycker på knappen Spara för att spara de nya inställningarna.

NOTERA

När du ändrar tidszonen kommer den nya tiden bara att ställas in korrekt under nästa tidsfråga. Enheten är inställd på att uppdatera tiden var 5: e minut.

Tidsjustering

Ibland händer det att NTP -tidsservern inte svarar på varje fråga. Om det tar för lång tid innan tiden ställs in via NTP -servern kan du ange tid och datum manuellt.

Markera rutan "Uppdateringstid" innan du trycker på knappen Spara för att spara den nya tiden och datumet.

Tidssynkronisering

Den sista delen av sidan indikerar tid och datum när den senaste tiden synkroniserades via NTP -tidsservern.

Rekommenderad: