- ESP Smart Plug för hemautomation
- Material som krävs
- Smart Plug-program för ESP8266
- Kretsschema
- 3D-tryckt hölje för smart uttag
Ända sedan jag började arbeta med ESP Wi-Fi-moduler ville jag alltid bygga ett smart Wi-Fi-uttag som gör att jag kan styra mina AC-laddningar trådlöst via smarttelefon. Medan produkter som dessa redan finns på marknaden, som den populära Moko WiFi Smart Plug eller Sonoff, är de lite dyra och dessutom ger det dig inte glädjen att bygga din egen. Så i det här projektet kommer jag att visa dig hur du kan bygga din egen smarta kontakt med ESP8266 Wi-Fi-modul. Enheten som vi byggde kan enkelt anslutas till vilket utgående nätuttag som helst och sedan i andra änden kan du ansluta den faktiska belastningen helt enkelt genom att ansluta den till detta uttag på vår enhet. Efter det är det bara att hålla huvudströmbrytaren i uttaget alltid på och du kan styra din last direkt från din smartphone. Kul, eller hur? Så låt oss gå in i projektet….
ESP Smart Plug för hemautomation
Vi har redan byggt en handfull hemautomationsprojekt, från enkel RF-baserad hemautomation till min favorit Google-assistentbaserade röststyrd hemautomation. Men idag är kravet på detta projekt något annorlunda.
Här är syftet att slå på / av min Wi-Fi-router genom att bara använda Smartphone direkt från min arbetsstation. Eftersom ibland min internetuppkoppling går ner och när jag ringer till min kundtjänst är det vanliga svaret jag får: ”Sir, jag är ledsen för besväret. Starta om din router genom att stänga av den och sedan slå på den igen efter några sekunder ” Puffff! Trött på att gå mig till routern varje gång, bestämde jag mig för att bygga den här wifi-smartkontakten och styra min router med den.
Men vänta lite! Jag kommer inte längre ha tillgång till internet när jag stänger av min router. Så hur ska jag sätta på den igen på distans? Lyckligtvis kan vår ESP8266 användas som en åtkomstpunkt, vilket innebär att den också kan fungera som en router genom att skicka en egen wi-fi-signal. Denna Wi-Fi-signal är alltid tillgänglig så länge som ESP8266 är strömförsörjd. Därför kommer vi att programmera vår ESP8266 som en intern portal, på det sättet när vi har anslutit till ESP: s Wi-Fi-signal kommer vi till en webbsida där vi kan slå på / av vår last.
Material som krävs
1. ESP8266 Wi-Fi-modul
2. Hi-Link AC till DC-omvandlare (3,3 V)
3. 3V-relä
4. NPN-transistor BC547
5. FTDI programmeringsmodul
6. Arduino Wi-Fi-sköld
7. Anslutning av ledningar
Obs! Vi använder den här Arduino Wi-Fi Shield som vi byggde tidigare. Kortet används bara för att ladda upp Arduino-koden till ESP8266-modulen. Om du inte har det här kortet kan du antingen bygga en med länken för att använda denna enkla ESP8266-programmerarkrets för att ladda upp din kod.
Smart Plug-program för ESP8266
Innan vi fortsätter, låt oss dyka rakt in i programmet för att förstå hur vår DIY WiFi-smartplugg fungerar. Som du kan se här börjar vi programmet med att inkludera några rubrikfiler och ställa in en DNS-nätverksserver
#omfatta
Sedan initialiserar vi GPIO-stift 2 i ESP som utgång som kommer att användas för att kontrollera vår belastning. Därefter har vi en lång HTML-kod för vår webbsida. Här har vi totalt tre skärmar på vår webbsida, nämligen startskärmen, på skärmen och av-skärmen.
String Home_Screen = "" // Sida 1 - Startskärms HTML-kod "" " " + style_detials + "
""Välkommen - CircuitDigest
"" "; String ON_Screen =" "// Sida 2 - Om enheten är PÅ" " " + style_detials + " ""Smart Plug - Påslagen
"" "; String OFF_Screen =" "// Sida 3 - Om enheten är avstängd " " " + stil_detaljer + " " "Smart Plug - Stängd AV
" " ";Dessa tre webbsidor när de öppnas visas ungefär så här. Du kan anpassa din webbsida så att den ser ut som du vill.
Sedan har vi vår tomrumsinställningsfunktion där vi definierar att vår ESP ska fungera som en åtkomstpunkt och också ger ett namn på den, här “ESP_Smart_Plug”. När någon användare ansluts till det här Wi-Fi kommer de att tas till hemsidan som vi definierade tidigare.
pinMode (LED_BUILTIN, OUTPUT); // LED-stift som utgång för indikering pinMode (GPIO_2, OUTPUT); // GPIO-stift som utgång för reläkontroll WiFi.mode (WIFI_AP); // Ställ ESP i AP-läge WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Namnge ditt AP-nätverk dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Öppna startskärmen som standard webServer.send (302, "text / vanlig", ""); });
Om användaren klickar på PÅ-knappen på hemsidan visas sidan på skärmen och GPIO 2-stiftet ställs högt
// ON_Screen webServer.on ("/ relay_ON", () {// Om påslagningsknappen trycks in digitalWrite (LED_BUILTIN, LOW); // Stäng av LED digitalWrite (GPIO_2, HIGH); // Stäng av Relay webServer.send (200, "text / html", ON_Screen); // Visa denna skärm });
På samma sätt om användaren klickar på av-knappen visas sidan för av-skärmen och GPIO 2-stiftet kommer att vara LÅG.
// OF_Screen webServer.on ("/ relay_OFF", () {// Om avstängningsknappen trycks in digitalWrite (LED_BUILTIN, HIGH); // Slå på LED digitalWrite (GPIO_2, LOW); // Slå på Relay webServer.send (200, "text / html", OFF_Screen); // Visa denna skärm });
Den kompletta koden tillsammans med biblioteksfilerna kan laddas ner som en ZIP-fil från länken nedan. Nu när vår kod är klar kan vi ladda upp den till vår ESP-modul genom att helt enkelt klicka på uppladdningsknappen och sedan vänta på att koden ska laddas upp. Hela programmet tillsammans med biblioteksfilerna kan laddas ner från länken nedan
ESP8266 Smart Plug - Arduino-kodnedladdning
De som har Wi-Fi-skölden kan helt enkelt koppla in dina moduler som visas ovan och ansluta den till din dator för att börja programmera vår ESP8266 med Arduino IDE. Personer som inte har detta kort kan använda kretsschemat som nämnts tidigare.
När koden har laddats upp, sök efter Wi-Fi-nätverk på din telefon och du ska hitta en signal med namnet “ESP_Smart_Plug”. Anslut till den så kommer du till den webbsida som vi just designade. Här när du trycker på avstängningsknappen bör du märka att lysdioden på vårt ESP-kort stängs av och när du trycker på startknappen ska lysdioden tändas igen.
Efter att ha verifierat koden några gånger till behöver vi inte längre programmerarkortet för detta projekt. Nu måste vi bygga en krets för att driva vår ESP-modul direkt från nätspänningen och använda dess GPIO-stift för att växla ett relä. För att bygga den här kretsen använde jag en AC-DC-omvandlarmodul från Hi-Link som omvandlar växelspänningen till 3,3 V DC med en utgångsström på 900 mA som är tillräcklig för att driva upp ESP-modulen genom elnätet. Utgångssidan Relä är ett 3,3 V-relä som kan styras av GPIO-stiftet på ESP genom en transistor som denna BC547. Vi behöver också en 1k motstånd för att begränsa basströmmen för vår transistor.
Kretsschema
Den kompletta kopplingsschema för Wi-Fi smart kontakt skulle se ut så här.
AC-nätet för att driva vårt projekt kommer att fås via den här kontakten. De andra komponenterna är de som förklarade eariler. En annan viktig sak att koncentrera sig på är att hålla GPIO-0 och GPIO-2 höga medan du startar. Annars kommer ESP-modulen att gå in i programmeringsläge och utkoden fungerar inte. Därför har jag använt ett 10k-motstånd (värden mellan 3,3k och 10k kan användas) för att dra GPIO-stiftet högt som standard. Alternativt kan du också använda en PNP-transistor istället för BC547 och växla reläet från högsidan. Med kretsschemat klart, planerade jag hur man lödde dessa komponenter genom att hålla kortstorleken så liten som möjligt så att den passar inuti ett litet hölje och behandlas med lödning av kortet.
3D-tryckt hölje för smart uttag
Därefter mätte jag måtten på kortet med min vernier och mätte också dimensionerna på kontakten för att utforma ett hölje för min smarta kontakt. Min design såg ut så här nedan när den var klar.
Efter att jag var nöjd med designen exporterade jag den som en STL-fil, skivade den utifrån skrivarinställningar och slutligen skrev ut den. Återigen är STL-filen också tillgänglig för nedladdning från thingiverse och du kan skriva ut ditt eget hölje med det.
Efter att utskriften var klar var jag ganska nöjd med resultatet. Sedan fortsatte jag med att lägga till kablarna på mitt bräde och skruvade dem också i eluttagen och uttaget. Med den kompletta anslutningen som gjordes monterade jag kretsen i mitt hölje och allt passade som du kan se här.
Med min smarta kontakt redo för handling gick jag till min router, spårade kabeln för att hitta dess adapter. Sedan tog jag bort den från uttaget och anslutte smartkontakten till samma uttag och slog på den. Nu kopplade jag tillbaka adaptern till vår smarta kontakt och så kan jag hädanefter styra den från min telefon. På samma sätt kan du styra eventuell lågeffekt AC-belastning i ditt hem och ha kul.
Komplett kod kan laddas ner härifrån och arbetsvideo för detta DIY-eluttag finns längst ner på denna sida. Hoppas att du gillade projektet, låt mig veta i kommentarsektionen vad du skulle automatisera med den här enheten. Om du har några frågor lämnar du dem i forumet och jag kommer att göra mitt bästa för att svara på dem.