Talaan ng mga Nilalaman:

Pag-switch ng Kinokontrol na Boses Gamit ang Alexa at Arduino: 10 Hakbang (na may Mga Larawan)
Pag-switch ng Kinokontrol na Boses Gamit ang Alexa at Arduino: 10 Hakbang (na may Mga Larawan)

Video: Pag-switch ng Kinokontrol na Boses Gamit ang Alexa at Arduino: 10 Hakbang (na may Mga Larawan)

Video: Pag-switch ng Kinokontrol na Boses Gamit ang Alexa at Arduino: 10 Hakbang (na may Mga Larawan)
Video: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 2024, Nobyembre
Anonim
Voice Controlled Switch Gamit ang Alexa at Arduino
Voice Controlled Switch Gamit ang Alexa at Arduino

Ang pangunahing layunin ng proyektong ito ay ang paggamit ng sensor ng temperatura upang makontrol ang switch (relay) upang i-on o i-off ang aparato.

Listahan ng mga materyales

  1. 12V Relay Module ==> $ 4.2
  2. Arduino uno ==> $ 8
  3. DHT11 temperatura sensor ==> $ 3
  4. ESP8266 Modyul ==> $ 4.74
  5. N26 optocoupler ==> $ 0.60
  6. LM1117 voltage regulator ==> $ 0.60
  7. Breadboard ==> $ 2.2
  8. Jumper wires ==> $ 2.5
  9. Push button ==> $ 2.5

Ang kabuuang halaga ng proyekto ay halos $ 30 dolyar. Ang proyektong ito ay nahahati sa tatlong bahagi. Una, gumagamit kami ng heroku upang lumikha ng isang app. Pangalawa, bumubuo kami ng kasanayan sa Amazon Alexa upang ipatupad ang aming trabaho (Pinakamahalagang bahagi). Pangatlo, na-set up namin ang aming hardware at programa ito gamit ang Arduino IDE.

Hakbang 1: Pag-uugnay sa Heroku Sa GitHub

Pag-uugnay sa Heroku Sa GitHub
Pag-uugnay sa Heroku Sa GitHub
Pag-uugnay sa Heroku Sa GitHub
Pag-uugnay sa Heroku Sa GitHub
Pag-uugnay sa Heroku Sa GitHub
Pag-uugnay sa Heroku Sa GitHub

Ang Heroku ay isang cloud platform bilang isang serbisyo (PaaS) na sumusuporta sa maraming mga wika ng programa na ginagamit bilang isang modelo ng paglawak ng aplikasyon ng web. Una, pumunta sa heroku site lumikha ng isang bagong account o mag-login doon. Ang link ay ibinibigay sa ibaba

Heroku Website

Magsisimula tayo sa paglikha ng isang bagong app. Ibinigay ko ang pangalan ng aking app na "iottempswitch" kapag nag-deploy ka ng app, nabuo ang link.

Kapag ang app ay ginawa pumunta sa GitHub. GitHub /

Mag-login doon o mag-signup kung wala kang isang account. Sa sandaling naka-log in lumikha ng bagong imbakan. Bigyan ang anumang pangalan na nais mong piliin at pagkatapos ay pindutin ang lumikha ng repository. Sa susunod na pahina mag-click sa README, sa pahinang ito magbigay ng paglalarawan na nais mong ibahagi sa iba. Matapos ang pag-click sa gumawa ng bagong file. Susunod, mag-click sa pindutan ng pag-upload.

Mayroong dalawang mga pagpipilian alinman sa iyong drag at drop folder o pumili ng file. Mag-download ng mga kinakailangang file mula sa ibaba. Matapos mapili ang mga file pindutin ang mga pagbabago ng gumawa. Buksan ang app na iyong nilikha sa Heroku pagkatapos ay pumunta sa pag-deploy ng seksyon. Pagkatapos nito Mag-click sa GitHub. Bigyan ang pangalan ng repository na iyong nilikha sa panig ng GitHub. Sa aking kaso ito ay ang Smart-Relay. Kopyahin iyon at i-paste ito dito. Kapag naipakita ang iyong link mag-click sa kumonekta. Susunod, mag-click sa pag-deploy ng sangay (manu-manong). Matapos ang pag-deploy maaari mong makita ang link sa build log o maaari mong makita ang link sa mga setting. Kailangan namin ang link na ito sa ibang pagkakataon kapag gumagawa kami ng kasanayan sa Amazon.

Hakbang 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Mga pinakabagong larawan ng kasanayan sa Alexa

Sa site ng Developer ng Amazon ginagamit namin ang kasanayan sa Amazon upang makontrol ang paglipat ng switch sa pamamagitan ng pagtatakda ng temperatura at halumigmig.

Pumunta sa Site ng Developer ng Amazon. Ang link ay ibinibigay sa ibaba.

Website ng Developer ng Amazon

  • Pumunta sa Developer console sa kanang tuktok tulad ng ipinakita sa figure i4
  • Pumunta sa Alexa pagkatapos ay piliin ang Alexa Skill Kit at pagkatapos ay lumikha ng bagong kasanayan sa pamamagitan ng pag-click sa Magdagdag ng bagong kasanayan.

Kapag nagdagdag ka ng bagong kasanayan makikita mo ang pahina ng impormasyon ng kasanayan.

1. Impormasyon sa Kasanayan (tulad ng ipinakita sa imaheng i7)

kailangan naming magbigay ng uri ng kasanayan, wika, pangalan, pangalan ng paanyaya.

Uri ng kasanayan ==> pumili ng pasadya

  • Pangalan ==> pumili ng anumang pangalan.
  • Pangalan ng paanyaya ==> na ginagamit mo habang nakikipag-usap sa Alexa. Halimbawa; - Alexa, hilingin sa sensor na i-on ang switch na nagpapalit o Alexa, magtanong ng ilaw dito ang mga pangalan ng imbitasyon ay sensor at ilaw.
  • Wika ==> Ingles (India). Piliin alinsunod sa iyong bansa

i-click ang i-save at pagkatapos ay sa susunod

2. Modelo ng Pakikipag-ugnay

Dito, gagamit kami ng tagabuo ng kasanayan. Kaya, Mag-click sa Launch Skill Builder. makikita mo ang pahina tulad ng ipinakita sa imaheng i8.

Lumilikha muna kami ng mga bagong hangarin. Mag-click sa Idagdag (sa kaliwang bahagi) at bigyan ang anumang pangalan na gusto mo ginamit ko ang "smartswitch"

  • Bigyan ang pangalan ng uri ng puwang ng "pagsukat_type" at mga halaga ng puwang na "temperatura" at "kahalumigmigan" tulad ng ipinakita sa imaheng i9.

  • Pagkatapos nito magdagdag ng pangalan ng uri ng puwang na "query" at ang mga halaga ng puwang ay "ano" at "ay" tulad ng ipinakita sa imaheng i10.
  • Pagkatapos nito magdagdag ng uri ng puwang na "switchstate" at ang mga halaga ng puwang ay "naka-on" at "naka-off" tulad ng ipinakita sa imaheng i11.
  • Magdagdag ng isa pang uri ng puwang na "tempscale" at ang mga halaga ng puwang ay "fahrenheit" at "celcuis" tulad ng ipinakita sa imaheng i12.
  • Pagkatapos nito magdagdag ng bagong uri ng puwang dito ginagamit namin ang mayroon nang uri ng puwang na kailangan naming mag-click sa paggamit ng mayroon nang puwang. Sa umiiral na paghahanap ng puwang para sa amazon.number at piliin ito at idagdag ito. Matapos idagdag ito makikita mo ito sa mga uri ng puwang tulad ng ipinapakita sa imaheng i13.

Kaya't tapos na kami sa mga uri ng puwang ng kabuuang uri ng puwang na ginagamit namin ay 5. Ngayon, lumipat sa susunod na hakbang. Mag-click sa hangarin na nilikha namin, sa aking kaso ito ay smartswitch. Sa kanang bahagi makikita mo ang puwang ng hangarin tulad ng ipinakita sa imaheng i14.

  • Lumikha ng isang bagong puwang, bigyan ito ng pangalang "Switch_State" at i-map ito sa "switchstate" sa pamamagitan ng paggamit ng drop down button tulad ng ipinakita sa imaheng i15.
  • Lumikha ng bagong puwang, bigyan ito ng pangalang "Sensor_Values" at i-map ito sa "pagsukat_type" tulad ng ipinakita sa imaheng i16.
  • Lumikha ng bagong puwang, bigyan ito ng pangalang "query" at i-map ito sa "query" tulad ng ipinakita sa imaheng i17.
  • Pagkatapos nito lumikha ng bagong puwang na "tmp_scale" at i-map ito sa "tempscale" tulad ng ipinakita sa imaheng i18.
  • Lumikha ng bagong puwang na "Mga Numero" at i-map ito sa "Amazon. Number" tulad ng ipinakita sa imaheng i19.

Tapos na kami sa mga puwang ng Intent. Gumagamit kami ng 5 mga slot ng hangarin. Pagkatapos nito lumilipat kami sa Mga Sample Utterance tulad ng ipinakita sa imahe i20.

Idagdag ang halimbawang ito ng mga pagbigkas.

itakda ang paglipat ng switch sa {Mga Numero} porsyento {tmp_scale}

Ang {query} ay ang estado ng paglipat

Pag-trigger ng switch ng {Switch_State}

itakda ang paglipat ng switch sa {Mga Numero} degree {tmp_scale}

lumipat sa {Switch_State}

{query} ilipat ang {Switch_State}

Ang {query} ay ang kasalukuyang {Sensor_Values}

Pagkatapos nito i-save ang modelo at buuin ito. Maghintay para sa pagbuo ng modelo pagkatapos ng pag-click sa pagsasaayos. Pagkatapos ng pagbuo ay makikita mo ang mensahe tulad ng ipinakita sa imaheng i21 at i22.

3. Pag-configure

Piliin ang HTTPS at magdagdag ng link na nabuo habang lumilikha ng heroku app. Sa aking kaso ito ay https://iottempswitch.herokuapp.com/. Matapos ang pagdaragdag ng pag-click sa link sa susunod tulad ng ipinakita sa imahe i23.

4. SSL certificatePiliin ang pangalawang pagpipilian at mag-click sa susunod tulad ng ipinakita sa imaheng i24.

matagumpay nating nilikha ang aming kasanayan.

Hakbang 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Buksan ang Arduino IDE. Pagkatapos ay pumunta sa File ==> Kagustuhan

Sa Karagdagang Tagapamahala ng Mga Lupon, kopyahin at i-paste ang URL at i-click ang ok tulad ng ipinakita sa imaheng i26.

arduino.esp8266.com/versions/2.4.0/package_…

  • Buksan ang Board Manager sa pamamagitan ng pagpunta sa Tools ==> Board ==> Board Manager.
  • Buksan ang Boards Manager at hanapin ang nodemcu tulad ng ipinakita sa imaheng i27.
  • Pagkatapos nito i-download ang library ng ESP8266WiFi. Buksan ang library manager: Sketch ==> Isama ang library ==> Pamahalaan ang Mga Aklatan.
  • Maghanap para sa library ng ESP8266WiFi at i-install ito.
  • Piliin ang board ==> Generic ESP8266 Module.
  • Bago i-upload ang code kailangan namin ng tatlong mga aklatan.

Mga kinakailangang aklatan

Ilipat ang mga aklatan na ito sa folder ng mga aklatan ng Arduino

Kailangan mong baguhin ang tatlong bagay sa code SSID, PWD at ang iyong link ng heroku app. Pagkatapos i-upload ang code. Para sa Module ng ESP kailangan mong pindutin ang flash button habang ina-upload ang code at pagkatapos ay pindutin ang reset button nang isang beses at pagkatapos ay bitawan ang flash button. Matapos i-upload ang code, buksan ang terminal. makikita mo ang output.

Hakbang 4: Paglalarawan ng Component

Paglalarawan ng Component
Paglalarawan ng Component
Paglalarawan ng Component
Paglalarawan ng Component
Paglalarawan ng Component
Paglalarawan ng Component
Paglalarawan ng Component
Paglalarawan ng Component

1. Ano ang isang Relay

Ang relay ay isang aparato na electromagnetic na ginagamit upang ihiwalay ang dalawang mga circuit nang electrically at ikonekta ang mga ito nang magnet. Ang mga ito ay lubhang kapaki-pakinabang na aparato at pinapayagan ang isang circuit na lumipat ng isa pa habang sila ay ganap na magkahiwalay. Kadalasan ginagamit ang mga ito upang mag-interface ng isang electronic circuit (nagtatrabaho sa isang mababang boltahe) sa isang de-koryenteng circuit na gumagana sa napakataas na boltahe. Halimbawa, ang isang relay ay maaaring gumawa ng isang circuit ng baterya ng 5V DC upang ilipat ang isang 230V AC mains circuit.

Kung paano ito gumagana

Ang isang relay switch ay maaaring nahahati sa dalawang bahagi: input at output. Ang seksyon ng pag-input ay may isang coil na bumubuo ng magnetic field kapag ang isang maliit na boltahe mula sa isang elektronikong circuit ay inilapat dito. Ang boltahe na ito ay tinatawag na operating voltage. Ang mga karaniwang ginagamit na relay ay magagamit sa iba't ibang pagsasaayos ng mga boltahe sa pagpapatakbo tulad ng 6V, 9V, 12V, 24V atbp Ang seksyon ng output ay binubuo ng mga contactor na kumokonekta o idiskonekta nang wala sa loob. Sa isang pangunahing relay mayroong tatlong mga contactor: karaniwang bukas (NO), karaniwang sarado (NC) at karaniwang (COM). Sa walang estado ng pag-input, ang COM ay konektado sa NC. Kapag inilapat ang boltahe ng operating ang relay coil ay pinalakas at ang COM ay nagbabago ng contact sa NO. Ang magkakaibang mga pagsasaayos ng relay ay magagamit tulad ng SPST, SPDT, DPDT atbp, na may iba't ibang bilang ng mga contact sa pagbabago. Sa pamamagitan ng paggamit ng wastong kombinasyon ng mga contactor, ang de-koryenteng circuit ay maaaring ma-on at i-off. Kumuha ng mga panloob na detalye tungkol sa istraktura ng isang relay switch.

Ang COM terminal ay ang karaniwang terminal. Kung ang mga terminal ng COIL ay pinalakas ng na-rate na boltahe, ang COM at ang WALANG mga terminal ay may pagpapatuloy. Kung ang mga terminal ng COIL ay hindi pinalakas, pagkatapos ang COM at ang NO terminal ay walang pagpapatuloy.

Ang NC terminal ay ang Normally Closed terminal. Ito ang terminal na maaaring mapagana kahit na ang relay ay hindi nakatanggap ng anuman o sapat na boltahe upang gumana.

Ang terminal na WALANG terminal ay ang Normally Open terminal. Ito ang terminal kung saan inilalagay mo ang output na gusto mo kapag natanggap ng relay ang na-rate na boltahe. Kung walang boltahe sa mga terminal ng COIL o hindi sapat na boltahe, ang output ay bukas at hindi tumatanggap ng boltahe. Kapag natanggap ng mga terminal ng COIL ang na-rate na boltahe o kaunti sa ilalim, ang NO terminal ay tumatanggap ng sapat na boltahe at maaaring i-on ang aparato sa output.

2. sensor ng temperatura ng DHT

Ang DHT11 ay isang Humidity at Temperature Sensor, na bumubuo ng naka-calibrate na digital na output. Ang DHT11 ay maaaring maging interface sa anumang micro controller tulad ng Arduino, Raspberry Pi, atbp at makakuha ng mga instant na resulta. Ang DHT11 ay isang mababang halumigmig at sensor ng temperatura na nagbibigay ng mataas na pagiging maaasahan at pangmatagalang katatagan.

3. ESP8266 Kumpletong Paglalarawan

Ang ESP8266 WiFi Module ay isang self nilalaman na SOC na may integrated TCP / IP protocol stack na maaaring magbigay ng anumang access ng microcontroller sa iyong WiFi network. Ang ESP8266 ay may kakayahang mag-host ng isang pagpapaandar sa aplikasyon ng aplikasyon mula sa isa pang application Ang bawat module na ESP8266 ay paunang na-program na may utos na AT.

Sinusuportahan ng ESP8266 ang APSD para sa mga aplikasyon ng VoIP at mga interface ng co-pagkakaroon ng Bluetooth, naglalaman ito ng isang naka-calibrate na RF na pinapayagan itong gumana sa ilalim ng lahat ng mga kondisyon sa pagpapatakbo, at hindi nangangailangan ng mga panlabas na bahagi ng RF.

Mga Tampok

  • 802.11 b / g / n
  • Wi-Fi Direct (P2P),
  • soft-APIntegrated TCP / IP protocol stack
  • Pinagsamang TR switch, balun, LNA, power amplifier at pagtutugma ng network
  • Pinagsamang mga PLL, regulator, DCXO at mga yunit ng pamamahala ng kuryente
  • + 19.5dBm output power sa 802.11b mode
  • I-power down ang kasalukuyang tagas ng <10uA
  • 1MB Flash Memory
  • Ang integradong mababang lakas na 32-bit na CPU ay maaaring magamit bilang application processor
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU pagsasama-sama at 0.4ms agwat ng guwardya
  • Gumising at magpadala ng mga packet sa <2ms
  • Pagkonsumo ng standby power na <1.0mW (DTIM3)

Pin Paglalarawan tulad ng ipinapakita sa imahe i34.

Para sa pagkonekta ng ESP Module sa Arduino UNO kailangan namin ng Lm1117 3.3 voltage regulator o anumang regulator dahil ang Arduino ay hindi kayang magbigay ng 3.3 v sa ESP8266.

Tandaan: - Habang ina-upload ang code pindutin ang flash button at pagkatapos ay pindutin ang reset button nang isang beses at pagkatapos ay bitawan ang flash button tulad ng ipinakita sa imahe i29.

Para sa pagkonekta ng DHT11 sensor at relay gumagamit kami ng dalawang mga GPIO pin ng ESP8266 Module. Matapos i-upload ang code maaari mong idiskonekta ang mga pin ng RX, TX, GPIO0. Gumamit ako ng GPIO0 para sa DHT11 sensor at GPIO2 para sa mga relay. Ang sensor ng DHT11 ay gumagana nang maayos sa ESP8266 ngunit para sa mga relay kailangan namin ng isang dagdag na bagay na ie ng opto isolator o opto coupler. Tingnan ang imaheng i30, i31, i32 at i33.

Hakbang 5: Mga Koneksyon

ESP8266 ===> DHT11GPIO0 ===> Pin ng output

ESP8266 ===> RelayGPIO2 ===> Input

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

I-reset ang Button ===> RST

Flash Button ===> GPIO0

Hakbang 6: Sinusuri ang Lahat ng mga Bagay

Sinusuri ang Lahat ng Bagay
Sinusuri ang Lahat ng Bagay
Sinusuri ang Lahat ng Bagay
Sinusuri ang Lahat ng Bagay
Sinusuri ang Lahat ng Bagay
Sinusuri ang Lahat ng Bagay
Sinusuri ang Lahat ng Bagay
Sinusuri ang Lahat ng Bagay

Matagumpay naming nilikha ang aming app, kasanayan at handa na ang aming hardware. Kaya, oras na upang suriin.

Para doon ang iyong ESP8266 ay pinapagana dahil ang aming server ay tumatakbo sa ESP8266. Dito hindi ko nakakonekta ang anumang sensor sa ESP8266 Sinusuri ko lamang kung gumagana ito o hindi ngunit maaari mong ikonekta ang sensor, i-relay sa ESP8266. Kapag ito ay konektado sa Heroku makikita mo ang konektado. Para sa pagsubok pumunta sa kasanayan sa Amazon na nilikha mo, pagkatapos ay mag-click sa pahina ng pagsubok. Kapag napatunayan ang pagtatrabaho nito ay ikonekta ko ang aking sensor sa ESP8266. Maaari mong makita ang mga resulta tulad ng ipinapakita sa mga imahe i35, i36, 37, 38, 39, 40.

Kung gagamitin mo ito nang hindi kumokonekta sa ESP8266 nakukuha mo ang error na ito tulad ng ipinakita sa imaheng i41.

Utterance na maaari mong gamitin

itakda ang switch trigger sa {Mga Numero} porsyento {tmp_scale}

hal: - itakda ang switch gatilyo sa 50 porsyento na kahalumigmigan

Ang {query} ay ang estado ng paglipat

ang ex-on / off ay ang estado ng switch

Pag-trigger ng switch ng {Switch_State}

ex -on / off switch gatilyo

itakda ang paglipat ng switch sa {Mga Numero} degree {tmp_scale}

dating - set switch switch sa 76 degree fahrenheit

dating - set switch switch sa 24 degree celcius

lumipat sa {Switch_State}

dating - i-on / i-off ang switch

Tingnan ang imahe i41 hanggang i46 para sa mga resulta.

Habang nakikipag-usap sa AlexaAlexa, hilingin sa arduino na i-on / i-off ang switch ng switch

Alexa, hilingin kay arduino na itakda ang switch trigger sa 24 degree celsius.

Alexa, hilingin sa arduino na itakda ang switch trigger sa 50 porsyento na kahalumigmigan

Alexa, hilingin kay arduino na i-on / i-off ang switch

Hakbang 7: Diagram ng VUI (Voice User Interface)

VUI (Voice User Interface) Diagram
VUI (Voice User Interface) Diagram

Hakbang 8: Demo

Image
Image

1. Itakda ang trigger para sa temperatura at halumigmig.

2. Itakda ang gatilyo sa 20 degree celsius.

3. Itakda ang trigger sa 80 porsyento na kahalumigmigan.

Hakbang 9: Skematika

Inirerekumendang: