- Plug inteligent ESP pentru automatizare la domiciliu
- Materiale necesare
- Program Smart Plug pentru ESP8266
- Diagrama circuitului
- Carcasă imprimată 3D pentru priză inteligentă
De când am început să lucrez cu modulele ESP Wi-Fi, am dorit întotdeauna să construiesc o priză Wi-Fi inteligentă care să-mi permită să-mi controlez încărcările de rețea fără fir prin intermediul unui telefon inteligent. Deși astfel de produse sunt deja disponibile pe piață, cum ar fi popularul Moko WiFi Smart Plug sau Sonoff, acestea sunt cam scumpe și, pe deasupra, nu vă oferă bucuria de a vă construi propriile. Deci, în acest proiect vă voi arăta cum vă puteți construi propria mufă inteligentă utilizând modulul Wi-Fi ESP8266. Dispozitivul pe care l-am construit poate fi conectat cu ușurință la orice priză CA care iese și apoi la celălalt capăt puteți conecta sarcina reală pur și simplu conectând-o la această priză de pe dispozitivul nostru. După aceea, păstrați întotdeauna comutatorul principal al soclului și puteți controla încărcarea direct de pe smartphone. Distracție nu? Deci, hai să intrăm în proiect…
Plug inteligent ESP pentru automatizare la domiciliu
Am construit deja o mână de proiecte de automatizare a locuințelor, de la automatizarea casnică bazată pe RF până la automatizarea de domiciliu controlată prin voce a asistentului Google preferat. Dar astăzi, cerința acestui proiect este ușor diferită.
Aici, scopul este de a porni / opri routerul meu Wi-Fi doar folosind Smartphone-ul direct de pe stația mea de lucru. Deoarece uneori conexiunea mea la internet cade și când apelez la serviciul de asistență pentru clienți, răspunsul standard pe care îl primesc este „Domnule, îmi pare rău pentru neplăcerile cauzate. Vă rugăm să reporniți routerul, oprindu-l și apoi pornindu -l din nou după câteva secunde ” Puffff! Obosit de a mă îndrepta către router de fiecare dată, am decis să construiesc acest conector inteligent wifi și să-mi controlez routerul folosindu-l.
Dar, așteaptă un minut! Nu voi mai avea acces la internet odată ce opresc routerul. Deci, cum îl voi activa din nou de la distanță? Din fericire, ESP8266 poate fi folosit ca punct de acces, ceea ce înseamnă că poate acționa și ca un router, trimițându-și propriul semnal wi-fi. Acest semnal Wi-Fi va fi întotdeauna disponibil atâta timp cât ESP8266 este alimentat. Prin urmare, vom programa ESP8266 ca un portal captiv, astfel, odată ce ne-am conectat la semnalul Wi-Fi ESP, vom fi direcționați către o pagină web de unde ne putem activa / opri încărcarea.
Materiale necesare
1. Modul Wi-Fi ESP8266
2. Hi-Link Convertor AC-DC (3,3V)
3. Releu 3V
4. Tranzistorul NPN BC547
5. Modulul programator FTDI
6. Scut Arduino Wi-Fi
7. Conectarea firelor
Notă: Folosim acest Arduino Wi-Fi Shield pe care l-am construit mai devreme. Placa este utilizată doar pentru a încărca codul Arduino în modulul ESP8266. Dacă nu aveți această placă, puteți construi una folosind linkul de utilizare a acestui simplu circuit de programare ESP8266 pentru a vă încărca codul.
Program Smart Plug pentru ESP8266
Înainte de a continua mai departe, să ne aruncăm direct în program pentru a înțelege cum va funcționa mufa noastră inteligentă WiFi WiFi. După cum puteți vedea aici, începem programul prin includerea câtorva fișiere antet și configurarea unui server de rețea DNS
#include
Apoi inițializăm pinul GPIO 2 al ESP ca ieșire care va fi folosit pentru a ne controla încărcarea. După care avem un cod HTML lung pentru pagina noastră web. Aici avem în totalitate trei ecrane pe pagina noastră web și anume ecranul de pornire, ecranul și ecranul Off.
String Acasă_Screen = "" // Pagina 1 - Cod HTML ecran principal "" " " + stil_detalii + "
""Bine ați venit - CircuitDigest
"" "; String ON_Screen =" "// Pagina 2 - Dacă dispozitivul este pornit" "" "+ style_detials +" ""Smart Plug - Activat
"" "; String OFF_Screen =" "// Pagina 3 - Dacă dispozitivul este oprit " " " " + style_detials + " " "Smart Plug - OPRIT
" " ";Aceste trei pagini web atunci când sunt deschise vor apărea cam așa. Puteți să vă personalizați pagina web pentru a apărea așa cum doriți.
Apoi avem funcția noastră de configurare nulă în interiorul căreia definim ESP-ul nostru pentru a funcționa ca un punct de acces și, de asemenea, îi oferim un nume, aici „ESP_Smart_Plug”. Când un utilizator se conectează la acest Wi-Fi, acesta va fi dus la pagina de pornire pe care am definit-o mai devreme.
pinMode (LED_BUILTIN, OUTPUT); // Pin LED ca ieșire pentru indicarea pinMode (GPIO_2, OUTPUT); // Pin GPIO ca ieșire pentru controlul releu WiFi.mode (WIFI_AP); // Setați ESP în modul AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Denumiți rețeaua AP dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader („Locație”, șir („http://www.circuitdigest-automation.com/home.html”), adevărat); // Deschideți ecranul principal în mod implicit webServer.send (302, „text / simplu”, „„); });
Pe pagina de pornire, dacă utilizatorul face clic pe butonul PORNIT, va fi afișată pagina de pe ecran și pinul GPIO 2 va fi setat la înălțime
// ON_Screen webServer.on ("/ relay_ON", () {// Dacă butonul de pornire este apăsat digitalWrite (LED_BUILTIN, LOW); // Dezactivează LED digitalWrite (GPIO_2, HIGH); // Dezactivează Relay webServer.send (200, "text / html", ON_Screen); // Afișați acest ecran });
În mod similar, dacă utilizatorul face clic pe butonul oprit, va fi afișată pagina de pe ecranul oprit și pinul GPIO 2 va fi setat LOW.
// OF_Screen webServer.on ("/ relay_OFF", () {// Dacă butonul de oprire este apăsat digitalWrite (LED_BUILTIN, HIGH); // Porniți LED digitalWrite (GPIO_2, LOW); // Porniți Relay webServer.send (200, "text / html", OFF_Screen); // Afișați acest ecran });
Codul complet împreună cu fișierele bibliotecii pot fi descărcate ca fișier ZIP de pe linkul de mai jos. Acum că codul nostru este gata, îl putem încărca în modulul nostru ESP făcând clic pe butonul de încărcare și apoi așteptăm ca codul să fie încărcat. Programul complet împreună cu fișierele bibliotecii pot fi descărcate de pe linkul de mai jos
ESP8266 Smart Plug - Descărcare cod Arduino
Cei care au ecranul Wi-Fi pot pur și simplu să conecteze modulele împreună așa cum se arată mai sus și să îl conecteze la computer pentru a începe programarea ESP8266 utilizând ID-ul Arduino. Persoanele care nu au această placă pot folosi schema de circuite așa cum am menționat anterior.
Odată ce codul este încărcat, căutați rețele Wi-Fi pe telefonul dvs. și ar trebui să găsiți un semnal numit „ESP_Smart_Plug”. Conectați-vă la acesta și veți fi condus la pagina web pe care tocmai am proiectat-o. Aici, atunci când apăsați butonul de oprire, ar trebui să observați LED-ul de pe placa noastră ESP oprit și când apăsați butonul de pornire, LED-ul ar trebui să se aprindă din nou.
După verificarea codului de câteva ori, nu vom mai avea nevoie de placa de programare pentru acest proiect. Acum, trebuie să construim un circuit pentru a alimenta modulul ESP direct de la tensiunea de rețea și să folosim pinul GPIO pentru a comuta un releu. Pentru a construi acest circuit, am folosit un modul convertor AC-DC de la Hi-Link care convertește tensiunea de rețea AC la 3,3V DC cu un curent de ieșire de 900mA suficient pentru a alimenta modulul ESP prin rețea. Releul lateral de ieșire este un releu de 3,3 V care poate fi controlat de pinul GPIO al ESP printr-un tranzistor ca acesta BC547. De asemenea, vom avea nevoie de un rezistor de 1k pentru a limita curentul de bază al tranzistorului nostru.
Diagrama circuitului
Schema completă a circuitului pentru mufa inteligentă Wi-Fi ar arăta astfel.
Rețeaua de curent alternativ pentru alimentarea proiectului nostru va fi obținută prin acest conector. Celelalte componente sunt cele care au explicat eariler. Un alt lucru important de concentrat este să mențineți GPIO-0 și GPIO-2 la înălțime în timp ce porniți. Altfel, modulul ESP va intra în modul de programare și codul de ieșire nu va funcționa. Prin urmare, am folosit un rezistor de 10k (se pot utiliza valori între 3,3k și 10k) pentru a trage pinul GPIO în mod implicit. Alternativ, puteți utiliza, de asemenea, un tranzistor PNP în locul BC547 și comutarea releului din partea înaltă. Cu schema de circuite gata, am planificat cum să lipesc aceste componente păstrând dimensiunea plăcii cât mai mică posibil, astfel încât să se potrivească într-o carcasă mică și să procedeze la lipirea plăcii.
Carcasă imprimată 3D pentru priză inteligentă
Apoi am măsurat dimensiunile plăcii folosind vernierul meu și am măsurat și dimensiunile fișei și soclului pentru a proiecta o carcasă pentru fișa mea inteligentă. Designul meu arăta cam așa mai jos odată ce a fost finalizat.
După ce am fost mulțumit de design, l-am exportat ca fișier STL, l-am feliat pe baza setărilor imprimantei și l-am tipărit în cele din urmă. Din nou, fișierul STL este, de asemenea, disponibil pentru descărcare de la thingiverse și puteți imprima propria carcasă folosindu-l.
După ce s-a terminat tipărirea, am fost destul de mulțumit de rezultat. Apoi am continuat cu adăugarea firelor la placa mea și, de asemenea, le-am înșurubat la bornele de alimentare și la priză. Odată cu conexiunea completă, am asamblat circuitul în carcasă și totul a fost potrivit, așa cum puteți vedea aici.
Cu mufa mea inteligentă gata de acțiune, m-am dus la router, i-am urmărit firul pentru a-i găsi adaptorul. Apoi l-am scos din priză și am conectat mufa inteligentă la aceeași priză și am pornit-o. Acum am reconectat adaptorul la mufa noastră inteligentă și așa o pot controla în continuare de pe telefonul meu. În același mod puteți controla orice încărcare de curent alternativ de mică putere în casa dvs. și să vă distrați.
Codul complet poate fi descărcat de aici, iar videoclipurile de lucru pentru această priză inteligentă DIY pot fi găsite în partea de jos a acestei pagini. Sper că ți-a plăcut proiectul, anunță-mă în secțiunea de comentarii ce ai automatiza cu acest dispozitiv. Dacă aveți întrebări, lăsați-le pe forum și voi încerca tot posibilul să le răspund.