- Edellytykset:
- Toimintakonsepti:
- Arduino IDE -ohjelma ESP8266: lle:
- Piirikaavio ja laitteisto:
- Portin ESP8266 IP: n edelleenlähetys:
- Moni Android -sovelluksen asentaminen:
- Applettien luominen IFTTT-palvelun avulla:
- Projektin testaus:
Tervetuloa toiseen jännittävään projektiin, jossa rakennamme ääniohjatun kotiautomaatiojärjestelmän käyttämällä ESP8266 Wi-Fi -moduulia, jossa voit hallita koti-AC-laitteitasi äänelläsi Android-sovelluksen avulla mistä päin maailmaa tahansa. Kyllä, unelmasi saada kuormasi (valo / tuulettimet) päälle tai pois päältä yksinkertaisesti äänikomennolla toteutuu tämän projektin lopussa. Tämä projekti on muunnelma edellisestä Smart Junction Box for Home Automation -projektistamme, jossa olemme hallinneet kodinkoneita verkkopalvelimen avulla verkon kautta.
Tämä IOT-pohjainen ääniohjattu kotiautomaatioprojekti on erittäin helppo rakentaa eikä maksa sinulle paljon, koska se ei vaadi sinua ostamaan kalliita puhemoduuleja. Koko projekti vei noin 500 INR (8 USD), ennen kuin rakensin sen. Myös tämä on mikro riippumaton projekti, eli sinun ei tarvitse mitään MCU / MP kuten Arduino tai Raspberry Pi. Koko projekti toimii ESP8266-moduulilla. Lisätietoja ESP8266: sta täältä. Joten, aloitetaan puhuminen….
Aikaisemmin olemme käsittäneet monenlaisia koti-automaatioita käyttämällä erilaisia tekniikoita, kuten:
- DTMF-pohjainen kodin automaatio
- GSM-pohjainen kotiautomaatio Arduinolla
- PC-ohjattu kotiautomaatio Arduinolla
- Bluetooth-ohjattu kotiautomaatio 8051: n avulla
- IR-kauko-ohjattu kotiautomaatio Arduinolla
- kotiautomaatioprojekti MATLAB: n ja Arduinon avulla
- RF-kauko-ohjattavat LED-valot Raspberry Pi -tekniikalla
- Älypuhelimen ohjaama koti-automaatio Arduinolla
Edellytykset:
Tämä projekti on jatkoa edelliselle projektillemme Smart Junction Box for Home Automation, joka käyttää ESP8266: ta, joten suurin osa laitteisto-osasta on jo käsitelty tässä opetusohjelmassa. Ystävällisesti lue se ennen kuin jatkat tämän kanssa, koska ohitan opetusohjelmassa käsitellyt tiedot. Antaaksemme pienen yhteenvedon edellisestä projektistamme, muokkaimme kyseisessä opetusohjelmassa liitäntärasiaa (laajennuskortti), joka voisi lohtua kahdesta releestä koostuvaa Perf-korttia ja ESP8266-moduulia. Kaksi relettä (vaihtovirta) voidaan vaihtaa käyttämällä ESP8266: n luomaa verkkosivua (toimimalla verkkopalvelimena). Tässä opetusohjelmassa aion vain lisätä siihen joitain ominaisuuksia, jotta voimme myös hallita vaihtovirta kuormia käyttämällä äänikomentoa älypuhelimen kautta.Emme kata mitään tämän opetusohjelman laitteisto-osaa, laitteisto ja koodi pysyvät samoina kuin edellisessä opetusohjelmassa.
Tietäen myös kuinka käyttää www.IFTTT.com antaa sinulle paremman käden tässä projektissa. Jos et ole perehtynyt IFTTT: hen, ei hätää, minä selitän, miten sitä käytetään tässä opetusohjelmassa, jotta saat sen toimimaan.
Toimintakonsepti:
Oletan, että olet lukenut edellisen opetusohjelman, siinä tapauksessa sinun pitäisi nyt tietää, miten tämä liitäntärasia rakennetaan ja kuinka kuormia voidaan vaihtaa etänä web-selaimesta. Tämän mahdollistamiseksi olemme tehneet ESP8266: lle osoitetun IP-osoitteemme julkisesti saataville. Tämä voidaan tehdä ”Port forwarding tekniikalla”. Asenna sitten mobiilisovellus nimeltä Moni Android- / iPhone-mobiililaitteeseesi. Tämä sovellus tunnistaa puheemme ja välittää tiedot IFTT-sovelmille, jotka puolestaan hallitsevat kuormia Maker Web -koukkujen kautta.
Se saattaa kuulostaa hieman ikävältä, mutta kaikki nämä asiat on selitetty selvästi tässä opetusohjelmassa ja luota minuun muutamalla napsautuksella, kaikki yllä olevat voidaan tehdä. Tämä opetusohjelma auttaa sinua parhaalla mahdollisella tavalla kuvien ja videoiden avulla. Tämän opetusohjelman lopussa voit kytkeä kodinkoneesi päälle tai pois päältä äänelläsi mistä päin maailmaa tahansa. Tarkista koko koodi ja esittelyvideo opetusohjelman lopussa.
Tarkista myös ääniohjatut valot Raspberry Pi: n ja äänikirjoituksen avulla 16x2 LCD: ssä.
Arduino IDE -ohjelma ESP8266: lle:
Aivan kuten edellisessä projektissa, aiomme ohjelmoida ESP8266-moduulimme Arduino IDE: n avulla. Ohjelmaan on tehty pieni muutos. Tämä muutos on tehty siten, että ESP8266 muodostaa yhteyden vakio-IP-osoitteeseen aina, kun se muodostaa yhteyden reitittimeen. Ohjelma on täsmälleen sama kuin edellinen koodi lukuun ottamatta näitä neljää riviä
// Hanki vakio IP aina IPAddress ip (192, 168, 0, 104); // Tämän pitäisi olla ESP-moduulini IPAddress-yhdyskäytävän IP-osoite (192, 168, 0, 1); // aseta yhdyskäytävä vastaamaan verkkoasi useimmat yhdyskäytävät ovat oletusarvoisesti samat Serial.print (F ("Staattisen ip: n asettaminen:")); Serial.println (ip); IP-osoitteen aliverkko (255, 255, 255, 0); // aseta aliverkon peite vastaamaan verkkoasi WiFi.config (ip, yhdyskäytävä, aliverkko);
Täällä, IP-osoitteen sijaan ip (192, 168, 0, 104); kirjoita haluamasi IP-osoite. Tässä tapauksessa ESP on kytketty koko ajan 192.168.0.104: ään ja pääsen yksinkertaisesti käyttämään sitä käyttämällä tätä IP-osoitetta selaimessani. Tämän oppaan lopussa oleva täydellinen koodi.
Piirikaavio ja laitteisto:
Tämän IoT-pohjaisen ääniohjatun kodinkoneen kaaviot ja laitteistot ovat samat kuin edellisessä Smart Junction -projektissamme, ja olen selittänyt siellä olevan kaavion niin ystävällisesti läpi sen. Täältä näet täydellisen kaavion viitteeksi:
Portin ESP8266 IP: n edelleenlähetys:
Ensimmäinen vaihe on ottaa porttisiirto käyttöön reitittimessä (modeemissa), jotta voit käyttää ESP: täsi mistä päin maailmaa tahansa, vain syöttämällä julkisen IP-osoitteen. Aina kun ESP8266 muodostaa yhteyden koti- / toimistoreitittimeemme, sille annetaan yksilöllinen IP-osoite ja tätä IP-osoitetta käytetään ESP8266: n käyttämiseen verkkoselaimen kautta. Tätä IP-osoitetta on rajoitettu koti- / toimistoverkossasi, joten et voi käyttää sitä maailmanlaajuisesti. sitä voivat käyttää vain reitittimeen liitetyt laitteet. Porttien edelleenlähetys on tekniikka, jonka avulla voimme saada tämän verkkosivun latautumaan maailmanlaajuisesti. Portinsiirron jälkeen voit käyttää julkista IP-osoitettasi käyttääksesi tätä verkkosivua mistä päin maailmaa tahansa. Kuulostaa hyvältä oikein! Katsotaanpa, kuinka voimme saada tämän aikaan. Voit tehdä tämän tiedät seuraavat etukäteen.
1. Reitittimen valmistajan nimi ja IP-osoite. Tämä löytyy helposti reitittimestä. IP-osoite mainitaan myös tarrassa. Jos ei, Google tietää reitittimien IP-osoitteen.
2. Reitittimesi kirjautumissivun käyttäjänimi ja salasana. Useimmilla reitittimillä käyttäjänimi on “admin” ja salasana “admin”.
3. ESP8266-moduulillesi annettu IP-osoite. Tämä on osoite, jolla käytät ESP-moduulin verkkosivua.
4. Internet-palveluntarjoajan IP-osoite (julkinen IP-osoite). Tämä löytyy yksinkertaisesti Gogglingilla "mikä on IP-osoitteeni".
Kun sinulla on kaikki kädessä, voit seurata alla olevia ohjeita portin edelleenlähetykseen, jos olet juuttunut jonkin löytämiseen, käytä alla olevaa kommenttiosaa. Autan sinua ulos.
Vaihe 1: Kirjaudu reitittimesi Web-hallinta-apuohjelma-sivulle käyttämällä reitittimesi IP-osoitetta, yleensä se on 192.168.1.1. Oma näyttöni näyttää tältä alla
Vaihe 2: Anna oletuksena käyttäjänimi "admin" ja oletuksena salasana "admin" ja napsauta Kirjaudu. Sinut ohjataan apuohjelman sivulle, joka näyttää tältä alla.
Suurin osa tiedoista, jotka näet täällä, ovat erittäin luottamuksellisia, joten älä jaa niitä tuntemattomille muille, jotka saatat vaarantaa Internet-turvallisuutesi.
Vaihe 3: Kuten yllä on esitetty, sivullasi on kaikki vasemmassa alareunassa olevat vaihtoehdot. Tavoitteenamme on löytää jotain nimeä "Virtuaalipalvelimet". Minun omani on lueteltu edelleenlähetysvaihtoehdon alla. Useimmat reitittimet ovat niitä listattu 6, 7 tai 8 : nnen vaihtoehto (useimmiten alle DHCP-asetus). Etsi se ja napsauta sitä
Vaihe 4: Sinun on nyt syötettävä ESP-moduulille varattu IP-osoite ja porttinumero IP-osoitteen lähettämistä varten. Minun täytyy minun napsauttaa Lisää uusi ja kirjoittaa nämä tiedot. Se voi olla hieman erilainen sinulle. IP-osoite on se, jolla käytät ESP-moduulin verkkosivua. Porttinumero voi olla valintasi, mutta anna meidän käyttää "80" yksinkertaisuuden vuoksi. ESP8266-moduulilleni varattu IP-osoite on 192.168.0.104, joten edelleenlähetys näyttää seuraavalta:
Vaihe 5: Nyt meidän on tiedettävä julkinen IP-osoitteemme. Löydät tämän Gogglingista "Mikä on IP-osoitteeni". Internet-palveluntarjoajan IP-osoitteen tulee olla erittäin luottamuksellinen. Oletetaan tämän opetusohjelman vuoksi, että IP-osoitteeni on 987: 654: 321: 123. Käytän tätä ISP: n IP-osoitteena loppuopetuksessani.
Huomaa: Internet-palveluntarjoajasi on saattanut antaa sinulle staattisen / dynaamisen IP-osoitteen, jos se on dynaaminen IP, IP-osoitteesi muuttuu modeemin / reitittimen jokaisen uudelleenkäynnistyksen yhteydessä. Siinä tapauksessa sinun on käytettävä jotain DynDNS: ää. Mutta se ei kuulu tämän opetusohjelman piiriin. Vaikka se olisi dynaaminen IP, se toimii sinulle niin kauan kuin et nollaa reititintä.
Eli porttisi edelleenlähetys on onnistunut, voimme tarkistaa, että kirjoitamme selaimeemme ISP IP: portin nimi (987: 654: 321: 123: 80) ja tarkista, lataako ESP-verkkosivusto. Jos kaikki menee odotetulla tavalla, sinun pitäisi nyt pystyä vaihtamaan kuormat mistä tahansa päin maailmaa käyttämällä Internet-palveluntarjoajan IP-osoitetta.
Moni Android -sovelluksen asentaminen:
Moni on sovellus, joka on saatavana Androidille, Windowsille, iTunesille ja jopa Skypelle. Voit ladata tämän sovelluksen matkapuhelimeesi. Moni.ai: lla on paljon enemmän ominaisuuksia kuin pelkkä äänikomentoihin vastaaminen, se on erittäin kehittäjäystävällinen ja voit nopeasti määrittää keskustelut visuaalisesti ja muodostaa yhteyden palveluihin. Moni.ai käyttää Node-Red-nimistä sovellusta, jonka avulla voit helposti luoda äänikanavan ja rakentaa oman Chabot (AI) -järjestelmän yrityksellesi / projektillesi ja automatisoida sen luonnollisella kielelläsi. Parasta on, että Moni on täysin ilmainen ei-kaupalliseen käyttöön.
Käytän Android-puhelinta ja siksi lataan Monin suoraan Google Play -kaupasta. Asennuksen jälkeen luo ilmainen tili ja kirjaudu sisään, sovelluksesi tulisi näyttää tältä alla:
Voit käyttää tätä kuten mitä tahansa muuta virtuaaliassistenttia, kuten säätietojen, ajan jne. Pyytämistä. Mutta mikä on lisäksi sitä, että se voi vastata Ifttt-palvelusi luomiin sovelmiin. Katsotaanpa, kuinka luoda appletteja sovelluksellesi nyt.
Applettien luominen IFTTT-palvelun avulla:
Olemme yhden askeleen päässä tämän projektin loppuun saattamisesta. Viimeinen vaihe on luoda Appletit IFTTT-verkkosivustolle. Täällä annamme Monillemme ohjeet erilaisille äänikomennoille ohjaamaan erilaisia kodinkoneita kotona.
Käytän tätä ääniohjattua liitäntärasiaa vaihtaaksesi akvaarioiden latauksia (valo / suodatin) alla olevan videon mukaisesti. Siksi räätälöin Appletin tätä vaatimusta varten. Voit mukauttaa sen omaan tarkoitukseesi. Noudata seuraavia ohjeita:
Vaihe 1: Käy www.IFTTT.com ja kirjaudu sisään tililläsi. Jos uusi, rekisteröidy.
Vaihe 2: Napsauta nyt "Haku" ja kirjoita Tee Webhookeja. Valitse se ja napsauta "Yhdistä". Seuraa ohjeita yhteyden muodostamiseksi siihen.
Vaihe 3: Napsauta nyt uudelleen "Etsi" ja kirjoita Moni. Valitse Moni ja napsauta ”Yhdistä”. Kirjaudu sisään IFTTT-tililläsi yhteyden muodostamiseksi.
Vaihe 4: Olemme muodostaneet yhteyden Maker Webhooks- ja Moni-palveluihin. Anna nyt luoda Applet näiden palveluiden avulla. Napsauta Omat sovelmat ja sitten ”Uusi sovelma”. Sinun pitäisi nähdä jotain tällaista:
Tässä näytössä sinun täytyy napsauttaa tätä ja valita "Moni". Napsauta sitten "Pyydä Monia suorittamaan toiminto", jolloin sinut ohjataan näytön alapuolelle.
Vaihe 5: Täytä yksityiskohdat, kun olen täyttänyt yllä olevan kuvan. Tässä tehtävänäni on sytyttää akvaariovalot (Lataa 1), kun sanon ”Kytke akvaariovalot päälle”. Napsauta sitten Luo laukaisin
Vaihe 6: Sinut palataan takaisin ”JOS TÄMÄ EI KUIN” -näyttöön. Napsauta nyt sitä ja kirjoita Maker Webhooks ja valitse se. Napsauta sitten "Tee verkkopyyntö". Sinut viedään näytön alapuolelle
Tämä on tärkeä vaihe, jossa olet todennäköisesti tekemässä virheitä. Kirjoita tälle sivulle vain URL-osoite, jonka haluat ladata. Minun tapauksessani haluan kytkeä kytkimeen1 liitetyn kuorman päälle, joten riviä http: // 987: 654: 321: 123 / switch1On käytetään, sinun on korvattava IP-osoitteeni julkisella IP-osoitteellasi. Tämä toimii vain, jos olet käyttänyt koodiani edellisessä opetusohjelmassa. Täydellinen URL-luettelo kuormien vaihtamiseksi on annettu alla.
URL |
Avainsana ohjelmasta |
Toiminta |
http: // 987: 654: 321: 123 / switch1On |
Kytkin1 päällä |
GPIO_0 on tehty korkeaksi, jolloin kuormitus 1 kytketään päälle |
http: // 987: 654: 321: 123 / switch1Off |
Kytkin1 pois |
GPIO_0 on tehty matalaksi, jolloin virta 1 sammuu |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 on tehty korkeaksi, jolloin virta 2 on päällä |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 on tehty matalaksi, jolloin virta 1 sammuu |
Kun olet syöttänyt haluamasi URL-osoitteen, napsauta Luo toiminto. Napsauta sitten Valmis. Vastaavasti voit luoda 4 applettia kytkemään molemmat kuormat päälle ja pois kytkentärasiasta.
Se on, että sovelma on valmis toimintaan ja sen pitäisi näkyä kohdassa "Omat sovelmat" alla olevan kuvan mukaisesti.
Aika testata koodiamme…….
Projektin testaus:
Viimeinkin olemme valmiit projektissamme. Testataan sitä. Käynnistä se ja avaa Moni-sovellus matkapuhelimessasi. Napsauta Mikrofoni-kuvaketta ja sano komento. Minun tapauksessani se on "Käynnistä akvaariovalot", ja sen pitäisi kääntää vastaus "OK": lla ja sytyttää valot. Tarkista koko koodi ja esittelyvideo alla.
Toivottavasti pidit projektista ja sait sen toimimaan. Jos olet juuttunut jonnekin, käytä alla olevaa kommenttiosaa ja autan sinua varmasti. Tapaa sinut toisen mielenkiintoisen projektin kanssa siihen asti.
Tarkista myös muut IoT-pohjaiset projektimme täältä.