- Cerințe prealabile:
- Concept de lucru:
- Programul Arduino IDE pentru ESP8266:
- Diagrama circuitului și hardware-ul:
- Redirecționarea portului IP-ului dvs. ESP8266:
- Instalarea aplicației Android Moni:
- Crearea de applet-uri folosind serviciul IFTTT:
- Testarea proiectului:
Bine ați venit la un alt proiect interesant în care vom construi un sistem de automatizare casnică controlat prin voce utilizând modulul Wi-Fi ESP8266, unde vă puteți controla aparatele de curent alternativ folosind aplicația Voice de la o aplicație Android de oriunde din lume. Da, visul tău de a face ca încărcăturile tale (Light / Fans) să pornească sau să se oprească prin simpla utilizare a unei comenzi vocale se va împlini la sfârșitul acestui proiect. Acest proiect este varianta proiectului nostru anterior Junction Box inteligent pentru automatizare la domiciliu, unde am controlat aparatele electrocasnice folosind Webserver prin rețea.
Acest proiect de automatizare la domiciliu controlat prin voce bazat pe IOT este foarte ușor de construit și nu vă costă mult, deoarece nu vă cere să cumpărați module vocale costisitoare. Întregul proiect a necesitat în jur de 500 INR (8 USD) pentru ca eu să îl construiesc. De asemenea, acesta este un proiect independent de microcontroler, ceea ce înseamnă că nu aveți nevoie de MCU / MP, cum ar fi Arduino sau Raspberry pi. Întregul proiect rulează pe modulul ESP8266. Aflați mai multe despre ESP8266 aici. Deci, să începem să vorbim….
Anterior am acoperit multe tipuri de automatizări casnice folosind diferite tehnologii, cum ar fi:
- Automatizare la domiciliu bazată pe DTMF
- Automatizare la domiciliu bazată pe GSM folosind Arduino
- Automatizare casnică controlată de PC folosind Arduino
- Automatizare casnică controlată prin Bluetooth folosind 8051
- Domotică IR controlată la distanță folosind Arduino
- proiect de automatizare a casei folosind MATLAB și Arduino
- LED-uri cu telecomandă RF folosind Raspberry Pi
- Domotică controlată prin telefon inteligent folosind Arduino
Cerințe prealabile:
Acest proiect este o continuare a proiectului nostru anterior Smart Junction Box pentru Home Automation folosind ESP8266, astfel încât cea mai mare parte a piesei hardware a fost deja acoperită în acel tutorial. Vă rugăm să citiți acest lucru înainte de a continua cu acesta, deoarece voi ignora informațiile acoperite în acel tutorial. Pentru a face o mică recapitulare a proiectului nostru anterior, am modificat o cutie Junction (Extension Board) în acel tutorial care ar putea consola o placă Perf care constă din două relee și modulul ESP8266. Cele două relee (încărcări de curent alternativ) pot fi comutate utilizând o pagină web creată de ESP8266 (acționând ca un server web). În acest tutorial voi adăuga doar câteva caracteristici, astfel încât să putem controla și încărcările AC utilizând comanda vocală prin Smart Phone.Nu vom acoperi nicio parte Hardware din acest tutorial, hardware-ul și Codul vor rămâne aceleași cu cele ale tutorialului anterior.
Știind, de asemenea, cum să folosiți www.IFTTT.com, veți avea un avantaj în acest proiect. Dacă nu sunteți familiarizați cu IFTTT, nu vă faceți griji, vă voi explica cum să îl utilizați pentru acest tutorial special, astfel încât să îl puteți funcționa.
Concept de lucru:
Presupun că ați citit tutorialul anterior, în acest caz acum ar trebui să știți cum să construiți acea cutie de joncțiune și cum să comutați încărcările de la distanță din browserul dvs. web. Pentru a face acest lucru posibil, am pus la dispoziția publicului adresa noastră IP alocată ESP8266. Acest lucru se poate face cu „tehnica de redirecționare a porturilor”. Apoi instalați o aplicație mobilă numită „Moni” pe dispozitivul dvs. mobil Android / IPhone. Această aplicație ne va recunoaște vorbirea și va comunica informațiile către applet-urile IFTT, care la rândul lor vor controla încărcările prin cârlige Web Maker.
S-ar putea să pară puțin obositor, dar toate aceste lucruri au fost explicate clar în acest tutorial și aveți încredere în mine cu câteva clicuri, toate cele de mai sus pot fi făcute. Acest tutorial vă va ajuta în cel mai bun mod posibil cu ajutorul imaginilor și videoclipurilor. La sfârșitul acestui tutorial, veți putea să vă porniți sau dezactivați aparatele electrocasnice prin vocea dvs. de oriunde din lume. Verificați codul complet și videoclipul demonstrativ la sfârșitul tutorialului.
De asemenea, verificați Luminile controlate prin voce folosind Raspberry Pi și tastarea vocală pe ecranul LCD 16x2.
Programul Arduino IDE pentru ESP8266:
La fel ca în proiectul anterior, vom programa modulul nostru ESP8266 cu ajutorul Arduino IDE. Există o ușoară modificare făcută în program. Această modificare este făcută astfel încât ESP8266 să se conecteze la o adresă IP constantă de fiecare dată când stabilește o conexiune cu routerul. Programul este exact același cu codul anterior, cu excepția acestor patru linii
// Obțineți un IP constant de fiecare dată IPAdress IP (192, 168, 0, 104); // Acesta ar trebui să fie adresa IP a gateway-ului IPAddress al modulului meu ESP (192, 168, 0, 1); // setați gateway-ul pentru a se potrivi rețelei dvs. cel mai mult gateway va fi același în mod implicit Serial.print (F ("Setarea ip-ului static la:")); Serial.println (ip); Subrețea IPAddress (255, 255, 255, 0); // setați masca de subrețea pentru a se potrivi cu rețeaua WiFi.config (ip, gateway, subrețea);
Aici, în locul IPAddress ip (192, 168, 0, 104); introduceți adresa IP dorită. În acest caz, ESP-ul meu va fi conectat tot timpul la 192.168.0.104 și îl pot accesa pur și simplu folosind acest IP în browserul meu. Codul complet dat la sfârșitul acestui tutorial.
Diagrama circuitului și hardware-ul:
Schemele și hardware-ul pentru acest aparat de uz casnic controlat prin voce bazat pe IoT sunt aceleași cu proiectul nostru anterior Smart Junction și am explicat schema de acolo cu amabilitate. Aici puteți vedea schema completă pentru referință:
Redirecționarea portului IP-ului dvs. ESP8266:
Primul pas este să activați redirecționarea portului în router (modem), astfel încât să puteți accesa ESP-ul dvs. de oriunde din lume, doar prin introducerea IP-ului public. Ori de câte ori ESP8266 se conectează la routerul nostru de acasă / birou, i se va da o adresă IP unică și această adresă IP este utilizată pentru a accesa ESP8266 prin browserul web. Această adresă IP este restricționată în rețeaua dvs. de acasă / birou, ceea ce înseamnă că nu o puteți accesa la nivel global; poate fi accesat numai de dispozitivele conectate la router. Redirecționarea porturilor este tehnica prin care putem face ca această pagină web să se încarce la nivel global. După redirecționarea porturilor, vă puteți utiliza IP-ul public pentru a accesa această pagină web de oriunde din lume. Sună bine chiar !! Să vedem cum putem realiza acest lucru. Pentru a face acest lucru, știți următoarele în prealabil.
1. Numele producătorului și adresa IP a routerului. Acest lucru poate fi ușor găsit uitându-vă la router. Adresa IP va fi, de asemenea, menționată pe un autocolant. Dacă nu, Google să vă cunoască adresa IP a routerelor.
2. Numele de utilizator și parola paginii de conectare a routerelor. Majoritatea routerelor vor avea numele de utilizator ca „administrator” și parola ca „administrator”.
3. Adresa IP alocată modulului dvs. ESP8266. Aceasta este adresa pe care o utilizați pentru a accesa pagina web a modulului ESP.
4. Adresa IP a furnizorului dvs. de servicii Internet (adresa IP publică). Acest lucru poate fi găsit prin simpla Goggling „care este IP-ul meu”.
Odată ce aveți totul la îndemână, puteți urma pașii de mai jos pentru a redirecționa portul, dacă sunteți blocat de a găsi ceva, folosiți secțiunea de comentarii de mai jos. Te voi ajuta.
Pasul 1: Conectați-vă la pagina de utilitate de administrare web a routerelor dvs. utilizând adresa IP a routerului dvs., în general este 192.168.1.1. Ecranul meu va arăta așa mai jos
Pasul 2: Introduceți numele de utilizator „admin” în mod implicit și parola „admin” în mod implicit și faceți clic pe Autentificare. Veți fi condus la pagina de utilitate care va arăta cam așa mai jos.
Majoritatea informațiilor pe care le vedeți aici sunt foarte confidențiale, prin urmare nu le împărtășiți cu alte persoane necunoscute, altfel v-ați putea risca securitatea internetului.
Pasul 3: După cum se arată mai sus, pagina dvs. va avea toate opțiunile listate în partea stângă jos. Scopul nostru este să găsim ceva numit „Servere virtuale”. Am al meu listat sub opțiunea Redirecționare. Cele mai multe routere vor fi ele enumerate ca 6, 7 sau 8 - lea opțiune (cea mai mare parte de mai jos setare DHCP). Găsiți-l și faceți clic pe el
Pasul 4: Acum trebuie să introduceți adresa IP alocată modulului ESP și numărul portului pentru a redirecționa IP-ul nostru. În cazul meu, trebuie să fac clic pe Adăugare nouă și să introduc acele detalii. S-ar putea să fie ușor diferit pentru dvs. Adresa IP este cea pe care o utilizați pentru a accesa pagina web a modulului dvs. ESP. Numărul portului poate fi la alegere, dar permiteți-ne să folosim „80” în scopul simplității. IP-ul alocat modulului meu ESP8266 este 192.168.0.104 și, prin urmare, redirecționarea mea va arăta ceva mai jos:
Pasul 5: Acum trebuie să știm adresa noastră IP publică. Puteți găsi acest Goggling pentru „Care este IP-ul meu”. IP-ul dvs. ISP ar trebui să fie păstrat extrem de confidențial. De dragul acestui tutorial, să presupunem că adresa mea IP este 987: 654: 321: 123 Voi folosi acest lucru ca IP-ul meu ISP pentru restul tutorialului.
Notă: Este posibil ca ISP să vă fi furnizat un IP static / dinamic, dacă este un IP dinamic, IP-ul dvs. se va schimba la fiecare repornire a modemului / routerului. În acest caz, trebuie să folosiți ceva de genul DynDNS. Dar, acest lucru nu intră în sfera acestui tutorial. Chiar dacă este un IP dinamic, acesta va funcționa atât timp cât nu vă resetați routerul.
Adică redirecționarea porturilor noastre este reușită, putem verifica dacă introducem IP-ul ISP: portname (987: 654: 321: 123: 80) în browserul nostru și verificăm dacă pagina web ESP se încarcă. Dacă totul merge așa cum era de așteptat, acum ar trebui să puteți comuta încărcările de oriunde din lume utilizând adresa IP a ISP-ului.
Instalarea aplicației Android Moni:
Moni este o aplicație disponibilă pentru Android, Windows, iTunes și chiar Skype. Puteți descărca această aplicație pe telefonul mobil. Moni.ai are mult mai multe capacități decât să răspundă la comenzile dvs. vocale, este foarte ușor de dezvoltat și puteți defini rapid conversațiile vizuale și vă puteți conecta la servicii. Moni.ai folosește o aplicație numită Node-Red cu ajutorul căreia puteți crea cu ușurință un canal vocal și vă puteți construi propriul sistem Chabot (AI) pentru afacerea / proiectele dvs. și îl puteți automatiza cu limbajul natural. Cel mai bun lucru este că Moni este complet gratuit pentru utilizare necomercială.
Folosesc un telefon Android și, prin urmare, descarc direct Moni din magazinul Google Play. După instalare, creați-vă contul gratuit și conectați-vă la acesta, aplicația dvs. ar trebui să arate cam așa mai jos:
Puteți utiliza acest lucru ca orice alt asistent virtual, cum ar fi să solicitați vreme, oră etc. Dar ceea ce este suplimentar este că poate răspunde la applet-urile create de serviciul dvs. Ifttt. Să vedem cum să creăm applet-uri pentru aplicația dvs. acum.
Crearea de applet-uri folosind serviciul IFTTT:
Suntem la un pas de finalizarea acestui proiect. Ultimul pas este crearea appleturilor pe site-ul web IFTTT. Aici îi instruim Moni-ului nostru pentru diferite comenzi vocale pentru a controla diferite aparate de uz casnic.
Folosesc această cutie de conexiune controlată prin voce pentru a comuta încărcările din acvariu (lumină / filtru) așa cum se arată în videoclipul de mai jos. Prin urmare, personalizez applet-ul pentru acea cerință, îl puteți personaliza pentru scopul dvs. Urmați pașii de mai jos:
Pasul 1: Accesați www.IFTTT.com și conectați-vă cu contul dvs. Dacă este nou, atunci Înscrieți-vă.
Pasul 2: Acum faceți clic pe „Căutare” și tastați Creați webhooks. Selectați-l și faceți clic pe „Conectare”. Urmați pașii pentru a vă conecta.
Pasul 3: Acum faceți din nou clic pe „Căutare” și tastați Moni. Selectați Moni și faceți clic pe „Conectare”. Conectați-vă cu contul dvs. IFTTT pentru a activa conexiunea.
Pasul 4: Ne-am conectat la serviciile „Maker Webhooks” și „Moni”. Acum permiteți-vă să creați un applet cu aceste servicii. Faceți clic pe Appletele mele și apoi pe „Applet nou”. Ar trebui să vedeți așa ceva:
În acest ecran trebuie să faceți clic pe „aceasta” și să selectați „Moni”. Apoi faceți clic pe „Cereți lui Moni să efectueze o acțiune”, veți fi dus la ecranul de mai jos.
Pasul 5: Completați detaliile așa cum am completat în imaginea de mai sus. Aici sarcina mea este să aprind luminile pentru acvariu (încărcare 1) când spun „Porniți luminile pentru acvariu”. Apoi faceți clic pe „Create Trigger”
Pasul 6: Veți fi readus la ecranul „IF THAN THAN THAN”. Acum, faceți clic pe „that” și tastați „Maker Webhooks” și selectați-l. Apoi faceți clic pe „Faceți o solicitare web”. Veți fi condus la ecranul de mai jos
Acesta este un pas important în care este cel mai probabil să greșiți. În această pagină, introduceți doar adresa URL pe care doriți să o încărcați. În cazul meu, vreau să pornesc încărcarea conectată la switch1, prin urmare se folosește linia http: // 987: 654: 321: 123 / switch1On, trebuie să înlocuiți IP-ul meu cu adresa IP publică. Acest lucru va funcționa numai dacă ați folosit codul meu în tutorialul anterior. Lista completă a URL-ului pentru a comuta încărcările este prezentată mai jos.
URL |
Cuvânt cheie din program |
Acțiune |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 este ridicat, pornind astfel ON Load 1 |
http: // 987: 654: 321: 123 / switch1Off |
Switch1Off |
GPIO_0 este redus, decuplând astfel Încărcare 1 |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 este ridicat, pornind astfel ON Load 2 |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 este redus, astfel dezactivând Load 1 |
După ce ați introdus adresa URL dorită, faceți clic pe „Creați acțiune”. Apoi faceți clic pe Finalizare. În mod similar, puteți crea 4 applet-uri pentru a activa / dezactiva ambele încărcări din cutia noastră de conexiuni.
Adică aplicația dvs. este gata de acțiune și ar trebui să apară în „Aplicațiile mele”, așa cum se arată mai jos.
E timpul să ne testăm codul…….
Testarea proiectului:
În cele din urmă, suntem gata cu proiectul nostru. Să-l testăm. Porniți-l și deschideți aplicația Moni pe telefonul dvs. mobil. Faceți clic pe pictograma Microfon și rostiți comanda. În cazul meu, este „Porniți luminile pentru acvariu” și ar trebui să răspundă cu „OK” și să aprindă luminile. Verificați codul complet și videoclipul de mai jos.
Sper că ți-a plăcut proiectul și l-ai pus în funcțiune. Dacă sunteți blocat undeva, utilizați secțiunea de comentarii de mai jos și cu siguranță vă voi ajuta. Vă vom întâlni cu un alt proiect interesant până atunci rămâneți la curent.
Verificați și celelalte proiecte bazate pe IoT aici.