- Priekšnosacījumi:
- Darba koncepcija:
- Arduino IDE programma ESP8266:
- Shēmas shēma un aparatūra:
- ESP8266 IP porta pārsūtīšana:
- Moni Android lietojumprogrammas instalēšana:
- Sīklietotņu izveidošana, izmantojot IFTTT pakalpojumu:
- Projekta pārbaude:
Laipni lūdzam citā aizraujošā projektā, kurā mēs izveidosim ar balsi kontrolētu mājas automatizācijas sistēmu, izmantojot ESP8266 Wi-Fi moduli, kur jūs varat kontrolēt savas mājas maiņstrāvas ierīces, izmantojot savu balsi, lai gan Android lietotni no jebkuras vietas pasaulē. Jā, jūsu sapnis padarīt jūsu slodzes (gaismas / ventilatorus) ieslēgtus vai izslēgtus, vienkārši izmantojot balss komandu, piepildīsies šī projekta beigās. Šis projekts ir mūsu iepriekšējā projekta Smart Junction Box for Home Automation variācija, kur mēs esam kontrolējuši sadzīves tehniku, izmantojot Webserver tīklā.
Šo IOT balstīto balss kontrolētās mājas automatizācijas projektu ir ļoti viegli izveidot un tas jums nemaksā daudz, jo tas neprasa iegādāties dārgus balss moduļus. Viss projekts man prasīja apmēram 500 INR (8 USD), lai to uzbūvētu. Arī šis ir mikrokontrolleru neatkarīgs projekts, kas nozīmē, ka jums nav nepieciešams neviens MCU / MP, piemēram, Arduino vai Raspberry pi. Viss projekts darbojas uz ESP8266 moduļa. Uzziniet vairāk par ESP8266 šeit. Tātad, sāksim runāt….
Iepriekš mēs esam aptvēruši daudzus mājas automatizācijas veidus, izmantojot dažādas tehnoloģijas, piemēram:
- DTMF balstīta mājas automatizācija
- GSM bāzes mājas automatizācija, izmantojot Arduino
- Datora kontrolēta mājas automatizācija, izmantojot Arduino
- Bluetooth kontrolēta mājas automatizācija, izmantojot 8051
- IR tālvadības kontrolēta mājas automatizācija, izmantojot Arduino
- mājas automatizācijas projekts, izmantojot MATLAB un Arduino
- RF tālvadības LED, izmantojot Raspberry Pi
- Viedtālrunis kontrolē mājas automatizāciju, izmantojot Arduino
Priekšnosacījumi:
Šis projekts ir turpinājums mūsu iepriekšējam projektam Smart Junction Box for Home Automation, izmantojot ESP8266, tāpēc lielākā daļa aparatūras daļu jau ir aplūkota šajā apmācībā. Lūdzu, izlasiet, ka pirms turpināt šo darbu, jo es izlaidīšu informāciju, kas ietverta šajā apmācībā. Lai sniegtu nelielu mūsu iepriekšējā projekta kopsavilkumu, šajā apmācībā mēs pārveidojām sadales kārbu (paplašināšanas paneli), kas varētu mierināt Perf plāksni, kas sastāv no diviem relejiem un ESP8266 moduļa. Abus relejus (maiņstrāvas slodzes) var pārslēgt, izmantojot tīmekļa lapu, kuru izveidojusi ESP8266 (darbojoties kā tīmekļa serveris). Šajā apmācībā es tikai pievienošu tai dažas funkcijas, lai mēs varētu kontrolēt arī maiņstrāvas slodzes, izmantojot balss komandu, izmantojot viedtālruni.Šajā apmācībā mēs neaptversim nevienu aparatūras daļu, aparatūra un kods paliks tāds pats kā iepriekšējā apmācībā.
Arī zināšanas par to, kā izmantot www.IFTTT.com, ļaus jums gūt pārsvaru šajā projektā. Ja neesat pazīstams ar IFTTT, neuztraucieties, es paskaidrošu, kā to izmantot šajā konkrētajā apmācībā, lai jūs varētu to darboties.
Darba koncepcija:
Es pieņemu, ka esat izlasījis iepriekšējo apmācību, tādā gadījumā tagad jums vajadzētu zināt, kā izveidot šo sadales kārbu un kā attālināti pārslēgt slodzes no tīmekļa pārlūkprogrammas. Lai to izdarītu, esam padarījuši mūsu IP adresi, kas piešķirta ESP8266, publiski pieejamu. To var izdarīt ar “Port forwarding technika”. Pēc tam savā Android / iPhone mobilajā ierīcē instalējiet mobilo lietojumprogrammu ar nosaukumu “Moni”. Šī lietojumprogramma atpazīs mūsu runu un paziņos informāciju IFTT sīklietotnēm, kuras savukārt kontrolēs slodzes, izmantojot Maker tīmekļa āķus.
Tas varētu izklausīties mazliet nogurdinoši, taču visas šīs lietas ir skaidri paskaidrotas šajā apmācībā un uzticieties man, veicot dažus klikšķus, var izdarīt visu iepriekš minēto. Šī apmācība palīdzēs jums pēc iespējas labāk, izmantojot attēlus un videoklipus. Šīs apmācības beigās jūs varēsiet ieslēgt vai izslēgt sadzīves tehniku ar balsi no jebkuras vietas pasaulē. Apmācības beigās pārbaudiet pilnu kodu un demonstrācijas video.
Pārbaudiet arī ar balsi vadāmās gaismas, izmantojot Raspberry Pi un Balss rakstīšanu 16x2 LCD ekrānā.
Arduino IDE programma ESP8266:
Tāpat kā iepriekšējā projektā, mēs plānojam ieprogrammēt mūsu moduli ESP8266 ar Arduino IDE palīdzību. Programmā ir veiktas nelielas modifikācijas. Šī modifikācija tiek veikta tā, lai jūsu ESP8266 izveidotu savienojumu ar pastāvīgu IP adresi katru reizi, kad tā izveido savienojumu ar maršrutētāju. Programma ir tieši tāda pati kā iepriekšējais kods, izņemot šīs četras rindas
// Iegūstiet pastāvīgu IP ikreiz IPAddress ip (192, 168, 0, 104); // Tam vajadzētu būt mana ESP moduļa IPAddress gateway (192, 168, 0, 1) IP; // iestatīt vārteju, lai tā atbilstu jūsu tīkla lielākajai daļai vārteju, pēc noklusējuma Serial.print (F ("Statiskā ip iestatīšana uz:")); Serial.println (ip); Apakštīkls IPAddress (255, 255, 255, 0); // iestatiet apakštīkla masku, lai tā atbilstu jūsu tīklam WiFi.config (ip, vārteja, apakštīkls);
Šeit, IP adreses vietā ip (192, 168, 0, 104); ievadiet vēlamo IP adresi. Šajā gadījumā mans ESP visu laiku būs savienots ar 192.168.0.104, un es tam vienkārši varu piekļūt, izmantojot šo IP savā pārlūkprogrammā. Pilns kods, kas norādīts šīs apmācības beigās.
Shēmas shēma un aparatūra:
Šīs IoT balstītās balss kontrolētās sadzīves tehnikas shēmas un aparatūra ir tādi paši kā mūsu iepriekšējā Smart Junction projektā, un es tik laipni esmu to izskaidrojis. Šeit jūs varat redzēt pilnu shēmu atsaucei:
ESP8266 IP porta pārsūtīšana:
Pirmais solis ir iespējot porta pārsūtīšanu maršrutētājā (modemā), lai jūs varētu piekļūt ESP no jebkuras vietas pasaulē, vienkārši ievadot publisko IP. Ikreiz, kad mūsu ESP8266 izveido savienojumu ar mūsu mājas / biroja maršrutētāju, tam tiks piešķirta unikāla IP adrese, un šī IP adrese tiek izmantota, lai piekļūtu ESP8266, izmantojot tīmekļa pārlūkprogrammu. Šī IP adrese ir ierobežota jūsu mājas / biroja tīklā, tas nozīmē, ka jūs nevarat tai piekļūt visā pasaulē; tam var piekļūt tikai ierīces, kas ir savienotas ar jūsu maršrutētāju. Ostu pārsūtīšana ir metode, ar kuras palīdzību mēs varam padarīt šo tīmekļa lapu ielādējamu visā pasaulē. Pēc ostas pārsūtīšanas jūs varat izmantot savu publisko IP, lai piekļūtu šai vietnei no jebkuras vietas pasaulē. Labi izklausās forši !! Ļaujiet redzēt, kā mēs to varam paveikt. Lai to izdarītu, iepriekš zināt sekojošo.
1. Maršrutētāja ražotāja nosaukums un IP adrese. To var viegli atrast, apskatot maršrutētāju. IP adrese tiks minēta arī uz uzlīmes. Ja ne Google, lai uzzinātu jūsu maršrutētāju IP.
2. Maršrutētāju pieteikšanās lapas lietotājvārds un parole. Lielākajai daļai maršrutētāju būs lietotāja vārds kā “admin” un parole kā “admin”.
3. IP adrese, kas piešķirta jūsu ESP8266 modulim. Šī ir adrese, kuru izmantojat, lai piekļūtu ESP moduļa vietnei.
4. Jūsu interneta pakalpojumu sniedzēja IP adrese (publiskā IP adrese). To var atrast, vienkārši pārmeklējot “kas ir mans IP”.
Kad viss ir jūsu rokā, varat veikt tālāk norādītās darbības, lai pārsūtītu ostu, ja esat aizķēries ar kaut kā atrašanu, izmantojiet zemāk esošo komentāru sadaļu. Es tev izpalīdzēšu.
1. solis: Piesakieties savā maršrutētāju tīmekļa pārvaldības utilītas lapā, izmantojot maršrutētāja IP adresi, parasti tā ir 192.168.1.1. Tālāk mans ekrāns izskatīsies šādi
2. solis: Pēc noklusējuma ievadiet lietotāja vārdu “admin” un pēc noklusējuma paroli “admin” un noklikšķiniet uz Login. Jūs tiksiet novirzīts uz utilītas lapu, kas izskatīsies apmēram šādi.
Lielākā daļa šeit redzamās informācijas ir ļoti konfidenciāla, tāpēc nedalieties tajā ar nezināmiem citiem, kas varētu apdraudēt jūsu interneta drošību.
3. solis: kā parādīts iepriekš, jūsu lapas kreisajā apakšdaļā būs visas opcijas. Mūsu mērķis ir atrast kaut ko nosaukumu “Virtuālie serveri”. Manējais ir norādīts sadaļā Pārsūtīšana. Lielākā daļa maršrutētāji būs tie minēti kā 6, 7 vai 8 th iespēju (galvenokārt zem DHCP vidē). Atrodiet to un noklikšķiniet uz tā
4. solis: Tagad jums jāievada ESP modulim piešķirtā IP adrese un porta numurs, lai pārsūtītu mūsu IP. Manā gadījumā man ir jānoklikšķina uz Pievienot jaunu un jāievada šī informācija. Jums tas varētu būt nedaudz atšķirīgs. IP adrese ir tā, kuru izmantojat, lai piekļūtu ESP moduļa vietnei. Porta numuru var izvēlēties pēc jūsu izvēles, taču vienkāršības labad izmantojiet “80”. Manam ESP8266 modulim piešķirtais IP ir 192.168.0.104, un tāpēc mana pārsūtīšana izskatīsies kaut kas zemāk:
5. solis: Tagad mums jāzina mūsu publiskā IP adrese. Jūs varat atrast šo manu Goggling par “Kas ir mans IP”. Jūsu ISP IP ir jābūt ļoti konfidenciālam. Šīs apmācības labad pieņemsim, ka mana IP adrese ir 987: 654: 321: 123. Es to izmantošu kā savu ISP IP pārējā apmācības laikā.
Piezīme. Iespējams, ka jūs interneta pakalpojumu sniedzējs esat iesniedzis statisku / dinamisku IP, ja tas ir dinamisks IP, jūsu IP mainīsies ar katru modema / maršrutētāja restartēšanu. Tādā gadījumā jums jāizmanto kaut kas līdzīgs DynDNS. Bet tas ir ārpus šīs apmācības darbības jomas. Pat ja tas ir dinamisks IP, tas darbosies jums tik ilgi, kamēr neatiestatīsit maršrutētāju.
Tas ir, ka mūsu porta pārsūtīšana ir veiksmīga. Mēs varam to pārbaudīt, pārlūkprogrammā ievadot ISP IP: portname (987: 654: 321: 123: 80), un pārbaudiet, vai ESP vietne tiek ielādēta. Ja viss notiek, kā paredzēts, tagad jums vajadzētu būt iespējai pārslēgt slodzes no jebkuras vietas pasaulē, izmantojot savu ISP IP adresi.
Moni Android lietojumprogrammas instalēšana:
Moni ir programma, kas ir pieejama Android, Windows, iTunes un pat Skype. Šo lietojumprogrammu varat lejupielādēt savā mobilajā tālrunī. Vietnei Moni.ai ir daudz vairāk iespēju, nevis tikai atbildēt uz jūsu balss komandām, tas ir ļoti draudzīgs izstrādātājiem, un jūs varat ātri vizuāli definēt sarunas un izveidot savienojumu ar pakalpojumiem. Moni.ai izmanto programmu Node-Red, izmantojot kuru jūs varat viegli izveidot balss kanālu un izveidot savu Chabot (AI) sistēmu savam biznesam / projektiem un automatizēt to ar savu dabisko valodu. Labākais ir tas, ka Moni ir pilnīgi bez maksas nekomerciālai lietošanai.
Es izmantoju Android tālruni, un tāpēc es tieši lejupielādēju Moni no Google Play veikala. Pēc instalēšanas izveidojiet savu bezmaksas kontu un pierakstieties tajā, jūsu lietotnei vajadzētu izskatīties šādi:
Jūs varat to izmantot tāpat kā jebkuru citu virtuālo palīgu, piemēram, lūgt laika apstākļus, laiku utt. Bet papildus ir tas, ka tas var atbildēt uz jūsu sīklietotnēm, kuras izveidojis jūsu Ifttt serviss. Ļaujiet mums redzēt, kā tagad izveidot sīklietotnes savai lietojumprogrammai.
Sīklietotņu izveidošana, izmantojot IFTTT pakalpojumu:
Mēs esam viena soļa attālumā no šī projekta pabeigšanas. Pēdējais solis ir izveidot sīklietotnes IFTTT vietnē. Šeit mēs uzdodam mūsu Moni dažādām balss komandām kontrolēt dažādas sadzīves tehnikas mājās.
Es izmantoju šo balss kontrolēto sadales lodziņu, lai pārslēgtu manas akvārija slodzes (gaisma / filtrs), kā parādīts zemāk esošajā videoklipā. Tāpēc es pielāgoju sīklietotni šai prasībai, un jūs to varat pielāgot savam mērķim. Veiciet šādas darbības:
1. darbība: apmeklējiet vietni www.IFTTT.com un piesakieties ar savu kontu. Ja jauns, tad reģistrējieties.
2. solis: Tagad noklikšķiniet uz “Meklēt” un ierakstiet Make Webhooks. Atlasiet to un noklikšķiniet uz “Savienot”. Izpildiet darbības, lai izveidotu savienojumu ar to.
3. solis: Tagad vēlreiz noklikšķiniet uz “Meklēt” un ierakstiet Moni. Atlasiet Moni un noklikšķiniet uz “Connect”. Lai iespējotu savienojumu, piesakieties ar savu IFTTT kontu.
4. darbība: mēs esam izveidojuši savienojumu ar “Maker Webhooks” un “Moni” pakalpojumiem. Tagad ļaujiet jums izveidot sīklietotni, izmantojot šos pakalpojumus. Noklikšķiniet uz Manas sīklietotnes un pēc tam uz Jauna sīklietotne. Jums vajadzētu redzēt kaut ko līdzīgu šim:
Šajā ekrānā jums jānoklikšķina uz “this” un jāizvēlas “Moni”. Pēc tam noklikšķiniet uz “Lūgt Moni veikt darbību”, un jūs tiksiet novirzīts zem ekrāna.
5. solis: aizpildiet informāciju, kā es aizpildīju iepriekš minēto attēlu. Šeit mans uzdevums ir ieslēgt manas akvārija gaismas (1. slodze), kad es saku “Ieslēgt akvārija gaismas”. Pēc tam noklikšķiniet uz “Izveidot aktivizētāju”
6. solis: Jūs tiksiet novirzīts atpakaļ uz ekrānu “IF THIS THAN THAT THAT”. Tagad noklikšķiniet uz “tas” un ierakstiet “Maker Webhooks” un atlasiet to. Pēc tam noklikšķiniet uz “Veikt tīmekļa pieprasījumu”. Jūs tiksiet novirzīts zem ekrāna
Šis ir svarīgs solis, kur jūs, visticamāk, kļūdīsities. Šajā lapā vienkārši ievadiet URL, kuru vēlaties ielādēt. Manā gadījumā es vēlos ieslēgt slodzi, kas savienota ar switch1, tāpēc tiek izmantota rinda http: // 987: 654: 321: 123 / switch1On. Jums ir jāaizstāj mans IP ar savu publisko IP adresi. Tas darbosies tikai tad, ja esat izmantojis manu kodu iepriekšējā apmācībā. Pilns URL saraksts, lai pārslēgtu slodzes, ir norādīts zemāk.
URL |
Atslēgvārds no programmas |
Darbība |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 ir izveidots augsts, tādējādi ieslēdzot 1. slodzi |
http: // 987: 654: 321: 123 / switch1Izslēgts |
Switch1Off |
GPIO_0 ir samazināts, tādējādi izslēdzot 1. slodzi |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 ir izveidots augsts, tādējādi ieslēdzot 2. slodzi |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 ir samazināts, tādējādi izslēdzot 1. slodzi |
Kad esat ievadījis vajadzīgo URL, noklikšķiniet uz “Izveidot darbību”. Pēc tam noklikšķiniet uz Pabeigt. Līdzīgi jūs varat izveidot 4 sīklietotnes, lai ieslēgtu / izslēgtu abas slodzes mūsu sadales lodziņā.
Tas ir tas, ka sīklietotne ir gatava darbībai, un tai vajadzētu parādīties sadaļā “Mani sīklietotnes”, kā parādīts zemāk.
Laiks pārbaudīt mūsu kodu…….
Projekta pārbaude:
Beidzot mēs esam gatavi ar savu projektu. Pārbaudīsim to. Ieslēdziet to un atveriet lietojumprogrammu Moni savā mobilajā tālrunī. Noklikšķiniet uz mikrofona ikonas un pasakiet komandu. Manā gadījumā tas ir “Ieslēgt akvārija gaismas”, un tam vajadzētu ieslēgt atbildi ar “OK” un ieslēgt gaismas. Tālāk pārbaudiet pilnu kodu un demonstrācijas video.
Ceru, ka jums patika projekts un tas darbojās. Ja esat kaut kur iestrēdzis, izmantojiet zemāk esošo komentāru sadaļu, un es noteikti jums palīdzēsim. Tiksies ar citu interesantu projektu, līdz tam sekojiet līdzi.
Šeit pārbaudiet arī citus mūsu IoT balstītos projektus.