Satura rādītājs:

Slēdzis ar balsi, izmantojot Alexa un Arduino: 10 soļi (ar attēliem)
Slēdzis ar balsi, izmantojot Alexa un Arduino: 10 soļi (ar attēliem)

Video: Slēdzis ar balsi, izmantojot Alexa un Arduino: 10 soļi (ar attēliem)

Video: Slēdzis ar balsi, izmantojot Alexa un Arduino: 10 soļi (ar attēliem)
Video: 1. Q light controller plus sākt darbu ar QLC +. Stiprinājumi un funkcijas 2024, Novembris
Anonim
Slēdzis ar balsi, izmantojot Alexa un Arduino
Slēdzis ar balsi, izmantojot Alexa un Arduino

Šī projekta galvenais mērķis ir izmantot temperatūras sensoru, lai kontrolētu slēdzi (releju), lai ieslēgtu vai izslēgtu ierīci.

Materiālu saraksts

  1. 12V releja modulis ==> $ 4.2
  2. Arduino uno ==> 8 ASV dolāri
  3. DHT11 temperatūras sensors ==> 3 ASV dolāri
  4. ESP8266 modulis ==> 4,74 ASV dolāri
  5. N26 optronis ==> 0,60 ASV dolāri
  6. LM1117 sprieguma regulators ==> $ 0,60
  7. Maizes dēlis ==> 2,2 ASV dolāri
  8. Jumper vadi ==> $ 2,5
  9. Spiedpoga ==> 2,5 USD

Projekta kopējās izmaksas ir aptuveni 30 USD. Šis projekts ir sadalīts trīs daļās. Pirmkārt, mēs izmantojam heroku, lai izveidotu lietotni. Otrkārt, mēs veidojam Amazon Alexa prasmi, lai īstenotu savu darbu (vissvarīgākā daļa). Treškārt, mēs uzstādām savu aparatūru un ieprogrammējam to, izmantojot Arduino IDE.

1. darbība: Heroku saistīšana ar GitHub

Heroku saistīšana ar GitHub
Heroku saistīšana ar GitHub
Heroku saistīšana ar GitHub
Heroku saistīšana ar GitHub
Heroku saistīšana ar GitHub
Heroku saistīšana ar GitHub

Heroku ir mākoņa platforma kā pakalpojums (PaaS), kas atbalsta vairākas programmēšanas valodas un tiek izmantota kā tīmekļa lietojumprogrammu izvietošanas modelis. Vispirms dodieties uz heroku vietni, izveidojiet jaunu kontu vai piesakieties tur. Saite ir sniegta zemāk

Heroku vietne

Sāksim ar jaunas lietotnes izveidi. Izvietojot lietotni, esmu norādījis savas lietotnes nosaukumu “iottempswitch”, tiek ģenerēta saite.

Kad lietotne ir izveidota, dodieties uz vietni GitHub. GitHub/

Piesakieties tur vai reģistrējieties, ja jums nav konta. Kad esat pieteicies, izveidojiet jaunu krātuvi. Piešķiriet vārdu, kuru vēlaties izvēlēties, un pēc tam nospiediet pogu Izveidot repozitoriju. Nākamajā lapā noklikšķiniet uz LASĪT, šajā lapā sniedziet aprakstu, kuru vēlaties kopīgot ar citiem. Pēc tam noklikšķiniet uz Izveidot jaunu failu. Pēc tam noklikšķiniet uz augšupielādes pogas.

Ir divas iespējas, vai nu velciet un nometiet mapi, vai arī izvēlieties failu. Lejupielādējiet nepieciešamos failus no apakšas. Pēc failu atlasīšanas nospiediet veikt izmaiņas. Atveriet lietotni, kuru izveidojāt Heroku, un pēc tam dodieties uz izvietošanas sadaļu. Pēc tam noklikšķiniet uz GitHub. Dodiet repozitorija nosaukumu, kuru izveidojāt GitHub pusē. Manā gadījumā tas ir Smart-Relay. Kopējiet to un ielīmējiet to šeit. Kad jūsu saite ir parādīta, noklikšķiniet uz savienojuma. Pēc tam noklikšķiniet uz izvietot filiāli (manuāli). Pēc izvietošanas jūs varat redzēt saiti būvēšanas žurnālā vai saiti iestatījumos. Šī saite mums ir nepieciešama vēlāk, kad veidojam Amazon prasmes.

2. solis: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Jaunākie Alexa prasmju attēli

Amazon izstrādātāju vietnē mēs izmantojam Amazon prasmes, lai kontrolētu slēdža sprūdu, iestatot temperatūru un mitrumu.

Dodieties uz Amazon izstrādātāju vietni. Saite ir sniegta zemāk.

Amazon izstrādātāju vietne

  • Dodieties uz izstrādātāja konsoli augšējā labajā stūrī, kā parādīts attēlā i4
  • Dodieties uz Alexa, pēc tam atlasiet Alexa Skill Kit un pēc tam izveidojiet jaunu prasmi, noklikšķinot uz Pievienot jaunu prasmi.

Pievienojot jaunas prasmes, tiks parādīta prasmju informācijas lapa.

1. Prasmju informācija (kā parādīts attēlā i7)

mums jānorāda prasmju veids, valoda, vārds, uzaicinājuma nosaukums.

Prasmju veids ==> izvēlieties pielāgotu

  • Nosaukums ==> izvēlieties jebkuru vārdu.
  • Izsaukuma nosaukums ==> ko jūs izmantojat, sazinoties ar Alexa. Piemēram;- Alexa, palūdziet sensoram ieslēgt slēdža sprūdu vai Alexa, jautājiet šeit, lai izsaukuma nosaukumi būtu sensors un gaisma.
  • Valoda ==> angļu (Indija). Izvēlieties atbilstoši savai valstij

noklikšķiniet uz Saglabāt un pēc tam uz nākamo

2. Mijiedarbības modelis

Šeit mēs izmantosim prasmju veidotāju. Tātad, noklikšķiniet uz Uzsākt prasmju veidotāju. jūs redzēsit lapu, kā parādīts attēlā i8.

Vispirms mēs radām jaunus nodomus. Noklikšķiniet uz Pievienot (kreisajā pusē) un norādiet jebkuru vārdu, kuru vēlaties izmantot "smartswitch"

  • Piešķiriet spraugas tipam nosaukumu "mērījumu_tips" un spraugas vērtībām "temperatūra" un "mitrums", kā parādīts attēlā i9.
  • Pēc tam pievienojiet slota tipa nosaukumu "vaicājums", un slota vērtības ir "kas" un "ir", kā parādīts attēlā i10.
  • Pēc tam pievienojiet slota tipu "switchstate", un slota vērtības ir "ieslēgtas" un "izslēgtas", kā parādīts attēlā i11.
  • Pievienojiet vēl vienu slota veidu "tempscale", un laika nišu vērtības ir "fahrenheit" un "celcuis", kā parādīts attēlā i12.
  • Pēc tam šeit pievienojiet jaunu slota tipu, mēs izmantojam esošo slota tipu, un mums ir jānoklikšķina uz izmantot esošo slotu. Esošajā slotā meklējiet amazon.number un atlasiet šo un pievienojiet to. Pēc pievienošanas to redzēsit slotu veidos, kā parādīts attēlā i13.

Tātad, mēs esam pabeiguši ar slotu veidiem, kopējais slotu veids, ko mēs izmantojam, ir 5. Tagad pārejiet pie nākamās darbības. Noklikšķiniet uz mūsu izveidotā nodoma, manā gadījumā tas ir viedslēdzis. Labajā pusē redzēsit nodomu slotu, kā parādīts attēlā i14.

  • Izveidojiet jaunu slotu, piešķiriet tam nosaukumu "Switch_State" un kartējiet to uz "switchstate", izmantojot nolaižamo pogu, kā parādīts attēlā i15.
  • Izveidojiet jaunu slotu, piešķiriet tam nosaukumu "Sensor_Values" un kartējiet to uz "mērījumu_tips", kā parādīts attēlā i16.
  • Izveidojiet jaunu slotu, piešķiriet tam nosaukumu "query" un kartējiet to uz "query", kā parādīts attēlā i17.
  • Pēc tam izveidojiet jaunu slotu "tmp_scale" un kartējiet to uz "temppscale", kā parādīts attēlā i18.
  • Izveidojiet jaunu slotu "Numbers" un kartējiet to uz "Amazon. Numbers", kā parādīts attēlā i19.

Tagad esam pabeiguši Intent laika nišas. Mēs izmantojam 5 nodomu slotus. Pēc tam mēs pārietam uz paraugu izteikumiem, kā parādīts attēlā i20.

Pievienojiet šo izteikumu paraugu.

iestatīt slēdža aktivizētāju uz {Numbers} procenti {tmp_scale}

{query} ir slēdža stāvoklis

Slēdža aktivizētājs {Switch_State}

iestatīt slēdža sprūdu uz {Numbers} grādu {tmp_scale}

pagriezt slēdzi {Switch_State}

{query} slēdzis {Switch_State}

{query} ir pašreizējais {Sensor_Values}

Pēc tam saglabājiet modeli un izveidojiet to. Pēc tam uzgaidiet, līdz modelis tiks izveidots, noklikšķiniet uz konfigurācijas. Pēc uzbūvēšanas jūs redzēsit ziņojumu, kā parādīts attēlos i21 un i22.

3. Konfigurācija

Atlasiet HTTPS un pievienojiet saiti, kas tika izveidota, veidojot heroku lietotni. Manā gadījumā tas ir https://iottempswitch.herokuapp.com/. Pēc saites pievienošanas noklikšķiniet uz Tālāk, kā parādīts attēlā i23.

4. SSL sertifikātsIzvēlieties otro opciju un noklikšķiniet uz nākamās, kā parādīts attēlā i24.

mēs esam veiksmīgi izveidojuši savu prasmi.

3. darbība: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Atveriet Arduino IDE. Pēc tam dodieties uz Fails ==> Preference

Papildu dēļu pārvaldniekā nokopējiet un ielīmējiet URL un noklikšķiniet uz Labi, kā parādīts attēlā i26.

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

  • Atveriet Board Manager, dodoties uz Tools ==> Board ==> Board Manager.
  • Atveriet dēļu pārvaldnieku un meklējiet nodemcu, kā parādīts attēlā i27.
  • Pēc tam lejupielādējiet ESP8266WiFi bibliotēku. Atvērt bibliotēkas pārvaldnieku: Skice ==> Iekļaut bibliotēku ==> Pārvaldīt bibliotēkas.
  • Atrodiet ESP8266WiFi bibliotēku un instalējiet to.
  • Izvēlieties tāfeli ==> Vispārējais ESP8266 modulis.
  • Pirms koda augšupielādes mums ir nepieciešamas trīs bibliotēkas.

Nepieciešamās bibliotēkas

Pārvietojiet šīs bibliotēkas uz Arduino bibliotēku mapi

Jums ir jāmaina trīs lietas kodā SSID, PWD un heroku lietotnes saitē. Pēc tam augšupielādējiet kodu. ESP modulim koda augšupielādes laikā ir jānospiež zibspuldzes poga, pēc tam vienu reizi jānospiež atiestatīšanas poga un pēc tam jāatlaiž zibspuldzes poga. Pēc koda augšupielādes atveriet termināli. jūs redzēsit izvadi.

4. darbība: komponenta apraksts

Komponenta apraksts
Komponenta apraksts
Komponenta apraksts
Komponenta apraksts
Komponenta apraksts
Komponenta apraksts
Komponenta apraksts
Komponenta apraksts

1. Kas ir relejs

Relejs ir elektromagnētiska ierīce, ko izmanto divu ķēžu elektriskai izolēšanai un magnētiskai savienošanai. Tās ir ļoti noderīgas ierīces un ļauj vienai ķēdei pārslēgties uz citu, kamēr tās ir pilnīgi atsevišķas. Tos bieži izmanto, lai savienotu elektronisko shēmu (strādā pie zema sprieguma) ar elektrisko ķēdi, kas darbojas ar ļoti augstu spriegumu. Piemēram, relejs var izveidot 5 V līdzstrāvas akumulatora ķēdi, lai pārslēgtu 230 V maiņstrāvas tīkla ķēdi.

Kā tas strādā

Releja slēdzi var iedalīt divās daļās: ieeja un izeja. Ievades sadaļā ir spole, kas ģenerē magnētisko lauku, kad tam tiek pielietots neliels spriegums no elektroniskās shēmas. Šo spriegumu sauc par darba spriegumu. Parasti izmantotie releji ir pieejami dažādās darba sprieguma konfigurācijās, piemēram, 6V, 9V, 12V, 24V utt. Izejas sadaļa sastāv no kontaktoriem, kas savieno vai atvieno mehāniski. Pamata relejā ir trīs kontaktori: parasti atvērts (NO), parasti aizvērts (NC) un parasts (COM). Bez ievades stāvokļa COM ir savienots ar NC. Kad tiek pielietots darba spriegums, releja spole tiek aktivizēta un COM maina kontaktu uz NO. Ir pieejamas dažādas releju konfigurācijas, piemēram, SPST, SPDT, DPDT utt., Kurām ir atšķirīgs pārslēgšanās kontaktu skaits. Izmantojot pareizu kontaktoru kombināciju, elektrisko ķēdi var ieslēgt un izslēgt. Iegūstiet informāciju par releja slēdža struktūru.

COM terminālis ir kopējais terminālis. Ja COIL spailes tiek barotas ar nominālo spriegumu, COM un NO spailēm ir nepārtrauktība. Ja COIL spailēm nav sprieguma, COM un NO termināļiem nav nepārtrauktības.

NC terminālis ir parasti slēgts terminālis. Tieši termināli var ieslēgt pat tad, ja relejs nesaņem nekādu vai pietiekamu spriegumu darbam.

Terminālis NO ir parasti atvērts terminālis. Tas ir terminālis, kurā ievietojat vēlamo izeju, kad relejs saņem nominālo spriegumu. Ja COIL spailēs nav sprieguma vai nepietiekams spriegums, izeja ir atvērta un nesaņem spriegumu. Kad COIL spailes saņem nominālo spriegumu vai nedaudz zemāk, NO terminālis saņem pietiekamu spriegumu un var ieslēgt ierīci izejā.

2. DHT temperatūras sensors

DHT11 ir mitruma un temperatūras sensors, kas ģenerē kalibrētu digitālo izeju. DHT11 var būt saskarne ar jebkuru mikrokontrolleri, piemēram, Arduino, Raspberry Pi uc, un iegūt tūlītējus rezultātus. DHT11 ir lēts mitruma un temperatūras sensors, kas nodrošina augstu uzticamību un ilgtermiņa stabilitāti.

3. ESP8266 Pilns apraksts

ESP8266 WiFi modulis ir autonoms SOC ar integrētu TCP/IP protokola kaudzīti, kas jebkuram mikrokontrolleram var nodrošināt piekļuvi jūsu WiFi tīklam. ESP8266 spēj vai nu mitināt lietojumprogrammu tīkla funkcijas no citas lietojumprogrammas. Katrs ESP8266 modulis ir iepriekš ieprogrammēts ar AT komandu.

ESP8266 atbalsta APSD VoIP lietojumprogrammām un Bluetooth līdzāspastāvēšanas saskarnēm, tajā ir paškalibrēts RF, kas ļauj darboties jebkuros darbības apstākļos, un tam nav nepieciešamas ārējas RF detaļas.

Iespējas

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-API integrēta TCP/IP protokola kaudze
  • Integrēts TR slēdzis, balun, LNA, jaudas pastiprinātājs un atbilstošs tīkls
  • Integrētas PLL, regulatori, DCXO un jaudas pārvaldības ierīces
  • +19,5 dBm izejas jauda 802.11b režīmā
  • Izslēdziet noplūdes strāvu <10uA
  • 1 MB zibatmiņa
  • Kā lietojumprogrammu procesoru varētu izmantot integrētu mazjaudas 32 bitu centrālo procesoru
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU un A-MSDU apkopojums un 0,4 ms aizsarga intervāls
  • Pamosties un pārsūtīt paketes <2ms
  • Enerģijas patēriņš gaidstāves režīmā <1,0 mW (DTIM3)

Tapas apraksts, kā parādīts attēlā i34.

Lai savienotu ESP moduli ar Arduino UNO, mums ir nepieciešams Lm1117 3.3 sprieguma regulators vai jebkurš regulators, jo Arduino nespēj nodrošināt 3.3 v ESP8266.

Piezīme:- Augšupielādējot kodu, nospiediet zibspuldzes pogu un pēc tam vienu reizi nospiediet atiestatīšanas pogu un pēc tam atlaidiet zibspuldzes pogu, kā parādīts attēlā i29.

DHT11 sensora un releja savienošanai mēs izmantojam divas ESP8266 moduļa GPIO tapas. Pēc koda augšupielādes varat atvienot RX, TX, GPIO0 tapas. Esmu izmantojis GPIO0 DHT11 sensoram un GPIO2 relejiem. DHT11 sensors labi darbojas ar ESP8266, bet relejiem mums ir nepieciešama viena papildu lieta, ti, opto izolators vai opto savienotājs. Skatīt attēlu i30, i31, i32 un i33.

5. darbība. Savienojumi

ESP8266 ===> DHT11GPIO0 ===> Izejas tapa

ESP8266 ===> RelayGPIO2 ===> Ievads

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Atiestatīšanas poga ===> RST

Zibspuldzes poga ===> GPIO0

6. darbība: visu lietu pārbaude

Visu lietu pārbaude
Visu lietu pārbaude
Visu lietu pārbaude
Visu lietu pārbaude
Visu lietu pārbaude
Visu lietu pārbaude
Visu lietu pārbaude
Visu lietu pārbaude

Mēs esam veiksmīgi izveidojuši savu lietotni, prasmes un aparatūra ir gatava. Tātad, ir pienācis laiks pārbaudīt.

Šim nolūkam jūsu ESP8266 ir ieslēgts, jo mūsu serveris darbojas ar ESP8266. Šeit es neesmu pievienojis nevienu sensoru ESP8266. Es tikai pārbaudu, vai tas darbojas vai ne, bet jūs varat savienot sensoru, releju ar ESP8266. Kad tas ir savienots ar Heroku, jūs redzēsit savienojumu. Lai pārbaudītu, dodieties uz jūsu izveidotajām Amazon prasmēm un pēc tam noklikšķiniet uz testa lapas. Kad būs pārbaudīts, vai tas darbojas, es pievienoju savu sensoru ESP8266. Jūs varat redzēt rezultātus, kā parādīts attēlos i35, i36, 37, 38, 39, 40.

Ja to izmantojat, nepievienojot ESP8266, tiek parādīta šī kļūda, kā parādīts attēlā i41.

Izskats, ko varat izmantot

iestatīt slēdža aktivizētāju uz {Numbers} procenti {tmp_scale}

piemēram:- iestatiet slēdža sprūdu uz 50 procentu mitrumu

{query} ir slēdža stāvoklis

ex-on/off ir slēdža stāvoklis

Slēdža aktivizētājs {Switch_State}

ex -on/off slēdža sprūda

iestatīt slēdža sprūdu uz {Numbers} grādu {tmp_scale}

ex - iestatiet slēdža sprūdu uz 76 grādiem pēc Fārenheita

iepriekš iestatiet slēdža sprūdu uz 24 grādiem pēc Celsija

pagriezt slēdzi {Switch_State}

ex - ieslēgt/izslēgt slēdzi

Lai iegūtu rezultātus, skatiet attēlus no i41 līdz i46.

Runājot ar AlexaAlexa, palūdziet arduino ieslēgt/izslēgt slēdža sprūdu

Alexa, palūdz arduino iestatīt slēdža sprūdu uz 24 grādiem pēc Celsija.

Alexa, palūdziet arduino iestatīt slēdža sprūdu līdz 50 procentiem mitruma

Alexa, palūdz arduino ieslēgt/izslēgt slēdzi

7. darbība: VUI (balss lietotāja interfeisa) diagramma

VUI (balss lietotāja interfeisa) diagramma
VUI (balss lietotāja interfeisa) diagramma

8. darbība: demonstrācija

Image
Image

1. Iestatiet temperatūras un mitruma sprūdu.

2. Iestatiet sprūdu līdz 20 grādiem pēc Celsija.

3. Iestatiet sprūdu līdz 80 procentu mitrumam.

9. solis: shematisks

Ieteicams: