Përmbajtje:

Ndërprerës i kontrolluar nga zëri duke përdorur Alexa dhe Arduino: 10 hapa (me fotografi)
Ndërprerës i kontrolluar nga zëri duke përdorur Alexa dhe Arduino: 10 hapa (me fotografi)

Video: Ndërprerës i kontrolluar nga zëri duke përdorur Alexa dhe Arduino: 10 hapa (me fotografi)

Video: Ndërprerës i kontrolluar nga zëri duke përdorur Alexa dhe Arduino: 10 hapa (me fotografi)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Nëntor
Anonim
Ndërprerës i kontrolluar nga zëri duke përdorur Alexa dhe Arduino
Ndërprerës i kontrolluar nga zëri duke përdorur Alexa dhe Arduino

Qëllimi kryesor i këtij projekti është përdorimi i sensorit të temperaturës për të kontrolluar çelësin (stafetë) për të ndezur ose fikur pajisjen.

Lista e materialeve

  1. Moduli i stafetës 12V ==> $ 4.2
  2. Arduino uno ==> 8 dollarë
  3. Sensori i temperaturës DHT11 ==> 3 dollarë
  4. ESP8266 Moduli ==> $ 4.74
  5. N26 optokoupler ==> $ 0.60
  6. Rregullatori i tensionit LM1117 ==> $ 0.60
  7. Breadboard ==> $ 2.2
  8. Telat e kërcyesit ==> 2.5 dollarë
  9. Shtyp butonin ==> 2.5 dollarë

Kostoja totale e projektit është rreth 30 dollarë. Ky projekt është i ndarë në tri pjesë. Së pari, ne përdorim heroku për të krijuar një aplikacion. Së dyti, ne ndërtojmë një aftësi Amazon Alexa për të zbatuar punën tonë (Pjesa më e rëndësishme). Së treti, ne konfigurojmë harduerin tonë dhe e programojmë duke përdorur Arduino IDE.

Hapi 1: Lidhja e Heroku me GitHub

Lidhja e Heroku me GitHub
Lidhja e Heroku me GitHub
Lidhja e Heroku me GitHub
Lidhja e Heroku me GitHub
Lidhja e Heroku me GitHub
Lidhja e Heroku me GitHub

Heroku është një platformë cloud si një shërbim (PaaS) që mbështet disa gjuhë programimi që përdoret si një model i vendosjes së aplikacionit në internet. Së pari, shkoni në faqen heroku krijoni një llogari të re ose identifikohuni atje. Lidhja është dhënë më poshtë

Uebfaqe Heroku

Le të fillojmë me krijimin e një aplikacioni të ri. Unë i kam dhënë emrin e aplikacionit tim "iottempswitch" kur vendosni aplikacionin, lidhja gjenerohet.

Pasi të bëhet aplikacioni, shkoni te GitHub. GitHub/

Hyni atje ose regjistrohuni nëse nuk keni një llogari. Pasi të jeni regjistruar krijoni një depo të re. Jepni çdo emër që dëshironi të zgjidhni dhe më pas shtypni krijimin e depove. Në faqen tjetër klikoni mbi README, në këtë faqe jepni përshkrimin që dëshironi të ndani me të tjerët. Pas kësaj, klikoni në kryerjen e një skedari të ri. Tjetra, klikoni në butonin e ngarkimit.

Ekzistojnë dy mundësi ose zvarritni dhe lëshoni dosjen ose zgjidhni skedarin. Shkarkoni skedarët e kërkuar nga poshtë. Pas zgjedhjes së skedarëve, shtypni kryer ndryshimet. Hapni aplikacionin që keni krijuar në Heroku, pastaj shkoni te seksioni i vendosjes. Pas kësaj Klikoni në GitHub. Jepni emrin e depove që keni krijuar në anën e GitHub. Në rastin tim është Smart-Relay. Kopjojeni dhe ngjiteni këtu. Pasi të shfaqet lidhja juaj, klikoni në lidhje. Tjetra, klikoni në vendosjen e degës (manual). Pas vendosjes mund të shihni lidhjen në regjistrin e ndërtimit ose mund të shihni lidhjen në cilësimet. Ne kemi nevojë për këtë lidhje më vonë kur po bëjmë aftësi Amazon.

Hapi 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Imazhet më të fundit të aftësive Alexa

Në faqen Amazon Developer ne përdorim aftësinë Amazon për të kontrolluar kalimin e kalimit duke vendosur temperaturën dhe lagështinë.

Shkoni te Faqja e Zhvilluesve të Amazon. Lidhja është dhënë më poshtë.

Uebfaqja e Zhvilluesit të Amazon

  • Shkoni te tastiera e Zhvilluesit në të djathtë, siç tregohet në figurën i4
  • Shkoni te Alexa pastaj zgjidhni Alexa Skill Kit dhe më pas krijoni aftësi të reja duke klikuar në Shto aftësi të reja.

Kur shtoni aftësi të reja do të shihni faqen e informacionit të aftësive.

1. Informacioni i aftësive (siç tregohet në imazhin i7)

ne duhet të sigurojmë llojin e aftësive, gjuhën, emrin, emrin e thirrjes.

Lloji i aftësive ==> zgjidhni personal

  • Emri ==> zgjidhni ndonjë emër.
  • Emri i thirrjes ==> të cilin e përdorni gjatë komunikimit me Alexa. Për shembull;- Alexa, kërkoni nga sensori që të aktivizojë çelësin e ndezjes ose Alexa, pyesni dritën këtu Emrat e thirrjeve janë sensorë dhe dritë.
  • Gjuha ==> Anglisht (Indi). Zgjidhni sipas vendit tuaj

klikoni ruaj dhe pastaj tjetër

2. Modeli i ndërveprimit

Këtu, ne do të përdorim aftësi ndërtuese. Pra, klikoni në Launch Skill Builder. do të shihni faqen siç tregohet në imazhin i8.

Së pari ne krijojmë synime të reja. Klikoni në Shto (në anën e majtë) dhe jepni çdo emër që dëshironi, kam përdorur "zgjuarin"

  • Jepni emrin e llojit të slotit "lloji_madhimi" dhe vlerat e slotit "temperatura" dhe "lagështia" siç tregohet në imazhin i9.

  • Pas kësaj shtoni emrin e llojit të slotit "query" dhe vlerat e slotit janë "what" dhe "is" siç tregohet në imazhin i10.
  • Pas kësaj shtoni llojin e slotit "switchstate" dhe vlerat e slotit janë "on" dhe "off" siç tregohet në imazhin i11.
  • Shtoni një lloj tjetër slot "shkallë kohore" dhe vlerat e slotit janë "fahrenheit" dhe "celcuis" siç tregohet në imazhin i12.
  • Pas kësaj shtoni llojin e ri të slotit këtu ne përdorim llojin ekzistues të slotit për këtë ne duhet të klikojmë në përdorimin e slotit ekzistues. Në slotin ekzistues kërkoni për amazon.number dhe zgjidhni këtë dhe shtojeni atë. Pas shtimit të tij do ta shihni në llojet e slotit siç tregohet në imazhin i13.

Pra, ne kemi mbaruar me llojet e slot -ave, lloji i përgjithshëm i slotit që po përdorim është 5. Tani, kaloni në hapin tjetër. Klikoni në qëllimin që kemi krijuar, në rastin tim është smartswitch. Në anën e djathtë do të shihni slotin e synimit siç tregohet në imazhin i14.

  • Krijoni një vend të ri, vendosni emrin "Switch_State" dhe hartojeni atë në "switchstate" duke përdorur butonin drop down siç tregohet në imazhin i15.
  • Krijoni një slot të ri, jepni emrin "Sensor_Values" dhe hartojeni atë në "tipin e matjes" siç tregohet në imazhin i16.
  • Krijoni një slot të ri, jepni emrin "query" dhe vendoseni në "query" siç tregohet në imazhin i17.
  • Pas kësaj krijoni një slot të ri "tmp_scale" dhe hartojeni atë në "tempscale" siç tregohet në imazhin i18.
  • Krijoni një slot të ri "Numrat" dhe hartojeni atë në "Amazon. Numbers" siç tregohet në imazhin i19.

Tani kemi mbaruar me lojëra elektronike Intent. Ne po përdorim 5 lojëra elektronike me qëllim. Pas kësaj ne kalojmë në Sample Utterances siç tregohet në imazhin i20.

Shtoni këtë shembull të thënieve.

caktoni kalimin e kalimit në {Numrat} përqind {tmp_scale}

{query} është gjendja e kalimit

Shkaktari i ndërrimit të {Switch_State}

caktoni kalimin e kalimit në {Numrat} shkalla {tmp_scale}

kthejeni çelësin {Switch_State}

{query} switch {Switch_State}

{query} është {Sensor_Values} aktuale

Pas kësaj ruani modelin dhe ndërtojeni atë. Prisni që modeli të ndërtohet pas kësaj klikoni në konfigurim. Pas ndërtimit do të shihni mesazhin siç tregohet në imazhin i21 dhe i22.

3. Konfigurimi

Zgjidhni HTTPS dhe shtoni lidhjen e krijuar gjatë krijimit të aplikacionit heroku. Në rastin tim është https://iottempswitch.herokuapp.com/. Pas shtimit të lidhjes klikoni në tjetrën siç tregohet në imazhin i23.

4. Certifikata SSL Përzgjidhni opsionin e dytë dhe klikoni në tjetrin siç tregohet në imazhin i24.

ne kemi krijuar me sukses aftësitë tona.

Hapi 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Hapni Arduino IDE. Pastaj shkoni te Skedari ==> Preferenca

Në Menaxherin e Bordeve Shtesë, kopjoni dhe ngjisni URL -në dhe klikoni ok siç tregohet në imazhin i26.

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

  • Hapni Menaxherin e Bordit duke shkuar te Tools ==> Board ==> Menaxheri i Bordit.
  • Hapni Bordet Menaxher dhe kërkoni nodemcu siç tregohet në imazhin i27.
  • Pas kësaj shkarkoni bibliotekën ESP8266WiFi. Hapni Menaxherin e bibliotekës: Skiconi ==> Përfshini bibliotekën ==> Menaxhoni bibliotekat.
  • Kërkoni për bibliotekën ESP8266WiFi dhe instalojeni atë.
  • Zgjidhni tabelën ==> Moduli Generic ESP8266.
  • Para se të ngarkojmë kodin na duhen tre biblioteka.

Bibliotekat e nevojshme

Zhvendosni këto biblioteka në dosjen e bibliotekave të Arduino

Ju duhet të ndryshoni tre gjëra në kodin SSID, PWD dhe lidhjen tuaj të aplikacionit heroku. Pas kësaj ngarkoni kodin. Për ESP Modulin ju duhet të shtypni butonin flash gjatë ngarkimit të kodit dhe pastaj shtypni butonin e rivendosjes një herë dhe më pas lëshoni butonin e blicit. Pasi të keni ngarkuar kodin, hapni terminalin. do të shihni daljen.

Hapi 4: Përshkrimi i përbërësit

Përshkrimi i komponentit
Përshkrimi i komponentit
Përshkrimi i komponentit
Përshkrimi i komponentit
Përshkrimi i komponentit
Përshkrimi i komponentit
Përshkrimi i komponentit
Përshkrimi i komponentit

1. Çfarë është një Stafetë

Rele është një pajisje elektromagnetike e cila përdoret për të izoluar dy qarqe në mënyrë elektrike dhe për t'i lidhur ato magnetikisht. Ato janë pajisje shumë të dobishme dhe lejojnë që një qark të ndërrojë një tjetër, ndërsa ato janë plotësisht të ndara. Ato shpesh përdoren për të ndërlidhur një qark elektronik (duke punuar në një tension të ulët) në një qark elektrik i cili punon në tension shumë të lartë. Për shembull, një stafetë mund të bëjë një qark baterie 5V DC për të ndërruar një qark rrjeti AC 230V.

Si punon

Një ndërprerës mund të ndahet në dy pjesë: hyrje dhe dalje. Seksioni i hyrjes ka një spirale e cila gjeneron fushë magnetike kur një tension i vogël nga një qark elektronik aplikohet në të. Ky tension quhet tensioni i funksionimit. Reletë e përdorura zakonisht janë të disponueshme në konfigurime të ndryshme të tensioneve të funksionimit si 6V, 9V, 12V, 24V etj. Seksioni i daljes përbëhet nga kontaktorë të cilët lidhen ose shkëputen mekanikisht. Në një stafetë bazë ka tre kontaktorë: normalisht të hapur (JO), normalisht të mbyllur (NC) dhe të zakonshëm (COM). Në asnjë gjendje hyrëse, COM është e lidhur me NC. Kur zbatohet tensioni i funksionimit spiralja e stafetës merr energji dhe COM ndryshon kontaktin me JO. Konfigurime të ndryshme të stafetë janë në dispozicion si SPST, SPDT, DPDT etj, të cilat kanë numër të ndryshëm të kontakteve kalimtare. Duke përdorur kombinimin e duhur të kontaktorëve, qarku elektrik mund të ndizet dhe fiket. Merrni detaje të brendshme në lidhje me strukturën e një ndërprerësi stafetë.

Terminali COM është terminali i zakonshëm. Nëse terminalet COIL janë të aktivizuar me tensionin e vlerësuar, terminalet COM dhe NO kanë vazhdimësi. Nëse terminalet COIL nuk janë të aktivizuar, atëherë terminalet COM dhe NO nuk kanë vazhdimësi.

Terminali NC është terminali i mbyllur normalisht. Shtë terminali që mund të ndizet edhe nëse stafeta nuk merr ndonjë ose tension të mjaftueshëm për të punuar.

Terminali JO është terminali Normalisht i Hapur. Shtë terminali ku vendosni daljen në të cilën dëshironi kur stafeta merr tensionin e saj të vlerësuar. Nëse nuk ka tension në terminalet COIL ose tension të pamjaftueshëm, dalja është e hapur dhe nuk merr tension. Kur terminalet COIL marrin tensionin e vlerësuar ose pak më poshtë, terminali NO merr tension të mjaftueshëm dhe mund të ndezë pajisjen në dalje.

2. Sensori i temperaturës DHT

DHT11 është një Sensor Lagështie dhe Temperature, i cili gjeneron dalje dixhitale të kalibruar. DHT11 mund të jetë ndërfaqe me çdo mikro kontrollues si Arduino, Raspberry Pi, etj dhe të marrë rezultate të menjëhershme. DHT11 është një sensor i lagështisë dhe temperaturës me kosto të ulët i cili siguron besueshmëri të lartë dhe stabilitet afatgjatë.

3. ESP8266 Përshkrimi i plotë

Moduli WiFi ESP8266 është një SOC i pavarur me pirg protokolli të integruar TCP/IP që mund t'i japë çdo mikrokontrolluesi akses në rrjetin tuaj WiFi. ESP8266 është i aftë ose të mbajë funksionet e rrjetit të aplikacioneve nga një aplikacion tjetër Çdo modul ESP8266 vjen i para-programuar me një komandë AT.

ESP8266 mbështet APSD për aplikacionet VoIP dhe ndërfaqet e bashkëjetesës Bluetooth, përmban një RF të vetë-kalibruar që e lejon atë të punojë në të gjitha kushtet e funksionimit dhe nuk kërkon pjesë të jashtme RF.

Karakteristikat

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P),
  • pirg protokolli TCP/IP i integruar i butë
  • Ndërprerës TR i integruar, balun, LNA, përforcues i energjisë dhe rrjet i përshtatshëm
  • PLL -të e integruara, rregullatorët, DCXO dhe njësitë e menaxhimit të energjisë
  • +19.5dBm fuqi dalëse në modalitetin 802.11b
  • Fikni rrymën e rrjedhjes prej <10uA
  • Memorie flash 1 MB
  • CPU e integruar me fuqi të ulët 32-bit mund të përdoret si procesor aplikimi
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU grumbullim & 0.4ms interval roje
  • Zgjohuni dhe transmetoni pako në <2ms
  • Konsumi i energjisë në gatishmëri <1.0mW (DTIM3)

Përshkrimi i pinit siç tregohet në imazhin i34.

Për lidhjen e modulit ESP me Arduino UNO na duhet rregullatori i tensionit Lm1117 3.3 ose ndonjë rregullator sepse Arduino nuk është në gjendje të sigurojë 3.3 v për ESP8266.

Shënim:- Ndërsa ngarkoni kodin shtypni butonin flash dhe më pas shtypni butonin e rivendosjes një herë dhe më pas lëshoni butonin e blicit siç tregohet në imazhin i29.

Për lidhjen e sensor DHT11 dhe stafetë ne përdorim dy kunja GPIO të Modulit ESP8266. Pas ngarkimit të kodit mund të shkëputni kunjat RX, TX, GPIO0. Unë kam përdorur GPIO0 për sensorin DHT11 dhe GPIO2 për stafetat. Sensori DHT11 punon mirë me ESP8266, por për stafetat ne kemi nevojë për një gjë shtesë, domethënë izolatorin opto ose bashkuesin opto. Shihni imazhin i30, i31, i32 dhe i33.

Hapi 5: Lidhjet

ESP8266 ===> DHT11GPIO0 ===> Kodi dalës

ESP8266 ===> RelayGPIO2 ===> Hyrje

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Butoni i rivendosjes ===> RST

Butoni i ndezjes ===> GPIO0

Hapi 6: Kontrollimi i të gjitha gjërave

Kontrollimi i të gjitha gjërave
Kontrollimi i të gjitha gjërave
Kontrollimi i të gjitha gjërave
Kontrollimi i të gjitha gjërave
Kontrollimi i të gjitha gjërave
Kontrollimi i të gjitha gjërave
Kontrollimi i të gjitha gjërave
Kontrollimi i të gjitha gjërave

Ne kemi krijuar me sukses aplikacionin, aftësinë tonë dhe pajisja jonë është gati. Pra, është koha për të kontrolluar.

Për këtë ESP8266 juaj është i ndezur sepse serveri ynë po funksionon në ESP8266. Këtu nuk kam lidhur asnjë sensor me ESP8266 Unë thjesht po kontrolloj nëse funksionon apo jo, por ju mund ta lidhni sensorin, stafetë me ESP8266. Pasi të lidhet me Heroku do të shihni të lidhur. Për testim shkoni te aftësia Amazon që keni krijuar, pastaj klikoni në faqen e testimit. Pasi të verifikohet se funksionon, unë do ta lidh sensorin tim me ESP8266. Ju mund të shihni rezultatet siç tregohen në imazhet i35, i36, 37, 38, 39, 40.

Nëse e përdorni pa lidhur ESP8266 ju merrni këtë gabim siç tregohet në imazhin i41.

Shprehje që mund të përdorni

caktoni kalimin e kalimit në {Numrat} përqind {tmp_scale}

psh:- vendosni këmbëzën e kalimit në 50 përqind lagështi

{query} është gjendja e kalimit

ex-on/off është gjendja e kalimit

Shkaktari i ndërrimit të {Switch_State}

këmbëzën e kalimit ex -on/off

caktoni kalimin e kalimit në {Numrat} shkalla {tmp_scale}

ex -vendosur kaloni kaloni në 76 gradë Fahrenheit

ex -vendosur kaloni kaloni në 24 gradë celcius

kthejeni çelësin {Switch_State}

ish - ndizni/fikni çelësin

Shikoni imazhin i41 në i46 për rezultate.

Ndërsa flisni me AlexaAlexa, kërkoni nga arduino të aktivizojë/çaktivizojë çelësin e ndërrimit

Alexa, kërko nga arduino të vendosë këmbëzën e kalimit në 24 gradë celsius.

Alexa, kërko nga arduino të vendosë këmbëzën e kalimit në 50 përqind lagështi

Alexa, kërko nga arduino të aktivizojë/çaktivizojë ndezjen

Hapi 7: Diagrami VUI (Ndërfaqja e Përdoruesit të Zërit)

Diagrami VUI (Ndërfaqja e Përdoruesit të Zërit)
Diagrami VUI (Ndërfaqja e Përdoruesit të Zërit)

Hapi 8: Demo

Image
Image

1. Vendosni shkas për temperaturën dhe lagështinë.

2. Vendosni këmbëzën në 20 gradë celsius.

3. Vendosni shkas në lagështi 80 përqind.

Hapi 9: Skematike

Recommended: