- ESP pametni vtič za avtomatizacijo doma
- Potrebni materiali
- Program pametnega vtiča za ESP8266
- Shema vezja
- 3D tiskano ohišje za pametno vtičnico
Odkar sem začel delati z moduli ESP Wi-Fi, sem si vedno želel zgraditi pametno vtičnico Wi-Fi, ki mi omogoča brezžično krmiljenje izmeničnih tokov prek pametnega telefona. Izdelki, kot so ti, so že na voljo na trgu, kot sta priljubljena Moko WiFi Smart Plug ali Sonoff, so nekoliko dragi, poleg tega pa vam ne prinese veselja do gradnje lastnih. V tem projektu vam bom pokazal, kako lahko z uporabo modula ESP8266 Wi-Fi zgradite svoj lasten pametni vtič. Napravo, ki smo jo zgradili, lahko enostavno priključite v katero koli izhodno vtičnico, nato pa lahko na drugi strani povežete dejansko obremenitev, tako da jo priključite v to vtičnico na naši napravi. Po tem imejte glavno stikalo vtičnice vedno vklopljeno in lahko naložite nadzor neposredno iz pametnega telefona. Zabavno kajne? Torej, pojdimo v projekt….
ESP pametni vtič za avtomatizacijo doma
Izdelali smo že nekaj projektov avtomatizacije stanovanj, od preproste RF avtomatizacije na dom do moje najljubše avtomatizacije domovih z glasovnim nadzorom. Toda danes je zahteva tega projekta nekoliko drugačna.
Tukaj je namen vklop / izklop usmerjevalnika Wi-Fi s samo uporabo pametnega telefona neposredno z delovne postaje. Ker včasih moja internetna povezava propade in ko pokličem službo za pomoč strankam, je standardni odgovor, ki ga dobim: "Gospod, žal mi je za nastale nevšečnosti. Prosimo, znova zaženite usmerjevalnik, tako da ga izklopite in nato po nekaj sekundah ponovno vklopite ” Puffff! Utrujen sem se vsakič sprehoditi do usmerjevalnika, sem se odločil zgraditi ta wifi pametni vtič in z njim upravljati svoj usmerjevalnik.
Ampak, počakaj malo! Ko izklopim usmerjevalnik, ne bom več imel dostopa do interneta. Torej, kako ga bom ponovno vklopil na daljavo? Na srečo lahko naš ESP8266 uporabimo kot dostopno točko, kar pomeni, da lahko deluje tudi kot usmerjevalnik s pošiljanjem lastnega wi-fi signala. Ta signal Wi-Fi bo vedno na voljo, dokler se napaja ESP8266. Zato bomo naš ESP8266 programirali kot ujetniški portal, tako da se bomo, ko se bomo povezali z Wi-Fi signalom ESP-ja, preusmerili na spletno stran, kjer bomo lahko vklopili / izklopili tovor.
Potrebni materiali
1. Modul Wi-Fi ESP8266
2. Pretvornik izmeničnega toka v enosmerni tok (3,3 V)
3. Rele 3V
4. NPN tranzistor BC547
5. Modul FTDI programer
6. Arduino Wi-Fi ščit
7. Priključitev žic
Opomba: Uporabljamo ta Arduino Wi-Fi Shield, ki smo ga zgradili prej. Plošča se uporablja samo za nalaganje kode Arduino v modul ESP8266. Če te plošče nimate, jo lahko sestavite s pomočjo povezave in uporabite to preprosto vezje programerja ESP8266 za nalaganje kode.
Program pametnega vtiča za ESP8266
Preden nadaljujemo, se potopimo naravnost v program, da bomo razumeli, kako bo naš pametni vtič DIY WiFi deloval. Kot lahko vidite, program začnemo z vključitvijo nekaj datotek z glavo in nastavitvijo omrežnega strežnika DNS
#include
Nato inicializiramo GPIO pin 2 ESP kot izhod, ki bo uporabljen za nadzor naše obremenitve. Nato imamo dolgo kodo HTML za našo spletno stran. Tu imamo na naši spletni strani v celoti tri zaslone, in sicer začetni zaslon, vklopljen in izklopljen zaslon.
String Home_Screen = "" // Stran 1 - HTML koda začetnega zaslona "" " " + style_detials + "
""Dobrodošli - CircuitDigest
"" "; String ON_Screen =" "// Stran 2 - Če je naprava vklopljena" "" "+ style_detials +" ""Pametni vtič - vklopljen
"" "; String OFF_Screen =" "// Stran 3 - Če je naprava izklopljena " " " " + style_detials + " " "Pametni vtič - izklopljen
" " ";Te tri spletne strani se ob odprtju prikažejo nekako takole. Svojo spletno stran lahko prilagodite tako, da je videti tako, kot vam je všeč.
Nato imamo svojo funkcijo za nastavitev praznine, v kateri definiramo naš ESP, da deluje kot dostopna točka, in tu določimo tudi njegovo ime, tukaj “ESP_Smart_Plug”. Ko se kateri koli uporabnik poveže s tem Wi-Fi, bo preusmerjen na domačo stran, ki smo jo določili prej.
pinMode (LED_BUILTIN, IZHOD); // LED zatič kot izhod za indikacijski pinMode (GPIO_2, IZHOD); // GPIO pin kot izhod za nadzor releja WiFi.mode (WIFI_AP); // ESP nastavimo v načinu AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Poimenujte omrežje AP dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Odpri začetni zaslon privzeto webServer.send (302, "text / plain", ""); });
Če uporabnik klikne gumb VKLOP, se na domači strani prikaže stran na zaslonu in zatič GPIO 2 bo postavljen visoko
// ON_Screen webServer.on ("/ relay_ON", () {// Če je gumb za vklop pritisnjen digitalWrite (LED_BUILTIN, LOW); // Izklop LED digitalWrite (GPIO_2, HIGH); // Izklop releja webServer.send (200, "text / html", ON_Screen); // Prikaži ta zaslon });
Podobno, če uporabnik klikne gumb za izklop, se prikaže stran za izklop in zaslon GPIO 2 bo nastavljen na LOW.
// OF_Screen webServer.on ("/ relay_OFF", () {// Če je gumb za izklop pritisnjen digitalWrite (LED_BUILTIN, HIGH); // Vklop LED digitalWrite (GPIO_2, LOW); // Vklop releja webServer.send (200, "text / html", OFF_Screen); // Prikaži ta zaslon });
Celotno kodo skupaj s knjižničnimi datotekami lahko prenesete v obliki datoteke ZIP s spodnje povezave. Zdaj, ko je naša koda pripravljena, jo lahko naložimo v naš modul ESP s preprostim klikom na gumb za nalaganje in nato počakamo, da se koda naloži. Celoten program skupaj s knjižničnimi datotekami lahko prenesete s spodnje povezave
ESP8266 Pametni vtič - Prenos kode Arduino
Tisti, ki imajo zaščito Wi-Fi, lahko preprosto priključijo vaše module, kot je prikazano zgoraj, in ga povežejo z računalnikom, da začnejo programirati naš ESP8266 z uporabo Arduino IDE. Ljudje, ki nimajo te plošče, lahko uporabljajo shemo vezij, kot smo že omenili.
Ko je koda naložena, poiščite omrežja Wi-Fi v telefonu in našli bi signal z imenom »ESP_Smart_Plug«. Povežite se z njo in preusmerjeni boste na spletno stran, ki smo jo pravkar oblikovali. Tukaj, ko pritisnete gumb za izklop, bi morali opaziti, da se LED na naši plošči ESP izklopi, in ko pritisnete gumb za vklop, se mora LED ponovno vklopiti.
Potem ko smo še nekajkrat preverili kodo, za ta projekt ne bomo več potrebovali programske plošče. Zdaj moramo zgraditi vezje za napajanje našega modula ESP neposredno iz omrežne napetosti in uporabiti njegov GPIO zatič za preklop releja. Za izdelavo tega vezja sem uporabil pretvorniški modul AC-DC podjetja Hi-Link, ki pretvori izmenično omrežno napetost v 3,3 V enosmernega toka z izhodnim tokom 900 mA, ki zadostuje za napajanje modula ESP prek omrežja. Rele na izhodni strani je 3,3V rele, ki ga lahko prek tranzistorja, kakršen je ta BC547, krmilite z GPIO zatičem ESP. Za omejitev osnovnega toka našega tranzistorja bomo potrebovali tudi 1k upor.
Shema vezja
Celoten diagram vezja za pametni vtič Wi-Fi bi bil videti tako.
Preko tega vtiča bomo dobili omrežje AC za napajanje našega projekta. Druge komponente so tiste, ki so razložile eariler. Druga pomembna stvar, na katero se je treba osredotočiti, je vzdrževanje GPIO-0 in GPIO-2 na visoki ravni med zagonom. V nasprotnem primeru bo modul ESP vstopil v način programiranja in izhodna koda ne bo delovala. Zato sem uporabil 10k (vrednosti lahko med 3.3k do 10k) upor, da je privzeto povlekel zatič GPIO visoko. Namesto BC547 lahko uporabite tudi tranzistor PNP in preklapljanje releja z visoke strani. S pripravljenim vezjem sem načrtoval, kako te komponente spajkati, tako da bo velikost plošče čim manjša, da se bo prilegala majhnemu ohišju in nadaljevala s spajkanjem plošče.
3D tiskano ohišje za pametno vtičnico
Nato sem z uporabo nonierja izmeril dimenzije plošče in izmeril tudi dimenzije vtiča in vtičnice za oblikovanje ohišja za moj pametni vtič. Ko je bila izvedena, je bila moja zasnova spodaj videti nekako takole.
Ko sem bil zadovoljen z dizajnom, sem ga izvozil kot datoteko STL, ga razrezal glede na nastavitve tiskalnika in na koncu natisnil. Datoteka STL je na voljo tudi za prenos s spletnega mesta thingiverse in z njo lahko natisnete lastno ohišje.
Po končanem tisku sem bil z rezultatom zelo zadovoljen. Nato sem nadaljeval z dodajanjem žic na ploščo in jih tudi privil na napajalne sponke in vtičnico. S popolno vzpostavljeno povezavo sem sestavil vezje v ohišje in vse je bilo lepo, kot lahko vidite tukaj.
S pametnim vtičem, pripravljenim za akcijo, sem šel do usmerjevalnika in poiskal njegovo žico, da bi našel adapter. Potem sem ga odstranil iz vtičnice in pametni vtič priklopil na isto vtičnico ter ga vklopil. Zdaj sem adapter ponovno priključil na naš pametni vtič in tako ga lahko odslej nadzorujem s telefona. Na enak način lahko nadzorujete kakršno koli AC napetost v vašem domu in se zabavate.
Popolno kodo lahko prenesete od tukaj, na dnu te strani pa najdete delovni video za to pametno vtičnico DIY. Upam, da vam je projekt všeč, v oddelku za komentarje sporočite, kaj bi avtomatizirali s to napravo. Če imate kakršna koli vprašanja, jih pustite na forumu in potrudil se bom odgovoriti nanje.