- Predpogoji:
- Koncept dela:
- Arduino IDE program za ESP8266:
- Shema vezja in strojna oprema:
- Posredovanje vrat vašega IP-ja ESP8266:
- Namestitev aplikacije Moni za Android:
- Ustvarjanje apletov s pomočjo storitve IFTTT:
- Testiranje projekta:
Dobrodošli v še enem razburljivem projektu, v katerem bomo z uporabo modula Wi-Fi ESP8266 zgradili sistem za avtomatizacijo domofona z glasovnim nadzorom, kjer lahko z glasom upravljate svoje gospodinjske aparate s pomočjo aplikacije Voice s katere koli točke na svetu. Da, vaše sanje, da svoje obremenitve (luči / ventilatorji) vklopite ali izklopite s preprostim glasovnim ukazom, se bodo ob koncu tega projekta uresničile. Ta projekt je različica našega prejšnjega projekta Pametna razvodna omarica za avtomatizacijo doma, kjer smo gospodinjske aparate nadzorovali s pomočjo spletnega strežnika prek omrežja.
Ta projekt z glasovno nadzorovano domačo avtomatizacijo, ki temelji na IOT, je zelo enostaven za gradnjo in vas ne stane veliko, saj ne zahteva nakupa dragih govornih modulov. Celoten projekt mi je vzel približno 500 INR (8 USD). Prav tako je to mikrokrmilnik neodvisen projekt, kar pomeni, da ne potrebujete MCU / MP kot Arduino ali Raspberry Pi. Celoten projekt deluje na modulu ESP8266. Več o ESP8266 preberite tukaj. Začnimo se torej pogovarjati….
Prej smo obravnavali številne vrste avtomatizacije domov z uporabo različnih tehnologij, kot so:
- DTMF avtomatizacija na domu
- Domača avtomatizacija na osnovi GSM z uporabo Arduina
- Domača avtomatizacija, ki jo nadzoruje računalnik z uporabo Arduina
- Brezžična nadzorna avtomatizacija doma z uporabo 8051
- IR daljinsko vodena avtomatizacija doma z uporabo Arduina
- projekt avtomatizacije doma z uporabo MATLAB in Arduino
- RF daljinsko vodene LED z Raspberry Pi
- Pametna telefonska avtomatizacija, ki jo nadzira Arduino
Predpogoji:
Ta projekt je nadaljevanje našega prejšnjega projekta Smart Junction Box for Home Automation z uporabo ESP8266, zato je večina dela strojne opreme že bila zajeta v tej vadnici. Prosimo, preberite to, preden nadaljujete s tem, saj bom preskočil informacije, opisane v tej vadnici. Za majhen povzetek našega prejšnjega projekta smo v tej vadnici spremenili razdelilno omarico (razširitveno ploščo), ki bi lahko utešila ploščo Perf, sestavljeno iz dveh relejev in modula ESP8266. Dva releja (AC obremenitve) je mogoče preklopiti s pomočjo spletne strani, ki jo je ustvaril ESP8266 (z delovanjem kot spletni strežnik). V tej vadnici mu bom dodal le nekatere funkcije, da bomo lahko tudi z glasovnim ukazom prek pametnega telefona nadzirali obremenitve izmeničnega toka.V tej vadnici ne bomo pokrivali nobenega dela strojne opreme, strojna oprema in koda bo ostala enaka kot v prejšnji vadnici.
Tudi znanje o uporabi www.IFTTT.com vam bo dalo prednost pri tem projektu. Če niste seznanjeni z IFTTT, brez skrbi, vam bom razložil, kako ga uporabiti za to posebno vadnico, da boste lahko začeli delovati.
Koncept dela:
Predvidevam, da ste prebrali prejšnjo vadnico, v tem primeru bi morali vedeti, kako zgraditi to razvodno omarico in kako oddaljeno preklopiti obremenitve iz spletnega brskalnika. Da bi to omogočili, smo javno objavili svoj naslov IP, dodeljen ESP8266. To lahko storite s "tehniko posredovanja vrat". Nato v mobilno napravo Android / IPhone namestite mobilno aplikacijo z imenom »Moni«. Ta aplikacija bo prepoznala naš govor in informacije posredovala programčkom IFTT, ki bodo nato upravljali obremenitve prek spletnih kavljev Maker.
Morda se sliši nekoliko dolgočasno, toda vse te stvari so bile v tej vadnici jasno razložene in verjemite mi z nekaj kliki, vse zgoraj našteto. Ta vadnica vam bo pomagala na najboljši možni način s pomočjo slik in videoposnetkov. Na koncu te vadnice boste lahko s svojim glasom vklopili ali izklopili gospodinjske aparate od koder koli na svetu. Preverite celotno kodo in predstavitveni video na koncu vadnice.
Preverite tudi glasovno nadzorovane luči z uporabo Raspberry Pi in glasovnim tipkanjem na LCD zaslonu 16x2.
Arduino IDE program za ESP8266:
Tako kot v prejšnjem projektu bomo tudi s pomočjo Arduino IDE programirali naš modul ESP8266. Program je nekoliko spremenjen. Ta sprememba je narejena tako, da se vaš ESP8266 poveže s stalnim naslovom IP vsakič, ko vzpostavi povezavo z usmerjevalnikom. Program je popolnoma enak prejšnji kodi, razen teh štirih vrstic
// Vsak čas dobimo konstanten IP IPAddress ip (192, 168, 0, 104); // To bi moral biti IP prehoda mojega modula ESP IPAddress (192, 168, 0, 1); // nastavimo prehod, da se ujema z vašim omrežjem, večina prehodov bo privzeto enaka Serial.print (F ("Nastavitev statičnega ip na:")); Serial.println (ip); Podomrežje IPAddress (255, 255, 255, 0); // nastavimo masko podomrežja, da se ujema z vašim omrežjem WiFi.config (ip, gateway, subnet);
Tukaj, namesto IPAddress ip (192, 168, 0, 104); vnesite želeni naslov IP. V tem primeru bo moj ESP ves čas povezan z 192.168.0.104 in do njega lahko preprosto dostopam s pomočjo tega IP-ja v brskalniku. Popolna koda, podana na koncu te vadnice.
Shema vezja in strojna oprema:
Sheme in strojna oprema za ta gospodinjski aparat, ki temelji na IoT, je enak našemu prejšnjemu projektu Smart Junction in tam sem mu prijazno razložil shemo. Tu lahko vidite celotno shemo za referenco:
Posredovanje vrat vašega IP-ja ESP8266:
Prvi korak je omogočiti posredovanje vrat v vašem usmerjevalniku (modemu), tako da lahko do svojega ESP dostopate od koder koli na svetu, samo z vnosom javnega IP-ja. Kadar koli se naš ESP8266 poveže z našim usmerjevalnikom za dom / pisarno, bo dobil enoličen naslov IP in ta naslov IP se uporablja za dostop do ESP8266 prek spletnega brskalnika. Ta naslov IP je omejen znotraj vašega domačega / pisarniškega omrežja, kar pomeni, da do njega ne morete dostopati globalno; do njega lahko dostopajo samo naprave, ki so povezane z vašim usmerjevalnikom. Posredovanje vrat je tehnika, s katero lahko omogočimo globalno nalaganje te spletne strani. Po preusmeritvi vrat lahko s svojim javnim IP-jem dostopate do te spletne strani od koder koli na svetu. Sliši se v redu !! Poglejmo, kako bomo to dosegli. Če želite to narediti, prej veste naslednje.
1. Ime proizvajalca in naslov IP vašega usmerjevalnika. To lahko enostavno najdete, če pogledate usmerjevalnik. Naslov IP bo naveden tudi na nalepki. Če ne, pa Google pozna vaš IP usmerjevalnik.
2. Uporabniško ime in geslo strani za prijavo usmerjevalnikov. Večina usmerjevalnikov bo imela uporabniško ime kot "admin" in geslo kot "admin".
3. Naslov IP, dodeljen modulu ESP8266. To je naslov, ki ga uporabljate za dostop do spletne strani modula ESP.
4. Naslov IP vašega ponudnika internetnih storitev (javni naslov IP). To lahko najdete tako, da preprosto poiščete "kaj je moj IP".
Ko imate vse v roki, lahko sledite spodnjim korakom za posredovanje vrat, če se vam kaj zdi, uporabite spodnji odsek za komentarje. Pomagal vam bom.
1. korak: Prijavite se na svojo stran pripomočkov za usmerjanje spletnih strani z uporabo naslova IP vašega usmerjevalnika, običajno je 192.168.1.1. Moj zaslon bo spodaj videti tako
2. korak: Privzeto vnesite uporabniško ime "admin" in privzeto geslo "admin" in kliknite Login. Preusmerjeni boste na uporabniško stran, ki bo spodaj videti približno tako.
Večina informacij, ki jih vidite tukaj, je zelo zaupnih, zato jih ne delite z nobenim drugim, saj bi lahko tvegali internetno varnost.
3. korak: Kot je prikazano zgoraj, bodo na vaši strani vse možnosti navedene na levi spodnji strani. Naš cilj je najti nekaj, kar se imenuje "navidezni strežniki". Moja je navedena pod možnostjo Posredovanje. Večina usmerjevalnikov so se jim navedeni kot 6, 7 ali 8 th možnosti (večinoma pod nastavitev DHCP). Poiščite ga in kliknite nanj
4. korak: Zdaj morate vnesti naslov IP, dodeljen modulu ESP, in številko vrat, da posredujete naš IP. V mojem primeru moram klikniti Dodaj novo in vnesti te podrobnosti. Morda je za vas nekoliko drugače. Naslov IP je tisti, ki ga uporabljate za dostop do spletne strani modula ESP. Številka vrat je lahko po vaši izbiri, vendar za poenostavitev uporabimo "80". IP, dodeljen mojemu modulu ESP8266, je 192.168.0.104, zato bo moje posredovanje videti spodaj:
5. korak: Zdaj moramo poznati svoj javni naslov IP. Tu lahko najdete moje Goggling za "Kaj je moj IP". IP vašega ponudnika internetnih storitev mora biti zelo zaupen. Zavoljo te vadnice predpostavimo, da je moj naslov IP 987: 654: 321: 123 To bom uporabil kot svoj IP naslov ISP do konca vadnice.
Opomba: Vaš ponudnik internetnih storitev vam je morda zagotovil statični / dinamični IP, če gre za dinamični IP, se bo vaš IP spremenil z vsakim ponovnim zagonom modema / usmerjevalnika. V tem primeru morate uporabiti nekaj podobnega DynDNS. Toda to ni v obsegu te vadnice. Tudi če gre za dinamični IP, bo deloval za vas, dokler ne ponastavite usmerjevalnika.
To pomeni, da je naše posredovanje vrat uspešno, lahko preverimo, če v naš brskalnik vnesemo IP ponudnika IP: portname (987: 654: 321: 123: 80) in preverimo, ali se spletna stran ESP naloži. Če bo šlo vse po pričakovanjih, lahko zdaj preklapljate obremenitve od koder koli na svetu z uporabo naslova IP ponudnika internetnih storitev.
Namestitev aplikacije Moni za Android:
Moni je aplikacija, ki je na voljo za Android, Windows, iTunes in celo Skype. To aplikacijo lahko prenesete v svoj mobilni telefon. Moni.ai ima veliko več funkcij, kot je samo odziv na vaše glasovne ukaze, saj je zelo primeren za razvijalce in lahko hitro vizualno določite pogovore ter se povežete s storitvami. Moni.ai uporablja aplikacijo, imenovano Node-Red, s katero lahko enostavno ustvarite glasovni kanal in zgradite lasten sistem Chabot (AI) za svoje podjetje / projekte in ga avtomatizirate v svojem naravnem jeziku. Najboljše je, da je Moni popolnoma brezplačen za nekomercialno uporabo.
Uporabljam telefon Android in zato Moni neposredno prenesem iz Googlove trgovine z igrami. Po namestitvi ustvarite svoj brezplačni račun in se vanj prijavite, naj bo aplikacija spodaj videti nekako tako:
To lahko uporabite kot kateri koli drugi virtualni pomočnik, na primer povpraševanje po vremenu, času itd. Dodatno pa je, da se lahko odzove na vaše aplete, ki jih je ustvarila vaša storitev Ifttt. Poglejmo, kako zdaj ustvariti aplete za svojo aplikacijo.
Ustvarjanje apletov s pomočjo storitve IFTTT:
Do zaključka tega projekta smo še en korak. Zadnji korak je izdelava apletov na spletnem mestu IFTTT. Tu našemu Moniju naročimo različne glasovne ukaze za nadzor različnih gospodinjskih aparatov doma.
S to glasovno krmiljeno priključno omarico preklopim obremenitve akvarija (svetloba / filter), kot je prikazano na spodnjem videoposnetku. Zato prilagajam programček tej zahtevi, ki ga lahko prilagodite svojemu namenu. Sledite spodnjim korakom:
1. korak: Obiščite www.IFTTT.com in se prijavite s svojim računom. Če je novo, se prijavite.
2. korak: Zdaj kliknite »Išči« in vnesite Make Webhooks. Izberite ga in kliknite »Poveži«. Sledite korakom za povezavo z njim.
3. korak: Zdaj znova kliknite »Išči« in vnesite Moni. Izberite Moni in kliknite na “Connect”. Če želite omogočiti povezavo, se prijavite s svojim računom IFTTT.
4. korak: Povezali smo se s storitvama "Maker Webhooks" in "Moni". Zdaj lahko ustvarite programček s temi storitvami. Kliknite My Applets in nato "New Applet". Morali bi videti nekaj takega:
Na tem zaslonu morate klikniti na "to" in izbrati "Moni". Nato kliknite na "Vprašaj Monija, da izvede dejanje", preusmerjeni boste na spodnji zaslon.
5. korak: Izpolnite podrobnosti, kot sem izpolnil zgornjo sliko. Tukaj je moja naloga prižgati luči v akvariju (obremenitev 1), ko rečem »Vklopi luči v akvariju«. Nato kliknite na "Ustvari sprožilec"
6. korak: Vrnili se boste na zaslon "ČE TO JE TO". Zdaj kliknite na "to" in vnesite "Maker Webhooks" in jo izberite. Nato kliknite na „Naredi spletno zahtevo“. Preusmerjeni boste na spodnji zaslon
To je pomemben korak, kjer boste najverjetneje naredili napake. Na tej strani samo vnesite URL, ki ga želite naložiti. V mojem primeru želim vklopiti obremenitev, priključeno na switch1, zato se uporablja vrstica http: // 987: 654: 321: 123 / switch1On, ko morate moj IP zamenjati z vašim javnim IP naslovom. To bo delovalo le, če ste v prejšnji vadnici uporabili mojo kodo. Celoten seznam URL-jev za preklapljanje bremen je spodaj.
URL |
Ključna beseda iz programa |
Ukrepanje |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 je postavljen visoko, s čimer vklopimo obremenitev 1 |
http: // 987: 654: 321: 123 / switch1 Izključeno |
Switch1Off |
GPIO_0 je nizek, s čimer se izklopi obremenitev 1 |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 je postavljen visoko, s čimer se vklopi obremenitev 2 |
http: // 987: 654: 321: 123 / switch2 Izključeno |
Switch2Off |
GPIO_2 je nizek, s čimer se izklopi obremenitev 1 |
Ko vnesete želeni URL, kliknite »Ustvari dejanje«. Nato kliknite Dokončaj. Podobno lahko ustvarite 4 aplete za vklop / izklop obeh bremen v naši razdelilni omarici.
To je vaš programček, ki je pripravljen na akcijo in se mora pojaviti v razdelku »Moji apleti«, kot je prikazano spodaj.
Čas je, da preizkusite našo kodo…….
Testiranje projekta:
Končno smo pripravljeni z našim projektom. Preizkusimo. Vklopite ga in v mobilnem telefonu odprite aplikacijo Moni. Kliknite ikono mikrofona in izgovorite ukaz. V mojem primeru gre za "Vklopi luči v akvariju" in odgovor bi moral odgovoriti z "V redu" in prižgati luči. Preverite celotno kodo in predstavitveni video spodaj.
Upam, da vam je bil projekt všeč in ste ga zagnali. Če ste nekje zataknjeni, uporabite spodnji odsek za komentarje in zagotovo vam bom pomagal. Do takrat vas čaka še en zanimiv projekt.
Tukaj preverite tudi druge naše projekte, ki temeljijo na IoT.