- Išankstinės sąlygos:
- Darbo koncepcija:
- ESP8266 skirta „Arduino IDE“ programa:
- Grandinės schema ir aparatūra:
- Uosto persiuntimas jūsų ESP8266 IP:
- „Moni Android“ programos diegimas:
- Programų kūrimas naudojant IFTTT paslaugą:
- Projekto testavimas:
Sveiki atvykę į kitą įdomų projektą, kurio metu mes sukursime balso valdomą namų automatikos sistemą naudodami ESP8266 „Wi-Fi“ modulį, kur galėsite valdyti namų kintamosios srovės prietaisus naudodami „Voice“, nors ir naudodami „Android“ programą iš bet kurios pasaulio vietos. Taip, jūsų svajonė priversti savo apkrovas (šviesą / ventiliatorius) įjungti arba išjungti tiesiog naudojant balso komandą išsipildys šio projekto pabaigoje. Šis projektas yra ankstesnio mūsų projekto „Smart Junction Box for Home Automation“ variantas, kai mes valdėme buitinę techniką naudodami tinklo serverį per tinklą.
Šį IOT pagrįstą balso valdomos namų automatikos projektą yra labai lengva pastatyti ir jis jums daug nekainuoja, nes nereikalauja pirkti brangių balso modulių. Visam projektui pastatyti prireikė maždaug 500 INR (8 USD). Tai taip pat yra nepriklausomas nuo mikrovaldiklio projektas, tai reiškia, kad jums nereikia jokio MCU / MP, pvz., „Arduino“ ar „Raspberry pi“. Visas projektas vykdomas naudojant ESP8266 modulį. Sužinokite daugiau apie ESP8266 čia. Taigi, pradėkime kalbėti….
Anksčiau mes apėmėme daugybę namų automatikos rūšių, naudodami skirtingas technologijas, tokias kaip:
- DTMF pagrįsta namų automatika
- GSM namų automatika naudojant „Arduino“
- Kompiuteriu valdoma namų automatika naudojant „Arduino“
- „Bluetooth“ valdoma namų automatika naudojant 8051
- IR nuotolinio valdymo namų automatika naudojant „Arduino“
- namų automatikos projektas naudojant MATLAB ir „Arduino“
- RF nuotolinio valdymo LED, naudojant „Raspberry Pi“
- Išmaniojo telefono valdoma namų automatika naudojant „Arduino“
Išankstinės sąlygos:
Šis projektas yra mūsų ankstesnio projekto „Smart Junction Box for Home Automation“, naudojant ESP8266, tęsinys, todėl didžioji aparatinės įrangos dalis jau buvo aptarta toje pamokoje. Prašome perskaityti, kad prieš tęsdamas šį veiksmą praleisiu informaciją, nurodytą šioje pamokoje. Norėdami pateikti nedidelę mūsų ankstesnio projekto apžvalgą, mes toje pamokoje pakeitėme jungties dėžę (išplėtimo plokštę), kuri galėtų paguosti „Perf“ plokštę, susidedančią iš dviejų relių ir ESP8266 modulio. Dvi relės (kintamosios srovės apkrovos) galima perjungti naudojant tinklalapį, sukurtą ESP8266 (veikiant kaip interneto serveris). Šioje pamokoje aš tik pridėsiu keletą funkcijų, kad galėtume valdyti kintamosios srovės apkrovas naudodami balso komandą per „Smart Phone“.Šioje pamokoje neaptarsime jokios aparatinės įrangos dalies, o aparatinė įranga ir kodas išliks tokie patys kaip ankstesnės mokymo programos.
Taip pat žinodami, kaip naudotis www.IFTTT.com, jums bus pranašumas šiame projekte. Jei nesate susipažinę su IFTTT, nesijaudinkite, aš paaiškinsiu, kaip jį naudoti šioje konkrečioje pamokoje, kad galėtumėte ją naudoti.
Darbo koncepcija:
Manau, kad perskaitėte ankstesnę mokymo programą, tokiu atveju dabar turėtumėte žinoti, kaip sukurti tą jungties dėžutę ir kaip perjungti apkrovas nuotoliniu būdu iš savo žiniatinklio naršyklės. Norėdami tai padaryti, mes padarėme viešai prieinamą ESP8266 priskirtą IP adresą. Tai galima padaryti naudojant „Port forwarding techniką“. Tada „Android“ / „iPhone“ mobiliajame įrenginyje įdiekite programą „Moni“. Ši programa atpažins mūsų kalbą ir perduos informaciją IFTT programėlėms, kurios savo ruožtu valdys apkrovas per „Maker“ interneto kabliukus.
Tai gali skambėti šiek tiek nuobodžiai, tačiau visi šie dalykai buvo aiškiai paaiškinti šioje pamokoje ir patikėkite manimi keletu paspaudimų, kuriuos galima padaryti aukščiau. Ši pamoka padės jums kuo geriau, naudodamiesi paveikslėliais ir vaizdo įrašais. Šios pamokos pabaigoje galėsite įjungti arba išjungti savo buitinę techniką balsu iš bet kurios pasaulio vietos. Pamokos pabaigoje patikrinkite visą kodą ir demonstracinį vaizdo įrašą.
Taip pat patikrinkite balso valdomus žibintus naudodami „Raspberry Pi“ ir įrašydami balsu 16x2 LCD ekrane.
ESP8266 skirta „Arduino IDE“ programa:
Kaip ir ankstesniame projekte, mes planuojame savo ESP8266 modulį užprogramuoti naudodami „Arduino IDE“. Programoje yra šiek tiek pakeista. Šis pakeitimas padarytas taip, kad jūsų ESP8266 prisijungtų prie pastovaus IP adreso kiekvieną kartą, kai užmezga ryšį su maršrutizatoriumi. Programa yra visiškai tokia pati kaip ankstesnis kodas, išskyrus šias keturias eilutes
// Gaukite nuolatinį IP visada IPAddress ip (192, 168, 0, 104); // Tai turėtų būti mano ESP modulio IPAddress šliuzo IP adresas (192, 168, 0, 1); // nustatykite šliuzą, kad jis atitiktų jūsų tinklo daugumą šliuzų, pagal numatytuosius nustatymus Serial.print (F ("Static ip nustatymas į:")); Serial.println (ip); „IPAddress“ potinklis (255, 255, 255, 0); // nustatykite potinklio kaukę, kad ji atitiktų jūsų tinklo „WiFi.config“ (ip, vartai, potinklis);
Čia, vietoje „ IPAddress“ ip (192, 168, 0, 104); įveskite norimą IP adresą. Tokiu atveju mano ESP visą laiką bus prijungtas prie 192.168.0.104 ir aš galiu jį tiesiog pasiekti naudodamas šį naršyklės IP. Pilnas kodas, pateiktas šios pamokos pabaigoje.
Grandinės schema ir aparatūra:
Šios IoT pagrįstos balso valdomos buitinės technikos schemos ir aparatūra yra tokios pačios, kaip ir ankstesnio mūsų „Smart Junction“ projekto, ir aš taip maloniai paaiškinau jo schemą. Čia galite pamatyti visą nuorodos schemą:
Uosto persiuntimas jūsų ESP8266 IP:
Pirmas žingsnis - įjungti prievadų persiuntimą savo maršrutizatoriuje (modeme), kad galėtumėte pasiekti ESP iš bet kurios pasaulio vietos, tiesiog įvesdami savo viešąjį IP. Kai tik mūsų ESP8266 prisijungs prie mūsų namų / biuro maršrutizatoriaus, jam bus suteiktas unikalus IP adresas ir šis IP adresas bus naudojamas norint pasiekti ESP8266 per interneto naršyklę. Šis IP adresas yra ribojamas jūsų namų / biuro tinkle, tai reiškia, kad negalite jo pasiekti visame pasaulyje; prie jo gali prisijungti tik įrenginiai, prijungti prie jūsų maršrutizatoriaus. Uosto persiuntimas yra technika, per kurią galime priversti šį tinklalapį įkelti visame pasaulyje. Persiuntę uostą, galite naudoti savo viešąjį IP, kad pasiektumėte šį tinklalapį iš bet kurios pasaulio vietos. Skamba šauniai! Pažiūrėkime, kaip galime tai padaryti. Norėdami tai padaryti, iš anksto žinote šiuos dalykus.
1. Maršrutizatoriaus gamintojo pavadinimas ir IP adresas. Tai lengvai galima rasti pažvelgus į maršrutizatorių. IP adresas taip pat bus nurodytas ant lipduko. Jei ne „Google“, kad žinotumėte savo maršrutizatorių IP adresą.
2. Maršrutizatorių prisijungimo puslapio vartotojo vardas ir slaptažodis. Daugelio maršrutizatorių vartotojo vardas bus „admin“, o slaptažodis - „admin“.
3. IP adresas, priskirtas jūsų ESP8266 moduliui. Tai yra adresas, kurį naudojate norėdami patekti į ESP modulio tinklalapį.
4. Jūsų interneto paslaugų teikėjo IP adresas (viešasis IP adresas). Tai galima rasti tiesiog peržvelgus „kas yra mano IP“.
Kai viską turėsite savo rankose, galite atlikti toliau nurodytus veiksmus, norėdami persiųsti uostą, jei užstrigote ką nors radę, naudokite toliau pateiktą komentarų skyrių. Aš tau padėsiu.
1 žingsnis: Prisijunkite prie savo maršrutizatorių žiniatinklio tvarkymo priemonės puslapio naudodami maršrutizatoriaus IP adresą, paprastai jis yra 192.168.1.1. Žemiau mano ekranas atrodys taip
2 žingsnis: Įveskite vartotojo vardą „admin“ pagal numatytuosius nustatymus ir slaptažodį „admin“ pagal numatytuosius nustatymus ir spustelėkite Prisijungti. Jūs būsite nukreiptas į naudingumo puslapį, kuris atrodys maždaug taip žemiau.
Dauguma informacijos, kurią matote čia, yra labai konfidenciali, todėl nesidalykite ja su niekuo nežinomu, dėl ko galite rizikuoti interneto saugumu.
3 žingsnis: Kaip parodyta aukščiau, jūsų puslapyje bus visos kairėje apačioje pateiktos parinktys. Mūsų tikslas yra rasti pavadinimą „Virtualūs serveriai“. Aš turiu savo, nurodytą persiuntimo parinktyje. Dauguma maršrutizatoriai juos išvardyti kaip 6, 7 arba 8 -ąjį variantą (daugiausia žemiau DHCP nustatymas). Suraskite ir spustelėkite jį
4 žingsnis: Dabar, norėdami persiųsti mūsų IP, turite įvesti ESP moduliui priskirtą IP adresą ir prievado numerį. Mano atveju turiu spustelėti Pridėti naują ir įvesti šią informaciją. Jums gali būti šiek tiek kitaip. IP adresą naudojate norėdami patekti į savo ESP modulio tinklalapį. Uosto numeris gali būti jūsų pasirinktas, tačiau paprastumo sumetimais leiskite mums naudoti „80“. Mano ESP8266 moduliui skirtas IP yra 192.168.0.104, todėl mano persiuntimas atrodys žemiau:
5 žingsnis: Dabar mes turime žinoti savo viešąjį IP adresą. Tai galite rasti mano „Goggling“ skiltyje „Kas yra mano IP“. Jūsų IPT IP turėtų būti labai konfidenciali. Dėl šios pamokos tarkime, kad mano IP adresas yra 987: 654: 321: 123. Aš naudosiu tai kaip savo ISP IP likusioje savo mokymo dalyje.
Pastaba: IPT galėjo pateikti statinį / dinaminį IP, jei tai yra dinaminis IP, jūsų IP pasikeis kiekvieną kartą paleidus modemą / maršrutizatorių. Tokiu atveju turite naudoti kažką panašaus į „DynDNS“. Bet tai nepatenka į šios mokymo programos taikymo sritį. Net jei tai yra dinaminis IP, jis veiks jums tol, kol neatstatysite maršrutizatoriaus.
Tai reiškia, kad mūsų uosto persiuntimas yra sėkmingas. Mes galime tai patikrinti įvesdami savo interneto naršyklėje IPT IP: prievado pavadinimą (987: 654: 321: 123: 80) ir patikrinkite, ar ESP tinklalapis neįkeliamas. Jei viskas vyks taip, kaip tikėtasi, dabar turėtumėte galimybę perkelti krovinius iš bet kurios pasaulio vietos naudodami savo IPT IP adresą.
„Moni Android“ programos diegimas:
„Moni“ yra programa, kurią gali naudoti „Android“, „Windows“, „iTunes“ ir net „Skype“. Šią programą galite atsisiųsti į savo mobilųjį telefoną. „Moni.ai“ turi kur kas daugiau galimybių, išskyrus tai, kad atsako tik į jūsų balso komandas. Tai labai tinka kūrėjams ir galite greitai vizualiai apibrėžti pokalbius ir prisijungti prie paslaugų. „Moni.ai“ naudoja programą „Node-Red“, kuria naudodamiesi galite lengvai sukurti „Voice“ kanalą ir sukurti savo „Chabot“ (AI) sistemą savo verslui / projektams ir automatizuoti ją savo natūralia kalba. Geriausias dalykas yra tai, kad „Moni“ yra visiškai nemokama nekomerciniam naudojimui.
Aš naudoju „Android“ telefoną, todėl tiesiogiai atsisiųsti „Moni“ iš „Google Play“ parduotuvės. Įdiegę sukurkite nemokamą paskyrą ir prisijunkite prie jos, jūsų programa turėtų atrodyti maždaug taip:
Galite tai naudoti kaip ir bet kurį kitą virtualų asistentą, pvz., Prašyti oro, laiko ir pan. Tačiau tai, kas papildoma, yra tai, kad jis gali reaguoti į jūsų programėles, kurias sukūrė jūsų „Ifttt“ tarnyba. Pažiūrėkime, kaip dabar sukurti programėles programai.
Programų kūrimas naudojant IFTTT paslaugą:
Mes esame per žingsnį nuo šio projekto užbaigimo. Paskutinis žingsnis - sukurti „Applets“ IFTTT svetainėje. Čia mes nurodome „ Moni “ skirtingoms balso komandoms valdyti skirtingus buitinius prietaisus namuose.
Aš naudoju šį balso valdomą jungties dėžutę norėdamas perjungti savo akvariumo apkrovas (šviesa / filtras), kaip parodyta toliau pateiktame vaizdo įraše. Todėl aš pritaikau „Applet“ pagal šį reikalavimą, kurį galite pritaikyti savo tikslams. Atlikite toliau nurodytus veiksmus:
1 veiksmas: apsilankykite www.IFTTT.com ir prisijunkite naudodami savo sąskaitą. Jei naujas, tada užsiregistruokite.
2 žingsnis: Dabar spustelėkite „Ieškoti“ ir įveskite „Make Webhooks“. Pasirinkite jį ir spustelėkite „Prisijungti“. Atlikite veiksmus, kad prisijungtumėte prie jo.
3 žingsnis: Dabar dar kartą spustelėkite „Ieškoti“ ir įveskite Moni. Pasirinkite Moni ir spustelėkite „Prisijungti“. Norėdami įjungti ryšį, prisijunkite naudodami savo IFTTT paskyrą.
4 žingsnis: mes prisijungėme prie „Maker Webhooks“ ir „Moni“ paslaugų. Dabar leiskite jums sukurti programėlę su šiomis paslaugomis. Spustelėkite Mano programėlės ir tada „Nauja programėlė“. Turėtumėte pamatyti kažką tokio:
Šiame ekrane turite spustelėti „this“ ir pasirinkti „Moni“. Tada spustelėkite „Paprašyti Moni atlikti veiksmą“ ir pateksite į žemiau esantį ekraną.
5 žingsnis: užpildykite išsamią informaciją, kaip aš užpildžiau aukščiau esantį vaizdą. Čia mano užduotis yra įjungti akvariumo žibintus (1 įkrovimas), kai sakau „Įjungti akvariumo žibintus“. Tada spustelėkite „Sukurti aktyviklį“
6 žingsnis: Būsite grąžinami į ekraną „JEI TAI NEI“. Dabar spustelėkite „that“ ir įveskite „Maker Webhooks“ ir pasirinkite jį. Tada spustelėkite „Pateikti žiniatinklio užklausą“. Būsite nukreipti į žemiau esantį ekraną
Tai yra svarbus žingsnis ten, kur greičiausiai padarysite klaidų. Šiame puslapyje tiesiog įveskite URL, kurį norite įkelti. Mano atveju noriu įjungti apkrovą, prijungtą prie „switch1“, taigi naudojama eilutė http: // 987: 654: 321: 123 / switch1On, todėl jūs turite pakeisti mano IP savo viešuoju IP adresu. Tai veiks tik tuo atveju, jei ankstesnėje mokymo programoje naudojote mano kodą. Visas URL sąrašas, skirtas perkelti apkrovas, pateiktas toliau.
URL |
Raktažodis iš programos |
Veiksmas |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 yra aukštas, todėl įjungiama 1 apkrova |
http: // 987: 654: 321: 123 / switch1Išjungta |
„Switch1Off“ |
GPIO_0 padaryta žema, todėl išjungiama 1 apkrova |
http: // 987: 654: 321: 123 / switch2On |
„Switch2On“ |
GPIO_2 yra aukštas, todėl įjungiama 2 apkrova |
http: // 987: 654: 321: 123 / switch2Off |
„Switch2Off“ |
GPIO_2 yra žemas, todėl išjungiama 1 apkrova |
Įvedę norimą URL spustelėkite „Sukurti veiksmą“. Tada spustelėkite Baigti. Panašiai galite sukurti 4 programėles, kad įjungtumėte / išjungtumėte abi jungčių dėžutės apkrovas.
Tai yra, kad jūsų programėlė yra pasirengusi veikti ir ji turėtų būti rodoma skiltyje „Mano programėlės“, kaip parodyta žemiau.
Laikas išbandyti mūsų kodą…….
Projekto testavimas:
Pagaliau mes esame pasirengę savo projektui. Išbandykime. Įjunkite jį ir atidarykite „Moni“ programą savo mobiliajame telefone. Spustelėkite mikrofono piktogramą ir pasakykite komandą. Mano atveju tai yra „Įjungti akvariumo žibintus“, jis turėtų įjungti atsakymą su „Gerai“ ir įjungti šviesas. Žemiau patikrinkite visą kodą ir demonstracinį vaizdo įrašą.
Tikiuosi, kad jums patiko projektas ir jį pavyko įgyvendinti. Jei kur nors įstrigote, naudokitės žemiau esančia komentarų skiltimi ir aš tikrai jums padėsiu. Iki to laiko susitiks su kitu įdomiu projektu.
Čia taip pat patikrinkite kitus mūsų interneto projektus.