- ESP Smart Plug til hjemmeautomatisering
- Nødvendige materialer
- Smart Plug-program til ESP8266
- Kredsløbsdiagram
- 3D-trykt kabinet til Smart Plug Socket
Lige siden jeg begyndte at arbejde med ESP Wi-Fi-modulerne, ville jeg altid oprette et smart Wi-Fi-stik, der gør det muligt for mig at styre mine AC-belastninger trådløst via en smartphone. Mens produkter som disse allerede findes på markedet, som den populære Moko WiFi Smart Plug eller Sonoff, er de lidt dyre, og det giver dig desuden ikke glæden ved at bygge din egen. Så i dette projekt vil jeg vise dig, hvordan du kan bygge dit helt eget Smart-stik ved hjælp af ESP8266 Wi-Fi-modul. Enheden, som vi byggede, kan let tilsluttes et hvilket som helst spændende vekselstrømsstik, og derefter kan du i den anden ende forbinde den faktiske belastning ved blot at tilslutte den til dette stik på vores enhed. Derefter skal du altid holde hovedafbryderen på dit stik altid tændt, og du kan styre din belastning direkte fra din smartphone. Sjovt ikke? Så lad os komme ind i projektet….
ESP Smart Plug til hjemmeautomatisering
Vi har allerede bygget en håndfuld hjemmeautomationsprojekter, fra simpel RF-baseret hjemmeautomatisering til min favorit Google-assistentbaserede stemmestyrede hjemmeautomatisering. Men i dag er kravet til dette projekt lidt anderledes.
Her er formålet at tænde / slukke for min Wi-Fi-router ved bare at bruge Smartphone direkte fra min arbejdsstation. Fordi til tider min internetforbindelse går ned, og når jeg ringer til min kundebehandling, er det standardsvar, jeg får, ”Sir, jeg er ked af den ulejlighed, der er forårsaget. Genstart routeren ved at slukke den og derefter tænde den igen efter få sekunder ” Puffff! Træt af at gå min vej til routeren hver gang, besluttede jeg at bygge dette wifi-smarte stik og styre min router ved hjælp af det.
Men vent et øjeblik! Jeg har ikke længere adgang til internettet, når jeg slukker for min router. Så hvordan vil jeg tænde den tilbage igen eksternt? Heldigvis kan vores ESP8266 bruges som et adgangspunkt, hvilket betyder, at det også kan fungere som en router ved at sende sit eget wi-fi-signal. Dette Wi-Fi-signal vil altid være tilgængeligt, så længe ESP8266 er tændt. Derfor programmerer vi vores ESP8266 som en captive portal, på den måde, når vi først har oprettet forbindelse til ESPs Wi-Fi-signal, føres vi til en webside, hvorfra vi kan tænde / slukke for vores belastning.
Nødvendige materialer
1. ESP8266 Wi-Fi-modul
2. Hi-Link AC til DC-konverter (3.3V)
3. 3V relæ
4. NPN-transistor BC547
5. FTDI programmeringsmodul
6. Arduino Wi-Fi-skjold
7. Tilslutning af ledninger
Bemærk: Vi bruger dette Arduino Wi-Fi Shield, som vi byggede tidligere. Kortet bruges kun til at uploade Arduino-koden til ESP8266-modulet. Hvis du ikke har dette kort, kan du enten oprette et ved hjælp af linket til brug dette enkle ESP8266 Programmer kredsløb til at uploade din kode.
Smart Plug-program til ESP8266
Før vi går videre, lad os dykke direkte ind i programmet for at forstå, hvordan vores DIY WiFi-smarte stik fungerer. Som du kan se her, begynder vi programmet med at inkludere få headerfiler og opsætte en DNS-netværksserver
#omfatte
Derefter initialiserer vi GPIO-pin 2 i ESP som output, som bruges til at kontrollere vores belastning. Herefter har vi en lang HTML-kode til vores webside. Her har vi totalt tre skærme på vores webside, nemlig startskærmen, på skærmen og fra skærmen.
String Home_Screen = "" // Side 1 - Startskærm HTML-kode "" " " + style_detials + "
""Velkommen - CircuitDigest
"" "; String ON_Screen =" "// Side 2 - Hvis enheden er tændt" "" "+ style_detials +" ""Smart Plug - tændt
"" "; String OFF_Screen =" "// Side 3 - Hvis enheden er slået fra " " " " + style_detials + " " "Smart stik - slukket
" " ";Disse tre websider, når de åbnes, vises sådan noget. Du kan tilpasse din webside, så den vises, som du kan lide den.
Så har vi vores ugyldige opsætningsfunktion , hvori vi definerer vores ESP til at fungere som et adgangspunkt og også giver et navn til det, her “ESP_Smart_Plug”. Når en bruger får forbindelse til dette Wi-Fi, føres de til den startside, som vi definerede tidligere.
pinMode (LED_BUILTIN, OUTPUT); // LED-pin som output til indikation pinMode (GPIO_2, OUTPUT); // GPIO-pin som output til relæstyring WiFi.mode (WIFI_AP); // Indstil ESP i AP-tilstand WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Navngiv dit AP-netværk dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Åbn startskærmen som standard webServer.send (302, "tekst / almindelig", ""); });
Hvis brugeren klikker på ON-knappen på startsiden, vises siden på skærmen, og GPIO 2-stiften indstilles højt
// ON_Screen webServer.on ("/ relay_ON", () {// Hvis tænd / sluk-knappen er trykket på digitalWrite (LED_BUILTIN, LOW); // Sluk LED digitalWrite (GPIO_2, HIGH); // Sluk Relay webServer.send (200, "text / html", ON_Screen); // Vis denne skærm });
Tilsvarende hvis brugeren klikker på off-knappen, vises siden off-screen, og GPIO 2-stiften indstilles LAV.
// OF_Screen webServer.on ("/ relay_OFF", () {// Hvis sluk knappen trykkes på digitalWrite (LED_BUILTIN, HIGH); // Tænd LED digitalWrite (GPIO_2, LOW); // Tænd Relay webServer.send (200, "text / html", OFF_Screen); // Vis denne skærm });
Den komplette kode sammen med bibliotekets filer kan downloades som en ZIP-fil fra nedenstående link. Nu hvor vores kode er klar, kan vi uploade den til vores ESP-modul ved blot at klikke på upload-knappen og derefter vente på, at koden uploades. Det komplette program sammen med bibliotekets filer kan downloades fra nedenstående link
ESP8266 Smart Plug - Download af Arduino-kode
De, der har Wi-Fi-skjoldet, kan simpelthen tilslutte dine moduler som vist ovenfor og slutte det til din computer for at begynde at programmere vores ESP8266 ved hjælp af Arduino IDE. Folk, der ikke har dette kort, kan bruge kredsløbsdiagrammet som nævnt tidligere.
Når koden er uploadet, skal du søge efter Wi-Fi-netværk på din telefon, og du skal finde et signal med navnet “ESP_Smart_Plug”. Opret forbindelse til det, så føres du til den webside, vi lige har designet. Her når du trykker på sluk-knappen, skal du bemærke, at LED'en på vores ESP-kort slukker, og når du trykker på tænd-knappen, skal LED'en tænde igen.
Efter at have bekræftet koden flere gange, har vi ikke længere brug for programmørbrættet til dette projekt. Nu er vi nødt til at opbygge et kredsløb til at drive vores ESP-modul direkte fra netspændingen og bruge dets GPIO-pin til at skifte et relæ. For at opbygge dette kredsløb brugte jeg et AC-DC-konvertermodul fra Hi-Link, der konverterer AC-netspændingen til 3,3 V DC med en udgangsstrøm på 900 mA, der er tilstrækkelig nok til at tænde for ESP-modulet gennem lysnettet. Relays på udgangssiden er et 3,3 V-relæ, der kan styres af GPIO-stiften på ESP gennem en transistor som denne BC547. Vi har også brug for en 1k modstand for at begrænse basisstrømmen for vores transistor.
Kredsløbsdiagram
Det komplette kredsløbsdiagram for Wi-Fi smart plug vil se sådan ud.
AC-strømforsyningen til at drive vores projekt opnås via dette stik. De andre komponenter er dem, der forklarede øreringe. En anden vigtig ting at koncentrere sig om er at holde GPIO-0 og GPIO-2 høj under opstart. Ellers går ESP-modulet ind i programmeringstilstand, og udkoden fungerer ikke. Derfor har jeg brugt en 10k (værdier mellem 3,3k og 10k kan bruges) modstand til at trække GPIO-stiften højt som standard. Alternativt kan du også bruge en PNP-transistor i stedet for BC547 og skifte relæet fra høj side. Med kredsløbsdiagrammet klar planlagde jeg, hvordan man lodde disse komponenter ved at holde kortstørrelsen så lille som muligt, så den passer ind i et lille hus og behandles med lodning af kortet.
3D-trykt kabinet til Smart Plug Socket
Dernæst målte jeg kortets dimensioner ved hjælp af min vernier og målte også dimensionerne på stikkontakten for at designe et hus til mit smarte stik. Mit design så sådan ud nedenfor, når det først var gjort.
Efter at jeg var tilfreds med designet eksporterede jeg det som en STL-fil, skar det ud på basis af printerindstillingerne og til sidst udskrev det. Igen er STL-filen også tilgængelig til download fra thingiverse, og du kan udskrive dit eget kabinet ved hjælp af det.
Efter udskriften var jeg meget tilfreds med resultatet. Derefter fortsatte jeg med at tilføje ledningerne til mit kort og skruede dem også til strømterminalerne og stikkontakten. Med den komplette tilslutning, jeg lavede, monterede jeg kredsløbet i mit hus, og alt passede godt som du kan se her.
Med mit smarte stik klar til handling gik jeg til min router, spores ledningen for at finde dens adapter. Derefter fjernede jeg det fra stikkontakten og tilsluttede smartstikket til det samme stik og tændte det. Nu tilsluttede jeg adapteren tilbage til vores smarte stik og sådan kan jeg herefter styre den fra min telefon. På samme måde kan du styre enhver strømforsyning med lav effekt i dit hjem og have det sjovt.
Komplet kode kan downloades herfra, og arbejdsvideo til dette DIY-smarte stikkontakt findes nederst på denne side. Håber du nød projektet, lad mig vide i kommentarfeltet, hvad du ville automatisere med denne enhed. Hvis du har spørgsmål, skal du lade dem være i forummet, og jeg vil gøre mit bedste for at besvare dem.