- Predpoklady:
- Pracovná koncepcia:
- Program Arduino IDE pre ESP8266:
- Schéma zapojenia a hardvér:
- Port Forwarding vášho ESP8266 IP:
- Inštalácia aplikácie pre Android Moni:
- Vytváranie appletov pomocou služby IFTTT:
- Testovanie projektu:
Vitajte v ďalšom vzrušujúcom projekte, v ktorom vybudujeme systém domácej automatizácie ovládaný hlasom pomocou modulu Wi-Fi ESP8266, kde môžete ovládať svoje domáce spotrebiče pomocou svojho hlasu prostredníctvom aplikácie pre Android z ľubovoľného miesta na svete. Áno, na konci tohto projektu sa splní váš sen zapnúť alebo vypnúť vaše záťaže (svetlo / ventilátory) jednoduchým použitím hlasového príkazu. Tento projekt je variáciou nášho predchádzajúceho projektu Smart Junction Box for Home Automation, kde sme prostredníctvom siete ovládali domáce spotrebiče pomocou webového servera.
Tento projekt hlasovo riadenej domácej automatizácie založený na IOT je veľmi jednoduchý na zostavenie a nestojí vás veľa, pretože nevyžaduje, aby ste si kupovali akékoľvek nákladné hlasové moduly. Celý projekt mi trval asi 500 INR (8 USD). Tiež sa jedná o mikroradič nezávislý projekt, čo znamená, že nepotrebujete žiadne MCU / MP ako Arduino alebo Raspberry Pi. Celý projekt beží na module ESP8266. Viac informácií o ESP8266 sa dozviete tu. Takže poďme sa rozprávať….
Predtým sme pokryli mnoho typov domácich automatizácií pomocou rôznych technológií, ako sú:
- Domáca automatizácia založená na DTMF
- Domáca automatizácia založená na GSM pomocou Arduina
- Domáca automatizácia riadená počítačom pomocou Arduina
- Bluetooth riadená domáca automatizácia pomocou 8051
- IR diaľkovo ovládaná domáca automatizácia pomocou Arduina
- projekt domácej automatizácie pomocou programov MATLAB a Arduino
- RF diaľkovo ovládané LED diódy pomocou Raspberry Pi
- Smart Phone Controlled Home Automation using Arduino
Predpoklady:
Tento projekt nadväzuje na náš predchádzajúci projekt Smart Junction Box pre domácu automatizáciu pomocou ESP8266, takže väčšina hardvérovej časti už bola v tomto výučbe obsiahnutá. Pred pokračovaním v tomto si prosím prečítajte, pretože preskočím informácie uvedené v tomto návode. Aby sme priniesli malú rekapituláciu nášho predchádzajúceho projektu, v tomto tutoriáli sme upravili spojovaciu skrinku (Extension Board), ktorá dokázala podporiť dosku Perf pozostávajúcu z dvoch relé a modulu ESP8266. Tieto dve relé (striedavé záťaže) je možné prepínať pomocou webovej stránky vytvorenej systémom ESP8266 (pôsobením ako webový server). V tomto tutoriále doň len pridám niektoré funkcie, aby sme mohli ovládať aj zaťaženie striedavým prúdom pomocou hlasového príkazu cez Smart Phone.V tomto výučbe sa nebudeme zaoberať žiadnou hardvérovou časťou, hardvérom a kód zostane rovnaký ako v predchádzajúcom výučbe.
Vedieť, ako používať www.IFTTT.com, vám dá v tomto projekte navrch. Ak nie ste oboznámení s IFTTT, bez obáv vám vysvetlím, ako ho použiť pre tento konkrétny tutoriál, aby ste ho mohli uviesť do činnosti.
Pracovná koncepcia:
Predpokladám, že ste si prečítali predchádzajúci návod, v takom prípade by ste teraz mali vedieť, ako zostaviť spojovací box a ako vzdialene prepínať zaťaženie z vášho webového prehliadača. Aby to bolo možné, sprístupnili sme našu IP adresu pridelenú ESP8266 verejne. To je možné vykonať pomocou „techniky presmerovania portov“. Potom si nainštalujte mobilnú aplikáciu s názvom „Moni“ na mobilné zariadenie Android / IPhone. Táto aplikácia rozpozná našu reč a oznámi tieto informácie apletom IFTT, ktoré budú zase riadiť zaťaženie prostredníctvom webových háčkov výrobcu.
Môže to znieť trochu zdĺhavo, ale všetky tieto veci boli v tomto tutoriále vysvetlené jasne a vyššie uvedené je možné vykonať pomocou niekoľkých kliknutí. Tento návod vám pomôže najlepším možným spôsobom pomocou obrázkov a videí. Na konci tohto tutoriálu budete môcť zapnúť alebo vypnúť domáce spotrebiče pomocou vášho hlasu z ktoréhokoľvek miesta na svete. Skontrolujte celý kód a ukážkové video na konci tutoriálu.
Skontrolujte tiež svetlá ovládané hlasom pomocou Raspberry Pi a hlasového písania na displeji 16 x 2.
Program Arduino IDE pre ESP8266:
Rovnako ako v predchádzajúcom projekte budeme programovať náš modul ESP8266 pomocou Arduino IDE. V programe došlo k miernej úprave. Táto úprava je vykonaná tak, aby sa váš ESP8266 pripojil ku konštantnej IP adrese zakaždým, keď nadviaže spojenie s routerom. Program je úplne rovnaký ako predchádzajúci kód, okrem týchto štyroch riadkov
// Získajte stále IP neustále IPAddress ip (192, 168, 0, 104); // Mala by to byť adresa IP môjho modulu ESP IPAddress Gateway (192, 168, 0, 1); // nastavenie brány tak, aby zodpovedala vašej sieti väčšina brán bude predvolene rovnaká Serial.print (F ("Nastavenie statického ip na:")); Serial.println (ip); Podsieť IPAddress (255, 255, 255, 0); // nastav masku podsiete tak, aby zodpovedala tvojej sieti WiFi.config (ip, gateway, subnet);
Tu, namiesto IPAddress ip (192, 168, 0, 104); zadajte požadovanú adresu IP. V takom prípade bude môj ESP neustále pripojený k 192.168.0.104 a môžem k nemu jednoducho získať prístup pomocou tejto adresy IP v mojom prehliadači. Celý kód uvedený na konci tohto tutoriálu.
Schéma zapojenia a hardvér:
Schémy a hardvér pre toto IoT založené hlasom ovládané domáce spotrebiče sú rovnaké ako náš predchádzajúci projekt Smart Junction a schému som im vysvetlil tak láskavo. Tu si môžete pozrieť kompletnú schému pre referenciu:
Port Forwarding vášho ESP8266 IP:
Prvým krokom je povolenie presmerovania portov vo vašom smerovači (modeme), aby ste mohli pristupovať k svojmu ESP odkiaľkoľvek na svete, iba zadaním verejnej IP adresy. Kedykoľvek sa náš ESP8266 pripojí k nášmu routeru pre domácnosť / kanceláriu, dostane jedinečnú adresu IP a táto adresa IP sa použije na prístup k serveru ESP8266 prostredníctvom webového prehliadača. Táto adresa IP je obmedzená v rámci siete Home / Office, čo znamená, že k nej nemáte globálny prístup. je k nej prístup iba pre zariadenia, ktoré sú pripojené k vášmu smerovaču. Presmerovanie portov je technika, pomocou ktorej môžeme globálne načítať túto webovú stránku. Po presmerovaní portov môžete na prístup k tejto webovej stránke z ktoréhokoľvek miesta na svete použiť svoju verejnú adresu IP. Znie to dobre, dobre !! Pozrime sa, ako to môžeme dosiahnuť. Aby ste to dosiahli, vopred viete nasledujúce.
1. Názov výrobcu a adresa IP smerovača. To sa dá ľahko zistiť pri pohľade na router. Na štítku bude uvedená aj adresa IP. Pokiaľ nie, Google pozná vaše smerovače IP.
2. Používateľské meno a heslo pre prihlasovaciu stránku smerovačov. Väčšina smerovačov bude mať používateľské meno ako „admin“ a heslo ako „admin“.
3. IP adresa pridelená vášmu modulu ESP8266. Toto je adresa, ktorú používate na prístup na webovú stránku modulu ESP.
4. IP adresa vášho poskytovateľa internetových služieb (verejná IP adresa). To možno nájsť jednoduchým Gogglingom „aká je moja IP adresa“.
Keď budete mať všetko po ruke, môžete postupovať podľa nasledujúcich krokov na presmerovanie portov, ak ste pri hľadaní niečoho, použite sekciu komentárov nižšie. Pomôžem ti.
Krok 1: Prihláste sa na svoju stránku nástroja na správu webu smerovačov pomocou adresy IP smerovača, zvyčajne je to 192.168.1.1. Moja obrazovka bude vyzerať takto nižšie
Krok 2: Predvolene zadajte používateľské meno „admin“ a predvolene heslo „admin“ a kliknite na položku Prihlásiť sa. Prejdete na stránku s nástrojmi, ktorá bude vyzerať asi takto nižšie.
Väčšina informácií, ktoré tu vidíte, je veľmi dôverná, preto ich nezdieľajte s nijakými neznámymi, inak by ste mohli riskovať internetovú bezpečnosť.
Krok 3: Ako je uvedené vyššie, vaša stránka bude mať všetky možnosti uvedené v ľavom dolnom rohu. Naším cieľom je nájsť niečo pod názvom „Virtuálne servery“. Moje mám uvedené pod možnosťou Preposielanie. Väčšina smerovačov nechať uvedená ako 6, 7 alebo 8 th opcie (väčšinou pod nastavenie DHCP). Nájdite ju a kliknite na ňu
Krok 4: Teraz musíte zadať IP adresu pridelenú modulu ESP a číslo portu, aby ste preposlali našu IP. V mojom prípade musím kliknúť na Pridať nové a zadať tieto podrobnosti. Môže sa to u vás mierne líšiť. IP adresa je adresa, ktorú používate na prístup na webovú stránku svojho modulu ESP. Číslo portu si môžete zvoliť, ale pre zjednodušenie používajme „80“. IP pridelená môjmu modulu ESP8266 je 192.168.0.104, a preto moje preposielanie bude vyzerať niečo nižšie:
Krok 5: Teraz musíme poznať našu verejnú IP adresu. Nájdete toto moje Goggling pre „What is my IP“. Vaša ISP IP adresa by mala byť prísne dôverná. V rámci tohto tutoriálu predpokladajme, že moja IP adresa je 987: 654: 321: 123, ktorú budem po zvyšok svojho tutoriálu používať ako svoju IP adresu ISP.
Poznámka: Váš ISP vám mohol poskytnúť statickú / dynamickú IP, ak sa jedná o dynamickú IP, vaša IP sa bude meniť pri každom reštarte modemu / smerovača. V takom prípade musíte použiť niečo ako DynDNS. Ale to je mimo rozsahu tohto tutoriálu. Aj keď je to dynamická IP adresa, bude vám fungovať, pokiaľ nevynulujete svoj smerovač.
To je to, že naše presmerovanie portov je úspešné, môžeme to skontrolovať zadaním ISP IP: portname (987: 654: 321: 123: 80) do nášho prehliadača a skontrolovať, či sa načítava webová stránka ESP. Ak všetko pôjde podľa očakávaní, mali by ste byť teraz schopní prepínať zaťaženie z ktoréhokoľvek miesta na svete pomocou svojej IP adresy ISP.
Inštalácia aplikácie pre Android Moni:
Moni je aplikácia, ktorá je k dispozícii pre Android, Windows, iTunes a dokonca aj Skype. Túto aplikáciu si môžete stiahnuť do svojho mobilu. Moni.ai má omnoho viac funkcií, než len reagovanie na vaše hlasové príkazy, je veľmi priateľský k vývojárom, konverzácie môžete rýchlo vizuálne definovať a pripojiť sa k službám. Moni.ai používa aplikáciu s názvom Node-Red, pomocou ktorej môžete ľahko vytvoriť hlasový kanál, vytvoriť si vlastný systém Chabot (AI) pre svoje podnikanie / projekty a automatizovať ho svojim prirodzeným jazykom. Najlepšie na tom je, že Moni je na nekomerčné použitie úplne zadarmo.
Používam telefón s Androidom a preto si priamo sťahujem Moni z obchodu Google Play. Po inštalácii si vytvorte svoj bezplatný účet a prihláste sa doň. Vaša aplikácia by mala vyzerať asi takto:
Môžete ho použiť ako ktoréhokoľvek iného virtuálneho asistenta, ako je napríklad dopytovanie počasia, času atď. Dodatočné je však to, že dokáže reagovať na vaše applety vytvorené vašou službou Ifttt. Pozrime sa, ako teraz môžeme vytvoriť applety pre vašu aplikáciu.
Vytváranie appletov pomocou služby IFTTT:
Sme krok od dokončenia tohto projektu. Posledným krokom je vytvorenie appletov na webovej stránke IFTTT. To je miesto, kde dávame pokyn našej Moni pre rôzne hlasové príkazy na ovládanie rôznych domácich spotrebičov doma.
Používam túto Hlasom ovládanú spojovaciu skrinku na prepínanie mojich záťaží v akváriu (svetlo / filter), ako je to znázornené na videu nižšie. Z tohto dôvodu prispôsobujem applet tejto požiadavke, môžete si ho prispôsobiť pre svoj účel. Postupujte podľa nasledujúcich pokynov:
Krok 1: Navštívte www.IFTTT.com a prihláste sa pomocou svojho účtu. Ak je nový, zaregistrujte sa.
Krok 2: Teraz kliknite na „Hľadať“ a zadajte Make Webhooks. Vyberte ju a kliknite na „Pripojiť“. Postupujte podľa pokynov na pripojenie.
Krok 3: Teraz znova kliknite na „Hľadať“ a zadajte Moni. Vyberte Moni a kliknite na „Pripojiť“. Ak chcete povoliť pripojenie, prihláste sa pomocou svojho účtu IFTTT.
Krok 4: Pripojili sme sa k službám „Maker Webhooks“ a „Moni“. Teraz vám umožní vytvoriť applet s týmito službami. Kliknite na Moje applety a potom na „Nový applet“. Mali by ste vidieť niečo také:
Na tejto obrazovke musíte kliknúť na „toto“ a zvoliť „Moni“. Potom kliknite na „Požiadať Moni o vykonanie akcie“, dostanete sa na obrazovku nižšie.
Krok 5: Vyplňte podrobnosti tak, ako som vyplnil vyššie uvedený obrázok. Mojou úlohou je zapnúť moje svetlá akvária (záťaž 1), keď poviem „Zapnúť svetlá akvária“. Potom kliknite na „Vytvoriť spúšťač“
Krok 6: Dostanete sa späť na obrazovku „KEĎ TOTO TAKTO“. Teraz kliknite na „to“ a zadajte „Maker Webhooks“ a vyberte ho. Potom kliknite na „Vytvoriť webovú požiadavku“. Prejdete na nasledujúcu obrazovku
Toto je dôležitý krok, v ktorom s najväčšou pravdepodobnosťou urobíte chybu. Na tejto stránke zadajte iba adresu URL, ktorú chcete načítať. V mojom prípade chcem zapnúť záťaž pripojenú k switch1, preto sa používa riadok http: // 987: 654: 321: 123 / switch1On, ktorý musí nahradiť moju verejnú IP adresu. Toto bude fungovať, iba ak ste môj kód použili v predchádzajúcom návode. Celý zoznam adries URL na prepínanie načítania je uvedený nižšie.
URL |
Kľúčové slovo z programu |
Akcia |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 je vysoko, takže zapína záťaž 1 |
http: // 987: 654: 321: 123 / switch1Off |
Prepínač1Vyp |
Hodnota GPIO_0 je nízka, čím sa vypne záťaž 1 |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 je vysoko, takže zapína záťaž 2 |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 je na nízkej hodnote, a tým vypne záťaž 1 |
Po zadaní požadovanej adresy URL kliknite na „Vytvoriť akciu“. Potom kliknite na Dokončiť. Podobne môžete vytvoriť 4 applety na zapnutie / vypnutie oboch záťaží v našej spojovacej skrinke.
To znamená, že ste applet pripravený na akciu a mal by sa zobraziť v časti „Moje applety“, ako je uvedené nižšie.
Je čas vyskúšať náš kód…….
Testovanie projektu:
Konečne sme pripravení na náš projekt. Poďme to vyskúšať. Zapnite ho a otvorte aplikáciu Moni vo svojom mobilnom telefóne. Kliknite na ikonu Mikrofón a vyslovte príkaz. V mojom prípade je to „Zapnúť svetlá akvária“ a malo by sa to zapnúť odpoveďou „OK“ a rozsvietiť svetlá. Skontrolovať celý kód a ukážkové video nižšie.
Dúfam, že sa vám projekt páčil a fungoval. Ak ste niekde uviazli, použite sekciu komentárov nižšie a určite vám pomôžem. Stretneme vás s ďalším zaujímavým projektom, dovtedy zostaňte naladení.
Tu tiež skontrolujte naše ďalšie projekty založené na IoT.