- Paunang mga kinakailangan:
- Paggawa ng Konsepto:
- Arduino IDE Program para sa ESP8266:
- Circuit Diagram at Hardware:
- Ipasa ang Port ng iyong ESP8266 IP:
- Pag-install ng Moni Android Application:
- Lumilikha ng mga Applet gamit ang serbisyo ng IFTTT:
- Pagsubok ng Proyekto:
Maligayang pagdating sa isa pang kapanapanabik na Proyekto kung saan magtatayo kami ng isang Voice Controlled Home Automation System gamit ang module na Wi-Fi ng ESP8266, kung saan makokontrol mo ang iyong mga gamit sa Home AC gamit ang iyong Voice kahit na isang Android App mula sa kahit saan sa mundo. Oo, ang iyong pangarap na gawin ang iyong mga karga (Magaan / Tagahanga) upang i-ON o OFF sa pamamagitan ng simpleng paggamit ng isang utos ng boses ay magkakatotoo sa pagtatapos ng proyektong ito. Ang proyektong ito ay ang pagkakaiba-iba ng aming nakaraang proyekto Smart Junction Box para sa Home Automation kung saan kinontrol namin ang mga gamit sa bahay gamit ang Webserver sa network.
Ang proyektong ito na batay sa IOT na Kinokontrol ng Boses na Kinokontrol ng Boses ay napakadaling itayo at hindi ka gastos ng malaki dahil hindi ka nito kailangan na bumili ng anumang mga mamahaling module ng boses. Ang buong proyekto ay tumagal ng halos 500INR (8 USD) para maitayo ko ito. Gayundin ito ay isang independiyenteng proyekto ng microcontroller, nangangahulugang hindi mo kailangan ng anumang MCU / MP tulad ng Arduino o Raspberry pi. Ang buong proyekto ay tumatakbo sa module na ESP8266. Dagdagan ang nalalaman tungkol sa ESP8266 dito. Kaya, magsimula tayong mag-usap….
Dati, saklaw namin ang maraming uri ng mga automation sa Home na gumagamit ng iba't ibang mga teknolohiya tulad ng:
- DTMF Batay sa Pag-aautomat ng Bahay
- GSM Batay sa Home Automation gamit ang Arduino
- Kinokontrol ng PC ang Home Automation gamit ang Arduino
- Kinokontrol ng Bluetooth na Home Automation gamit ang 8051
- IR Remote Controlled Home Automation gamit ang Arduino
- proyekto sa automation ng bahay gamit ang MATLAB at Arduino
- RF Remote Controlled LEDs Gamit ang Raspberry Pi
- Kinokontrol ng Smart Phone sa Home Automation gamit ang Arduino
Paunang mga kinakailangan:
Ang proyektong ito ay isang pagpapatuloy ng aming nakaraang proyekto Smart Junction Box para sa Home Automation gamit ang ESP8266 kaya't ang karamihan sa bahagi ng hardware ay natakpan na sa tutorial na iyon. Pinapayuhan na basahin iyon bago magpatuloy sa isang ito dahil laktawan ko ang impormasyong saklaw sa tutorial na iyon. Upang magbigay ng isang maliit na recap ng aming nakaraang proyekto, binago namin ang isang kahon ng Junction (Extension Board) sa tutorial na iyon na maaaring magbigay ng aliw sa isang Perf board na binubuo ng dalawang Relay at ang module na ESP8266. Ang dalawang relay (AC load) ay maaaring mailipat sa pamamagitan ng paggamit ng isang webpage na nilikha ng ESP8266 (sa pamamagitan ng pag-arte bilang isang web server). Sa tutorial na ito ay magdaragdag lamang ako ng ilang mga tampok dito upang makontrol din namin ang mga pag-load ng AC sa pamamagitan ng paggamit ng utos ng boses sa pamamagitan ng Smart Phone.Hindi namin sasakupin ang anumang bahagi ng Hardware sa tutorial na ito ang hardware at ang Code ay mananatiling kapareho ng dati ng tutorial.
Ang pag-alam din kung paano gamitin ang www.IFTTT.com ay magbibigay sa iyo ng isang nangungunang kamay sa proyektong ito. Kung hindi ka pamilyar sa IFTTT, walang mga alalahanin na ipaliwanag ko kung paano ito gamitin para sa partikular na tutorial na ito upang maaari mo itong gumana.
Paggawa ng Konsepto:
Ipinapalagay ko na nabasa mo na ang nakaraang tutorial, sa kasong iyon ngayon dapat mong malaman kung paano bumuo ng kahon ng kantong iyon at kung paano i-toggle ang Load mula sa iyong web browser. Upang gawing posible ito ay ginawa naming inilalaan ang aming IP address sa publikong magagamit na ESP8266. Maaari itong magawa sa "Port forwarding technique". Pagkatapos mag-install ng isang mobile application na tinatawag na "Moni" sa iyong Android / IPhone mobile device. Ang application na ito ay makikilala ang aming pagsasalita at ihatid ang impormasyon sa IFTT Applets na kung saan ay makokontrol ang Mga Pag-load sa pamamagitan ng mga kawit ng Web Maker.
Maaari itong tunog medyo nakakapagod, ngunit ang lahat ng mga bagay na ito ay naipaliwanag nang malinaw sa tutorial na ito at pinagkakatiwalaan ako ng ilang mga pag-click sa lahat sa itaas ay maaaring gawin. Tutulungan ka ng tutorial na ito sa pinakamahusay na paraang posible sa tulong ng Mga Larawan at Video. Sa pagtatapos ng tutorial na ito, magagawa mong i-on o i-off ang iyong mga gamit sa bahay sa pamamagitan ng iyong boses mula sa kahit saan sa mundo. Suriin ang Buong Code at Video ng Demo sa dulo ng tutorial.
Suriin din ang Mga ilaw na kinokontrol ng Boses gamit ang Raspberry Pi at pagta-type ng Voice sa 16x2 LCD.
Arduino IDE Program para sa ESP8266:
Katulad ng nakaraang proyekto ay ipaprograma namin ang aming module na ESP8266 sa tulong ng Arduino IDE. Mayroong isang bahagyang pagbabago na ginawa sa programa. Ang pagbabago na ito ay ginawa upang ang iyong ESP8266 ay kumokonekta sa isang pare-pareho na IP address sa tuwing nagtatatag ito ng isang koneksyon sa Router. Ang programa ay eksaktong kapareho ng nakaraang code maliban sa apat na linya na ito
// Kumuha ng isang pare-pareho IP tuwing IPAddress ip (192, 168, 0, 104); // Ito ay dapat na ang IP ng aking module na IP IPAddress gateway (192, 168, 0, 1); // set gateway to match your network most gateway will be the same by default Serial.print (F ("Setting static ip to:")); Serial.println (ip); IPAddress subnet (255, 255, 255, 0); // itakda ang subnet mask upang tumugma sa iyong network WiFi.config (ip, gateway, subnet);
Dito, sa lugar ng IPAddress ip (192, 168, 0, 104); ipasok ang nais mong IP address. Sa kasong ito ang aking ESP ay konektado sa 192.168.0.104 sa lahat ng oras at mai-access ko lang ito sa pamamagitan ng paggamit ng IP na ito sa aking browser. Ang kumpletong code na ibinigay sa pagtatapos ng tutorial na ito.
Circuit Diagram at Hardware:
Ang mga iskematika at hardware para sa IoT na nakabatay sa Voice Appliances na Home na kinokontrol ay pareho sa aming nakaraang proyekto sa Smart Junction at ipinaliwanag ko ang eskematiko doon nang napakabait na dumaan dito. Makikita mo rito ang kumpletong eskematiko para sa sanggunian:
Ipasa ang Port ng iyong ESP8266 IP:
Ang unang hakbang ay upang paganahin ang pagpapasa ng Port sa iyong router (modem) upang ma-access mo ang iyong ESP mula sa kahit saan sa mundo, sa pamamagitan lamang ng pagpasok ng iyong pampublikong IP. Kailan man kumokonekta ang aming ESP8266 sa aming router sa bahay / opisina bibigyan ito ng isang Natatanging IP address at ginagamit ang IP Address na ito upang ma-access ang ESP8266 sa pamamagitan ng web browser. Ang IP address na ito ay pinaghihigpitan sa loob ng iyong Home / Office Network, nangangahulugang hindi mo ito maa-access sa buong mundo; maaari lamang itong ma-access ng mga aparato na nakakonekta sa iyong router. Ang pagpapasa ng port ay ang diskarteng kung saan magagawa nating mag-load ang webpage na ito sa buong mundo. Pagkatapos ng pagpapasa ng port maaari mong gamitin ang iyong pampublikong IP upang ma-access ang webpage na ito mula sa kahit saan sa mundo. Parang cool diba !! Tingnan kung paano natin ito magagawa. Upang magawa ito, alam mo muna ang sumusunod.
1. Ang pangalan ng tagagawa at IP address ng iyong Router. Madali itong matagpuan sa pamamagitan ng pagtingin sa router. Ang IP address ay mabanggit din sa isang sticker. Kung hindi alam ng Google ang iyong Routers IP.
2. Ang username at password ng iyong pahina ng pag-login sa mga router. Karamihan sa mga router ay magkakaroon ng pangalan ng gumagamit bilang "admin" at password bilang "admin".
3. Ang IP address na inilalaan sa iyong module na ESP8266. Ito ang address na ginagamit mo upang ma-access ang webpage ng module ng ESP.
4. Ang IP address ng iyong Internet service provider (pampublikong IP address). Matatagpuan ito sa pamamagitan lamang ng pag-Goggling na "ano ang aking IP".
Kapag nasa iyo mo na ang lahat maaari mong sundin ang mga hakbang sa ibaba sa pagpapasa ng port, kung natigil ka sa paghahanap ng isang bagay gamitin ang seksyon ng komento sa ibaba. Tutulungan kita.
Hakbang 1: Pag- login sa iyong pahina ng utility na pamamahala ng Web ng pamamahala sa pamamagitan ng paggamit ng IP address ng iyong Router, sa pangkalahatan ito ay 192.168.1.1. Ganito ang hitsura ng aking screen sa ibaba
Hakbang 2: Ipasok ang Pangalan ng gumagamit na "admin" bilang default at password na "admin" bilang default at mag-click sa Login. Dadalhin ka sa pahina ng utility na magmumukhang ganito sa ibaba.
Karamihan sa impormasyong nakikita mo dito ay napaka-kumpidensyal kung kaya't huwag ibahagi ang mga ito sa anumang hindi kilalang iba pa baka mapanganib ka sa iyong seguridad sa internet.
Hakbang 3: Tulad ng ipinakita sa itaas ng iyong pahina ay magkakaroon ng lahat ng mga pagpipilian na nakalista sa kaliwang ibaba. Ang aming hangarin ay upang makahanap ng isang bagay na pangalang "Virtual Servers". Mayroon akong nakalista sa ilalim ng pagpipiliang Pagpasa. Karamihan sa mga routers ay may mga ito na nakalista bilang 6, 7 o 8 th option (karamihan ay sa ibaba DHCP setting). Hanapin ito at mag-click dito
Hakbang 4: Ngayon ay kailangan mong ipasok ang IP address na inilalaan sa module ng ESP at ang numero ng port upang ipasa ang aming IP. Sa aking kaso kailangan kong mag-click sa Magdagdag ng bago at ipasok ang mga detalyeng iyon. Maaari itong bahagyang naiiba para sa iyo. Ang IP address ay ang ginagamit mo upang ma-access ang webpage ng iyong module ng ESP. Ang numero ng port ay maaaring mapili mo ngunit gamitin namin ang "80" para sa simpleng layunin. Ang IP na inilalaan sa aking module na ESP8266 ay 192.168.0.104 at samakatuwid ang aking pagpapasa ay titingnan sa isang bagay sa ibaba:
Hakbang 5: Ngayon ay kailangan nating malaman ang aming pampublikong IP address. Mahahanap mo ito ang aking Goggling para sa "Ano ang aking IP". Ang iyong ISP IP ay dapat mapanatili ang pagiging kompidensiyal. Para sa kapakanan ng tutorial na ito ipagpalagay natin na ang aking IP address ay 987: 654: 321: 123 Gagamitin ko ito bilang aking ISP IP para sa natitirang bahagi ng aking tutorial.
Tandaan: Maaaring ibinigay ka ng ISP ng Static / Dynamic IP, kung ito ay isang dynamic IP ay magbabago ang iyong IP sa bawat pag-restart ng Modem / router. Sa kasong iyon kailangan mong gumamit ng isang bagay tulad ng DynDNS. Ngunit, wala iyon sa saklaw ng tutorial na ito. Kahit na ito ay isang Dynamic IP gagana ito para sa iyo hangga't hindi mo i-reset ang Router.
Iyon ang tagumpay ng aming pagpapasa ng port, maaari nating suriin na sa pamamagitan ng pagpasok ng ISP IP: portname (987: 654: 321: 123: 80) sa aming browser at suriin kung naglo-load ang webpage ng ESP. Kung ang lahat ay napupunta sa inaasahan dapat mo na ngayong i-toggle ang Mga Pag-load mula sa kahit saan sa mundo sa pamamagitan ng paggamit ng iyong ISP IP address.
Pag-install ng Moni Android Application:
Ang Moni ay isang application na magagamit para sa Android, Windows, iTunes at kahit sa Skype. Maaari mong i-download ang application na ito sa iyong mobile. Ang Moni.ai ay may higit na mga kakayahan maliban sa pagtugon lamang sa iyong mga utos ng boses na ito ay lubos na magiliw sa developer at maaari mong mabilis na tukuyin ang mga pag-uusap nang biswal, at kumonekta sa mga serbisyo. Gumagamit ang Moni.ai ng isang application na tinatawag na Node-Red gamit kung saan madali mong nalilikha ang Voice channel at bumuo ng iyong sariling Chabot (AI) system para sa iyong Negosyo / Mga Proyekto at i-automate ito ng iyong natural na wika. Ang pinakamagandang bagay ay Moni ay libre para sa paggamit na hindi pang-komersyo.
Gumagamit ako ng isang Android phone at kaya direkta akong nag-download ng Moni mula sa Google play store. Matapos ang pag-install lumikha ng iyong libreng account at mag-sign in dito, dapat magmukhang ganito sa ibaba ang iyong app:
Maaari mong gamitin ito tulad ng anumang iba pang Virtual na katulong, tulad ng pagtatanong para sa panahon, oras atbp. Ngunit kung ano ang karagdagang ay maaari itong tumugon sa iyong mga applet na nilikha ng iyong serbisyo na Ifttt. Tingnan sa amin kung paano lumikha ng Applets para sa iyong Application ngayon.
Lumilikha ng mga Applet gamit ang serbisyo ng IFTTT:
Kami ay isang hakbang ang layo mula sa pagkumpleto ng proyektong ito. Ang huling hakbang ay upang likhain ang mga Applet sa website ng IFTTT. Dito namin inuutusan ang aming Moni para sa iba't ibang mga utos ng boses na kontrolin ang iba't ibang mga gamit sa bahay sa bahay.
Ako gamit ang Voice kinokontrol Junction box upang i-toggle ang aking Aquarium naglo-load (light / Filter) tulad ng ipinapakita sa video sa ibaba. Samakatuwid pinasadya ko ang Applet para sa kinakailangang iyon maaari mo itong ipasadya para sa iyong hangarin. Sundin ang mga hakbang sa ibaba:
Hakbang 1: Bisitahin ang www.IFTTT.com at Mag-login sa iyong account. Kung bago mag-signup.
Hakbang 2: Ngayon mag-click sa "Paghahanap" at i-type ang Gumawa ng Webhooks. Piliin ito at mag-click sa "Kumonekta". Sundin ang mga hakbang upang kumonekta dito.
Hakbang 3: Ngayon muling mag-click sa "Paghahanap" at i-type sa Moni. Piliin ang Moni at mag-click sa "Connect". Mag-log in gamit ang iyong IFTTT account upang paganahin ang koneksyon.
Hakbang 4: Nakakonekta kami sa "Maker Webhooks" at mga serbisyo na "Moni". Hayaan ka ngayong lumikha ng isang Applet kasama ang mga serbisyong ito. Mag-click sa Aking Mga Applet at pagkatapos ay "Bagong Applet". Dapat mong makita ang isang bagay tulad nito:
Sa screen na ito kailangan mong mag-click sa "ito" at piliin ang "Moni". Pagkatapos mag-click sa "Hilingin kay Moni na magsagawa ng isang aksyon" dadalhin ka sa screen sa ibaba.
Hakbang 5: Punan ang mga detalye tulad ng napunan ko sa itaas na imahe. Narito ang aking gawain ay upang buksan ang aking mga Aquarium Lights (Load 1) kapag sinabi kong "I-on ang Mga Ilaw ng Aquarium". Pagkatapos Mag-click sa "Lumikha ng Trigger"
Hakbang 6: Dadalhin ka pabalik sa screen na "KUNG ITO KAYA YAN". Ngayon, mag-click sa "iyon" at i-type ang "Maker Webhooks" at piliin ito. Pagkatapos mag-click sa "Gumawa ng isang kahilingan sa web". Dadalhin ka sa screen sa ibaba
Ito ay isang mahalagang hakbang kung saan ikaw ay malamang na magkamali. Sa pahinang ito ipasok lamang ang URL na nais mong mai-load. Sa aking kaso nais kong buksan ang pagkarga na konektado sa switch1 kaya't ginagamit ang linya http: // 987: 654: 321: 123 / switch1On kailangan mong palitan ang aking IP ng iyong pampublikong IP address. Gagana lamang ito kung ginamit mo ang aking code sa nakaraang tutorial. Ang kumpletong listahan ng URL upang i-toggle ang mga pag-load ay ibinibigay sa ibaba.
URL |
Keyword mula sa Program |
Kilos |
http: // 987: 654: 321: 123 / switch1On |
Lumipat1On |
Ang GPIO_0 ay ginawang mataas, sa gayon ay ON ON Load 1 |
http: // 987: 654: 321: 123 / switch1Off |
Lumipat1Off |
Ang GPIO_0 ay ginawang mababa, sa gayon ay pag-OFF ng Load 1 |
http: // 987: 654: 321: 123 / switch2On |
Lumipat2On |
Ang GPIO_2 ay ginawang mataas, sa gayon ay ON ON Load 2 |
http: // 987: 654: 321: 123 / switch2Off |
Lumipat2Off |
Ang GPIO_2 ay ginawang mababa, kaya naka-OFF ang Load 1 |
Kapag naipasok mo na ang nais na URL mag-click sa "Lumikha ng aksyon". Pagkatapos mag-click sa Tapos na. Katulad nito maaari kang lumikha ng 4 na Mga Applet upang i-ON / OFF ang parehong mga pag-load sa aming Junction box.
Iyon lang ikaw applet ay handa na para sa aksyon at dapat itong lumitaw sa ilalim ng "Aking mga applet" tulad ng ipinakita sa ibaba.
Oras upang subukan ang aming code…….
Pagsubok ng Proyekto:
Sa wakas handa na kami sa aming proyekto. Subukan natin ito. I-on ito at buksan ang application na Moni sa iyong mobile phone. Mag-click sa icon ng Mikropono at sabihin ang utos. Sa aking kaso ito ay "Buksan ang Mga ilaw ng Aquarium" at dapat itong i-on ang tugon gamit ang isang "OK" at i-on ang mga ilaw. Suriin ang buong code at demo na Video sa ibaba.
Inaasahan kong nagustuhan mo ang proyekto at napaandar ito. Kung ikaw ay natigil sa isang lugar, gamitin ang seksyon ng komento sa ibaba at tiyak na tutulungan kita. Makikipagtagpo sa iyo ng isa pang nakawiwiling proyekto hanggang sa manatiling nakasubaybay.
Suriin din dito ang aming iba pang Mga Proyektong batay sa IoT.