Kazalo:

Glasovno stikalo, ki uporablja Alexa in Arduino: 10 korakov (s slikami)
Glasovno stikalo, ki uporablja Alexa in Arduino: 10 korakov (s slikami)

Video: Glasovno stikalo, ki uporablja Alexa in Arduino: 10 korakov (s slikami)

Video: Glasovno stikalo, ki uporablja Alexa in Arduino: 10 korakov (s slikami)
Video: Высокая плотность 2022 2024, December
Anonim
Glasovno stikalo z uporabo Alexa in Arduino
Glasovno stikalo z uporabo Alexa in Arduino

Glavni cilj tega projekta je uporaba temperaturnega senzorja za upravljanje stikala (releja) za vklop ali izklop naprave.

Seznam materialov

  1. 12V relejni modul ==> 4,2 USD
  2. Arduino uno ==> 8 USD
  3. Temperaturni senzor DHT11 ==> 3 USD
  4. Modul ESP8266 ==> 4,74 USD
  5. Optični sklopnik N26 ==> 0,60 USD
  6. LM1117 regulator napetosti ==> 0,60 USD
  7. Ogledna plošča ==> 2,2 USD
  8. Mostične žice ==> 2,5 USD
  9. Pritisnite gumb ==> 2,5 USD

Skupni stroški projekta znašajo približno 30 dolarjev. Ta projekt je razdeljen na tri dele. Najprej za ustvarjanje aplikacije uporabimo heroku. Drugič, za izvajanje svojega dela gradimo veščino Amazon Alexa (najpomembnejši del). Tretjič, nastavimo strojno opremo in jo programiramo z uporabo Arduino IDE.

Korak: Povežite Heroku z GitHubom

Povezovanje Heroku z GitHubom
Povezovanje Heroku z GitHubom
Povezovanje Heroku z GitHubom
Povezovanje Heroku z GitHubom
Povezovanje Heroku z GitHubom
Povezovanje Heroku z GitHubom

Heroku je oblačna platforma kot storitev (PaaS), ki podpira več programskih jezikov in se uporablja kot model uvajanja spletnih aplikacij. Najprej pojdite na spletno mesto heroku in ustvarite nov račun ali se tam prijavite. Povezava je podana spodaj

Spletno mesto Heroku

Začnimo z ustvarjanjem nove aplikacije. Ko sem uvedel aplikacijo, sem svoji aplikaciji dal ime "iottempswitch", povezava je ustvarjena.

Ko je aplikacija narejena, pojdite na GitHub. GitHub/

Prijavite se tam ali se prijavite, če nimate računa. Ko ste prijavljeni, ustvarite novo skladišče. Dajte poljubno ime, ki ga želite izbrati, in nato pritisnite create repository. Na naslednji strani kliknite README, na tej strani dajte opis, ki ga želite deliti z drugimi. Po tem kliknite na potrditev nove datoteke. Nato kliknite gumb za nalaganje.

Obstajata dve možnosti: povleci in spusti mapo ali pa izberite datoteko. Od spodaj prenesite potrebne datoteke. Po izbiri datotek pritisnite spremembe. Odprite aplikacijo, ki ste jo ustvarili v Heroku, nato pojdite na razdelek za uvajanje. Nato kliknite na ime skladišča GitHub. Give, ki ste ga ustvarili na strani GitHub. V mojem primeru je to Smart-Rele. Kopirajte in prilepite sem. Ko se prikaže vaša povezava, kliknite povezavo. Nato kliknite na razporedi vejo (ročno). Po uvedbi lahko vidite povezavo v dnevniku gradnje ali pa povezavo v nastavitvah. To povezavo potrebujemo pozneje, ko bomo pridobili znanje Amazon.

2. korak: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Najnovejše slike Alexa spretnosti

Na spletnem mestu Amazon Developer uporabljamo veščine Amazon za nadzor sprožilca stikala z nastavitvijo temperature in vlažnosti.

Pojdite na spletno mesto razvijalca Amazon. Povezava je podana spodaj.

Spletno mesto Amazon Developer

  • Pojdite na konzolo za razvijalce zgoraj desno, kot je prikazano na sliki i4
  • Pojdite na Alexa, nato izberite Alexa Skill Kit in ustvarite novo veščino s klikom na Dodaj novo spretnost.

Ko dodate novo znanje, boste videli stran z informacijami o spretnostih.

1. Informacije o spretnostih (kot je prikazano na sliki i7)

navesti moramo vrsto spretnosti, jezik, ime, ime klica.

Vrsta spretnosti ==> izberite po meri

  • Ime ==> izberite poljubno ime.
  • Ime priklica ==>, ki ga uporabljate med komunikacijo z Alexa. Na primer;- Alexa, prosite senzor, da vklopi sprožilec stikala ali Alexa, prižgano luč tukaj prikličeta imena senzor in svetloba.
  • Jezik ==> angleščina (Indija). Izberite glede na vašo državo

kliknite shrani in nato naprej

2. Model interakcije

Tukaj bomo uporabili graditelja veščin. Torej, kliknite Launch Skill Builder. videli boste stran, kot je prikazano na sliki i8.

Najprej ustvarimo nove namene. Kliknite Dodaj (na levi strani) in vnesite poljubno ime, ki sem ga uporabil "smartswitch"

  • Navedite ime vrste reže "vrsta meritve" in vrednosti reže "temperatura" in "vlažnost", kot je prikazano na sliki i9.
  • Po tem dodajte ime vrste reže "poizvedba" in vrednosti reže so "kaj" in "je", kot je prikazano na sliki i10.
  • Po tem dodajte vrsto reže "switchstate" in vrednosti reže so "on" in "off", kot je prikazano na sliki i11.
  • Dodajte drugo vrsto reže "tempscale" in vrednosti reže so "fahrenheit" in "celcuis", kot je prikazano na sliki i12.
  • Po tem dodamo novo vrsto reže, pri čemer uporabimo obstoječo vrsto reže, za katero moramo klikniti Uporabi obstoječo režo. V obstoječi reži poiščimo amazon.number ter jo izberemo in dodamo. Ko ga dodate, ga boste videli v vrstah rež, kot je prikazano na sliki i13.

Tako smo končali z vrstami rež, ki jih uporabljamo. 5. Zdaj pojdite na naslednji korak. Kliknite na namen, ki smo ga ustvarili, v mojem primeru je to pametno stikalo. Na desni strani boste videli režo za namen, kot je prikazano na sliki i14.

  • Ustvarite novo režo, ji dajte ime "Switch_State" in jo s spustnim gumbom, kot je prikazano na sliki i15, preslikajte v "switchstate".
  • Ustvarite novo režo, ji dajte ime "Sensor_Values" in jo preslikajte v "duration_type", kot je prikazano na sliki i16.
  • Ustvarite novo režo, ji dajte ime "query" in jo preslikajte v "query", kot je prikazano na sliki i17.
  • Po tem ustvarite novo režo "tmp_scale" in jo preslikajte v "tempscale", kot je prikazano na sliki i18.
  • Ustvarite novo režo "Numbers" in jo preslikajte v "Amazon. Numbers", kot je prikazano na sliki i19.

Zdaj smo končali z režami Intent. Uporabljamo 5 namenskih mest. Po tem se premaknemo na Vzorčne izjave, kot je prikazano na sliki i20.

Dodajte te vzorčne izjave.

sprožilec stikala nastavite na {Numbers} odstotkov {tmp_scale}

{query} je stanje stikala

Sprožilec stikala {Switch_State}

sprožilec stikala nastavite na {Numbers} stopnjo {tmp_scale}

zavrtite stikalo {Switch_State}

{query} stikalo {Switch_State}

{query} je trenutni {Sensor_Values}

Po tem shranite model in ga zgradite. Počakajte, da se model sestavi, nato kliknite konfiguracijo. Po izgradnji boste videli sporočilo, kot je prikazano na slikah i21 in i22.

3. Konfiguracija

Izberite HTTPS in dodajte povezavo, ki je nastala pri ustvarjanju aplikacije heroku. V mojem primeru je https://iottempswitch.herokuapp.com/. Po dodajanju povezave kliknite na naslednjo, kot je prikazano na sliki i23.

4. SSL certifikat Izberite drugo možnost in kliknite naprej, kot je prikazano na sliki i24.

uspešno smo ustvarili svoje sposobnosti.

3. korak: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Odprite Arduino IDE, nato pojdite na Datoteka ==> Nastavitve

V upravitelju dodatnih plošč kopirajte in prilepite URL in kliknite v redu, kot je prikazano na sliki i26.

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

  • Odprite Upravitelja odbora tako, da odprete Orodja ==> Board ==> Upravitelj odbora.
  • Odprite upravitelja plošč in poiščite nodemcu, kot je prikazano na sliki i27.
  • Po tem prenesite knjižnico ESP8266WiFi. Odprite upravitelja knjižnice: Sketch ==> Vključi knjižnico ==> Upravljanje knjižnic.
  • Poiščite knjižnico ESP8266WiFi in jo namestite.
  • Izberite ploščo ==> Splošni modul ESP8266.
  • Preden naložimo kodo, potrebujemo tri knjižnice.

Potrebne knjižnice

Te knjižnice premaknite v mapo knjižnic Arduina

V kodi SSID, PWD in povezavi do aplikacije heroku morate spremeniti tri stvari. Po tem naložite kodo. Za modul ESP morate med nalaganjem kode pritisniti gumb bliskavice, nato enkrat pritisniti gumb za ponastavitev in nato spustiti gumb bliskavice. Ko naložite kodo, odprite terminal. videli boste izhod.

4. korak: Opis komponente

Opis komponente
Opis komponente
Opis komponente
Opis komponente
Opis komponente
Opis komponente
Opis komponente
Opis komponente

1. Kaj je rele

Rele je elektromagnetna naprava, ki se uporablja za električno izolacijo dveh vezij in njihovo magnetno povezavo. So zelo uporabne naprave in omogočajo, da eno vezje preklopi na drugo, medtem ko sta popolnoma ločena. Pogosto se uporabljajo za povezovanje elektronskega vezja (ki deluje pri nizki napetosti) v električno vezje, ki deluje pri zelo visoki napetosti. Na primer, rele lahko naredi 5V DC akumulatorsko vezje za preklop na 230V AC omrežni tokokrog.

Kako deluje

Relejsko stikalo lahko razdelimo na dva dela: vhodni in izhodni. Vhodni odsek ima tuljavo, ki generira magnetno polje, ko se nanjo priključi majhna napetost iz elektronskega vezja. Ta napetost se imenuje delovna napetost. Pogosto uporabljeni releji so na voljo v različnih konfiguracijah delovnih napetosti, kot so 6V, 9V, 12V, 24V itd. Izhodni del je sestavljen iz kontaktorjev, ki se priključijo ali odklopijo mehansko. V osnovnem releju so trije kontaktorji: normalno odprt (NO), normalno zaprt (NC) in skupni (COM). Brez vhodnega stanja je COM povezan z NC. Ko deluje delovna napetost, se relejna tuljava aktivira in COM spremeni kontakt v NO. Na voljo so različne konfiguracije relejev, kot so SPST, SPDT, DPDT itd., Ki imajo različno število stikov za preklop. Z ustrezno kombinacijo kontaktorjev lahko vklopite in izklopite električni tokokrog. Pridobite notranje podrobnosti o strukturi relejnega stikala.

COM terminal je skupni terminal. Če so priključki COIL pod napetostjo z nazivno napetostjo, imata priključka COM in NO neprekinjeno. Če priključki COIL niso pod napetostjo, potem spona COM in NO nimata neprekinjenosti.

NC terminal je normalno zaprt terminal. To je terminal, ki ga je mogoče vklopiti, tudi če rele ne prejema napetosti ali zadostuje za delovanje.

Terminal NO je normalno odprt terminal. To je priključek, kamor vklopite želeni izhod, ko rele prejme nazivno napetost. Če na sponkah COIL ni napetosti ali je napetost nezadostna, je izhod odprt in ne prejema napetosti. Ko priključki COIL prejmejo nazivno napetost ali malo pod njo, priključek NO prejme zadostno napetost in lahko vklopi napravo na izhodu.

2. Temperaturni senzor DHT

DHT11 je senzor vlažnosti in temperature, ki ustvarja kalibriran digitalni izhod. DHT11 je lahko vmesnik s katerim koli mikro krmilnikom, kot so Arduino, Raspberry Pi itd., In dobite trenutne rezultate. DHT11 je nizkocenovni senzor vlažnosti in temperature, ki zagotavlja visoko zanesljivost in dolgotrajno stabilnost.

3. Popoln opis ESP8266

Modul WiFi ESP8266 je samostojni SOC z vgrajenim nizom protokolov TCP/IP, ki lahko vsakemu mikrokrmilniku omogoči dostop do vašega omrežja WiFi. ESP8266 lahko gosti omrežne funkcije aplikacij iz druge aplikacije Vsak modul ESP8266 je vnaprej programiran z ukazom AT.

ESP8266 podpira APSD za VoIP aplikacije in vmesnike za soobstoj Bluetooth, vsebuje samokalibrirano RF, ki omogoča delovanje v vseh pogojih delovanja, in ne potrebuje zunanjih delov RF.

Lastnosti

  • 802,11 b/g/n
  • Wi-Fi Direct (P2P),
  • integriran niz protokolov TCP/IP z mehkim API
  • Integrirano stikalo TR, balun, LNA, ojačevalnik moči in ustrezno omrežje
  • Integrirani PLL -ji, regulatorji, DCXO in enote za upravljanje porabe energije
  • +19,5 dBm izhodne moči v načinu 802.11b
  • Izklopni tok puščanja <10uA
  • 1 MB pomnilnika Flash
  • Integriran 32-bitni CPU z nizko porabo energije se lahko uporablja kot procesor aplikacij
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU agregacija in 0,4 ms varovalni interval
  • Zbudite se in pošljite pakete v <2 ms
  • Poraba energije v pripravljenosti <1,0mW (DTIM3)

Opis pin, kot je prikazano na sliki i34.

Za priključitev modula ESP na Arduino UNO potrebujemo regulator napetosti Lm1117 3.3 ali kateri koli regulator, ker Arduino ne more napajati 3.3 v ESP8266.

Opomba:- Med nalaganjem kode pritisnite gumb za bliskavico, nato enkrat pritisnite gumb za ponastavitev in nato spustite gumb za bliskavico, kot je prikazano na sliki i29.

Za priključitev senzorja DHT11 in releja uporabljamo dva zatiča GPIO modula ESP8266. Po nalaganju kode lahko odklopite zatiče RX, TX, GPIO0. Uporabil sem GPIO0 za senzor DHT11 in GPIO2 za releje. Senzor DHT11 dobro deluje z ESP8266, vendar za releje potrebujemo eno dodatno stvar, to je opto izolator ali optični spojnik. Glej sliko i30, i31, i32 in i33.

5. korak: Povezave

ESP8266 ===> DHT11GPIO0 ===> Izhodni pin

ESP8266 ===> Rele GPIO2 ===> Vhod

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Gumb za ponastavitev ===> RST

Gumb za bliskavico ===> GPIO0

6. korak: Preverite vse stvari

Preverjanje vseh stvari
Preverjanje vseh stvari
Preverjanje vseh stvari
Preverjanje vseh stvari
Preverjanje vseh stvari
Preverjanje vseh stvari
Preverjanje vseh stvari
Preverjanje vseh stvari

Uspešno smo ustvarili našo aplikacijo, spretnost in naša strojna oprema je pripravljena. Torej, čas je za preverjanje.

Zato je vaš ESP8266 vklopljen, ker naš strežnik deluje na ESP8266. Tukaj nisem priključil nobenega senzorja na ESP8266, samo preverjam, ali deluje ali ne, vendar lahko senzor, rele priključite na ESP8266. Ko bo povezan z Heroku, boste videli povezano. Za testiranje pojdite na Amazon spretnost, ki ste jo ustvarili, nato kliknite na preskusno stran. Ko preverim, da deluje, bom svoj senzor priključil na ESP8266. Rezultate si lahko ogledate na slikah i35, i36, 37, 38, 39, 40.

Če ga uporabljate brez povezave z ESP8266, dobite to napako, kot je prikazano na sliki i41.

Neodgovornost, ki jo lahko uporabite

sprožilec stikala nastavite na {Numbers} odstotkov {tmp_scale}

ex:- nastavite stikalo stikala na 50-odstotno vlažnost

{query} je stanje stikala

ex-on/off je stanje stikala

Sprožilec stikala {Switch_State}

sprožilec stikala ex -on/off

sprožilec stikala nastavite na {Numbers} stopnjo {tmp_scale}

ex - sprožilec stikala nastavite na 76 stopinj Fahrenheita

ex - stikalo stikala nastavite na 24 stopinj Celzija

zavrtite stikalo {Switch_State}

ex - vklop/izklop stikala

Za rezultate glejte sliko od i41 do i46.

Med pogovorom z AlexaAlexo prosite arduino, naj vklopi/izklopi sprožilec stikala

Alexa, prosi arduino, da nastavi sprožilec stikala na 24 stopinj Celzija.

Alexa, prosi arduino, da stikalo stikala nastavi na 50 -odstotno vlažnost

Alexa, prosi arduino za vklop/izklop stikala

7. korak: Diagram VUI (glasovni uporabniški vmesnik)

Diagram VUI (glasovni uporabniški vmesnik)
Diagram VUI (glasovni uporabniški vmesnik)

8. korak: Demo

Image
Image

1. Nastavite sprožilec za temperaturo in vlažnost.

2. Sprožilec nastavite na 20 stopinj Celzija.

3. Nastavite sprožilec na 80 -odstotno vlažnost.

9. korak: Shema

Priporočena: