Obsah:

Hlasom ovládaný prepínač pomocou Alexa a Arduino: 10 krokov (s obrázkami)
Hlasom ovládaný prepínač pomocou Alexa a Arduino: 10 krokov (s obrázkami)

Video: Hlasom ovládaný prepínač pomocou Alexa a Arduino: 10 krokov (s obrázkami)

Video: Hlasom ovládaný prepínač pomocou Alexa a Arduino: 10 krokov (s obrázkami)
Video: Камера-ЛАМПА со слежением и определением человека. 2024, November
Anonim
Prepínač ovládaný hlasom pomocou Alexa a Arduino
Prepínač ovládaný hlasom pomocou Alexa a Arduino

Hlavným cieľom tohto projektu je použitie teplotného senzora na ovládanie spínača (relé) na zapnutie alebo vypnutie zariadenia.

Zoznam materiálov

  1. 12V reléový modul ==> 4,2 dolára
  2. Arduino uno ==> 8 dolárov
  3. Snímač teploty DHT11 ==> 3 doláre
  4. Modul ESP8266 ==> 4,74 dolárov
  5. Optočlen N26 ==> 0,60 USD
  6. Regulátor napätia LM1117 ==> 0,60 USD
  7. Breadboard ==> 2,2 dolára
  8. Prepojovacie vodiče ==> 2,5 dolára
  9. Tlačidlo ==> 2,5 USD

Celkové náklady na projekt sú asi 30 dolárov. Tento projekt je rozdelený na tri časti. Najprv použijeme heroku na vytvorenie aplikácie. Za druhé, budujeme zručnosť Amazon Alexa na implementáciu našej práce (najdôležitejšia časť). Po tretie, nastavíme náš hardvér a naprogramujeme ho pomocou Arduino IDE.

Krok 1: Prepojenie heroku s GitHubom

Prepojenie heroku s GitHubom
Prepojenie heroku s GitHubom
Prepojenie heroku s GitHubom
Prepojenie heroku s GitHubom
Prepojenie heroku s GitHubom
Prepojenie heroku s GitHubom

Heroku je cloudová platforma ako služba (PaaS) podporujúca niekoľko programovacích jazykov, ktorá sa používa ako model nasadenia webovej aplikácie. Najprv prejdite na web heroku, vytvorte si nový účet alebo sa tam prihláste. Odkaz je uvedený nižšie

Web Heroku

Začnime s vytvorením novej aplikácie. Po nasadení aplikácie som pomenoval názov svojej aplikácie „iottempswitch“a vygeneruje sa odkaz.

Po vytvorení aplikácie prejdite na GitHub. GitHub/

Prihláste sa alebo sa zaregistrujte, ak nemáte účet. Po prihlásení vytvorte nové úložisko. Zadajte ľubovoľný názov, ktorý chcete vybrať, a potom kliknite na položku vytvoriť úložisko. Na ďalšej stránke kliknite na README, na tejto stránke zadajte popis, ktorý chcete zdieľať s ostatnými. Potom kliknite na potvrdiť nový súbor. Ďalej kliknite na tlačidlo nahrávania.

Existujú dve možnosti, a to buď presunutím priečinka, alebo výberom súboru. Nižšie si stiahnite požadované súbory. Po výbere súborov stlačte zmeny potvrdenia. Otvorte aplikáciu, ktorú ste vytvorili v Heroku, potom prejdite na časť nasadenia. Potom kliknite na GitHub. Give názov úložiska, ktorý ste vytvorili na strane GitHub. V mojom prípade je to inteligentné relé. Skopírujte to a prilepte sem. Akonáhle sa zobrazí váš odkaz, kliknite na pripojiť. Ďalej kliknite na nasadiť vetvu (manuálne). Po nasadení môžete vidieť odkaz v protokole zostavenia alebo ho môžete vidieť v nastaveniach. Tento odkaz potrebujeme neskôr, keď robíme znalosti Amazonu.

Krok 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Najnovšie obrázky zručnosti Alexa

Na webe Amazon Developer používame zručnosť Amazonu na ovládanie spúšťania spínačov nastavením teploty a vlhkosti.

Prejdite na stránku vývojárov Amazonu. Odkaz je uvedený nižšie.

Web vývojára Amazonu

  • Prejdite na Konzolu pre vývojárov vpravo hore, ako je znázornené na obrázku i4
  • Prejdite na Alexa, potom vyberte Alexa Skill Kit a potom vytvorte novú zručnosť kliknutím na Pridať novú zručnosť.

Keď pridáte nové zručnosti, zobrazí sa stránka s informáciami o schopnostiach.

1. Informácie o schopnostiach (ako je znázornené na obrázku i7)

musíme poskytnúť typ zručnosti, jazyk, meno, názov vyvolania.

Typ zručnosti ==> vyberte vlastný

  • Názov ==> vyberte ľubovoľné meno.
  • Názov invokácie ==>, ktorý používate pri komunikácii s Alexou. Napríklad;- Alexa, požiadajte senzor, aby zapol spínač alebo Alexa, opýtajte sa, či tu sú názvy invokácií senzor a svetlo.
  • Jazyk ==> angličtina (India). Vyberte podľa svojej krajiny

kliknite na uložiť a potom na ďalšie

2. Interakčný model

Tu použijeme nástroj na vytváranie zručností. Kliknite teda na Spustiť nástroj na tvorbu zručností. uvidíte stránku, ako je znázornené na obrázku i8.

Najprv vytvoríme nové zámery. Kliknite na Pridať (na ľavej strane) a zadajte požadované meno, ktoré som použil, „inteligentný spínač“

  • Zadajte názov typu bloku „typ_merania“a hodnoty otvoru „teplota“a „vlhkosť“, ako je znázornené na obrázku i9.
  • Potom pridajte názov typu bloku „dotaz“a hodnoty priestorov sú „čo“a „je“, ako je znázornené na obrázku i10.
  • Potom pridajte typ zásuvky „switchstate“a hodnoty priestorov sú „zapnuté“a „vypnuté“, ako je znázornené na obrázku i11.
  • Pridajte ďalší typ priestoru „tempscale“a hodnoty priestorov sú „fahrenheit“a „celcuis“, ako je znázornené na obrázku i12.
  • Potom tu pridajte nový typ slotu, použijeme existujúci typ slotu, na ktorý musíme kliknúť na položku použiť existujúci slot. V existujúcom slote vyhľadajte amazon.number a vyberte toto a pridajte ho. Po jeho pridaní ho uvidíte v typoch slotov, ako je znázornené na obrázku i13.

Takže sme skončili s typmi slotov, celkový typ automatu, ktorý používame, je 5. Teraz prejdite na ďalší krok. Kliknite na zámer, ktorý sme vytvorili, v mojom prípade je to inteligentný spínač. Na pravej strane uvidíte otvor na zámer, ako je znázornené na obrázku i14.

  • Vytvorte nový slot, pomenujte ho „Switch_State“a namapujte ho na „switchstate“pomocou rozbaľovacieho tlačidla, ako je znázornené na obrázku i15.
  • Vytvorte nový slot, pomenujte ho „Sensor_Values“a namapujte ho na „typ_ merania“podľa obrázku i16.
  • Vytvorte nový slot, pomenujte ho „dopyt“a namapujte ho na „dopyt“podľa obrázku i17.
  • Potom vytvorte nový slot „tmp_scale“a namapujte ho na „tempscale“, ako je znázornené na obrázku i18.
  • Vytvorte nový slot „Čísla“a namapujte ho na „Amazon. Numbers“podľa obrázku i19.

Teraz sme skončili s automatmi Intent. Používame 5 priestorov pre zámery. Potom sa presunieme k ukážkovým výpovediam, ako je znázornené na obrázku i20.

Pridajte tieto ukážkové výpovede.

nastaviť spúšťač prepínača na {Numbers} percent {tmp_scale}

{query} je stav prepínača

Spúšťač {Switch_State}

nastaviť spúšťač prepínača na {Numbers} stupeň {tmp_scale}

otočte prepínač {Switch_State}

{query} switch {Switch_State}

{query} je aktuálna hodnota {Sensor_Values}

Potom tento model uložte a postavte. Potom počkajte, kým sa model nevytvorí, kliknite na konfiguráciu. Po zostavení sa zobrazí správa podľa obrázku i21 a i22.

3. Konfigurácia

Vyberte HTTPS a pridajte odkaz, ktorý bol vygenerovaný pri vytváraní aplikácie heroku. V mojom prípade je to https://iottempswitch.herokuapp.com/. Po pridaní odkazu kliknite na ďalej, ako je znázornené na obrázku i23.

4. Certifikát SSL Vyberte druhú možnosť a kliknite na Ďalej, ako je znázornené na obrázku i24.

úspešne sme vytvorili svoju zručnosť.

Krok 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Otvorte Arduino IDE. Potom prejdite na Súbor ==> Predvoľby

V doplnkovom správcovi dosiek skopírujte a prilepte adresu URL a kliknite na tlačidlo ok, ako je znázornené na obrázku i26.

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

  • Otvorte Správcu dosiek v časti Nástroje ==> Doska ==> Správca dosky.
  • Otvorte Správcu dosiek a vyhľadajte nodemcu, ako je znázornené na obrázku i27.
  • Potom stiahnite knižnicu ESP8266WiFi. Otvorte Správcu knižníc: Skica ==> Zahrnúť knižnicu ==> Spravovať knižnice.
  • Vyhľadajte knižnicu ESP8266WiFi a nainštalujte ju.
  • Vyberte dosku ==> Generický modul ESP8266.
  • Pred nahraním kódu potrebujeme tri knižnice.

Požadované knižnice

Presuňte tieto knižnice do priečinka Knižnice Arduina

V kóde SSID, PWD a prepojení s aplikáciou heroku musíte zmeniť tri veci. Potom nahrajte kód. V prípade modulu ESP musíte pri odosielaní kódu stlačiť tlačidlo blesku, potom jedenkrát stlačiť tlačidlo reset a potom tlačidlo blesku uvoľniť. Po nahraní kódu otvorte terminál. uvidíte výstup.

Krok 4: Popis komponentu

Popis komponentu
Popis komponentu
Popis komponentu
Popis komponentu
Popis komponentu
Popis komponentu
Popis komponentu
Popis komponentu

1. Čo je to relé

Relé je elektromagnetické zariadenie, ktoré sa používa na elektrickú izoláciu dvoch obvodov a ich magnetické spojenie. Sú to veľmi užitočné zariadenia a umožňujú jednému obvodu prepnúť druhý, zatiaľ čo sú úplne oddelené. Často sa používajú na prepojenie elektronického obvodu (pracujúceho pri nízkom napätí) s elektrickým obvodom, ktorý pracuje pri veľmi vysokom napätí. Relé môže napríklad vytvoriť 5V DC batériový obvod na spínanie sieťového obvodu 230V AC.

Ako to funguje

Reléový spínač možno rozdeliť na dve časti: vstup a výstup. Vstupná časť má cievku, ktorá generuje magnetické pole, keď je na ňu privedené malé napätie z elektronického obvodu. Toto napätie sa nazýva prevádzkové napätie. Bežne používané relé sú k dispozícii v rôznych konfiguráciách prevádzkových napätí ako 6V, 9V, 12V, 24V atď. Výstupná časť pozostáva zo stýkačov, ktoré sa pripájajú alebo odpínajú mechanicky. V základnom relé sú tri stýkače: normálne otvorený (NO), normálne zatvorený (NC) a spoločný (COM). V stave bez vstupu je COM zapojený do NC. Po privedení prevádzkového napätia sa cievka relé napája a COM zmení kontakt na NO. K dispozícii sú rôzne konfigurácie relé, ako napríklad SPST, SPDT, DPDT atď., Ktoré majú rôzny počet prepínacích kontaktov. Použitím vhodnej kombinácie stykačov je možné elektrický obvod zapnúť a vypnúť. Získajte vnútorné podrobnosti o štruktúre reléového spínača.

Terminál COM je spoločný terminál. Ak sú svorky COIL napájané menovitým napätím, svorky COM a NO majú spojitosť. Ak svorky COIL nie sú pod napätím, potom svorky COM a NO nemajú spojitosť.

NC terminál je normálne zatvorený terminál. Je to terminál, ktorý je možné zapnúť, aj keď relé nedostane žiadne alebo dostatočné napätie na prevádzku.

Terminál NO je normálne otvorený terminál. Je to terminál, na ktorý umiestnite požadovaný výstup, keď relé dostane menovité napätie. Ak na svorkách COIL nie je napätie alebo je napätie nedostatočné, výstup je rozpojený a neprijíma žiadne napätie. Keď svorky COIL dostanú menovité napätie alebo mierne nižšie, svorka NO dostane dostatočné napätie a môže zapnúť zariadenie na výstupe.

2. Teplotný snímač DHT

DHT11 je snímač vlhkosti a teploty, ktorý generuje kalibrovaný digitálny výstup. DHT11 môže byť rozhraním s akýmkoľvek mikrořadičom, ako je Arduino, Raspberry Pi atď., A získať okamžité výsledky. DHT11 je nízkonákladový snímač vlhkosti a teploty, ktorý poskytuje vysokú spoľahlivosť a dlhodobú stabilitu.

3. ESP8266 Kompletný popis

WiFi modul ESP8266 je samostatný SOC s integrovaným zásobníkom protokolov TCP/IP, ktorý môže poskytnúť prístup k vašej sieti WiFi akémukoľvek mikrokontroléru. ESP8266 je schopný hostovať sieťové funkcie aplikácií z inej aplikácie. Každý modul ESP8266 je dodávaný s predprogramovaným príkazom AT.

ESP8266 podporuje APSD pre aplikácie VoIP a rozhrania koexistencie Bluetooth, obsahuje samokalibrovaný RF, ktorý mu umožňuje pracovať za všetkých prevádzkových podmienok, a nevyžaduje žiadne externé RF diely.

Vlastnosti

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-AP Integrovaný zásobník protokolov TCP/IP
  • Integrovaný prepínač TR, balun, LNA, výkonový zosilňovač a zodpovedajúca sieť
  • Integrované PLL, regulátory, DCXO a jednotky správy napájania
  • +19,5 dBm výstupný výkon v režime 802.11b
  • Vypnite zvodový prúd <10uA
  • 1 MB flash pamäte
  • Integrovaný 32-bitový procesor s nízkym výkonom môže byť použitý ako aplikačný procesor
  • SDIO 1.1 / 2.0, SPI, UART
  • Agregácia STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU a A-MSDU a ochranný interval 0,4 ms
  • Zobuďte sa a prenášajte pakety za menej ako 2 ms
  • Pohotovostná spotreba energie <1,0 mW (DTIM3)

Popis kolíka, ako je znázornené na obrázku i34.

Na pripojenie modulu ESP k Arduino UNO potrebujeme regulátor napätia Lm1117 3,3 alebo akýkoľvek regulátor, pretože Arduino nie je schopný poskytnúť 3,3 V na ESP8266.

Poznámka:- Pri odosielaní kódu stlačte tlačidlo blesku, potom jedenkrát tlačidlo reset a potom uvoľnite tlačidlo blesku, ako je znázornené na obrázku i29.

Na pripojenie snímača a relé DHT11 používame dva GPIO piny modulu ESP8266. Po nahraní kódu môžete odpojiť piny RX, TX, GPIO0. Použil som GPIO0 pre snímač DHT11 a GPIO2 pre relé. Senzor DHT11 funguje dobre s ESP8266, ale pre relé potrebujeme ešte jednu vec, tj. Optoizolátor alebo opto spojku. Pozri obrázok i30, i31, i32 a i33.

Krok 5: Pripojenia

ESP8266 ===> DHT11GPIO0 ===> Výstupný kolík

ESP8266 ===> ReléGPIO2 ===> Vstup

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Tlačidlo Reset ===> RST

Tlačidlo Flash ===> GPIO0

Krok 6: Kontrola všetkých vecí

Kontrola všetkých vecí
Kontrola všetkých vecí
Kontrola všetkých vecí
Kontrola všetkých vecí
Kontrola všetkých vecí
Kontrola všetkých vecí
Kontrola všetkých vecí
Kontrola všetkých vecí

Úspešne sme vytvorili našu aplikáciu, schopnosti a náš hardvér je pripravený. Takže je čas skontrolovať.

Na to je váš ESP8266 zapnutý, pretože náš server beží na ESP8266. Tu som nepripojil žiadny snímač k ESP8266, len kontrolujem, či funguje alebo nie, ale môžete k ESP8266 pripojiť snímač, relé. Akonáhle je pripojený k Heroku, uvidíte ho prepojený. Na testovanie choďte na znalosti Amazonu, ktoré ste vytvorili, potom kliknite na testovaciu stránku. Hneď ako sa overí jeho funkčnosť, pripojím svoj snímač k ESP8266. Výsledky môžete vidieť na obrázkoch i35, i36, 37, 38, 39, 40.

Ak ho použijete bez pripojenia ESP8266, zobrazí sa táto chyba, ako je znázornené na obrázku i41.

Výrok, ktorý môžete použiť

nastaviť spúšťač prepínača na {Numbers} percent {tmp_scale}

Príklad:- Nastavte spínač na 50-percentnú vlhkosť

{query} je stav prepínača

ex-on/off je stav spínača

Spúšťač {Switch_State}

spínač spínača zapnutia/vypnutia

nastaviť spúšťač prepínača na {Numbers} stupeň {tmp_scale}

ex - nastavte prepínač na 76 stupňov Fahrenheita

ex - nastavte prepínač na 24 stupňov Celzia

otočte prepínač {Switch_State}

ex - vypínač zapnúť/vypnúť

Výsledky nájdete na obrázkoch i41 až i46.

Počas rozhovoru s AlexaAlexou požiadajte arduino, aby zapol/vypol vypínač

Alexa, požiadaj arduino, aby nastavil spúšťač na 24 stupňov Celzia.

Alexa, požiadaj arduino, aby nastavil spínač na 50 percent vlhkosti

Alexa, požiadaj arduino, aby zapol/vypol

Krok 7: Diagram VUI (hlasové používateľské rozhranie)

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

Krok 8: Demo

Image
Image

1. Nastavte spúšť na teplotu a vlhkosť.

2. Nastavte spúšť na 20 stupňov Celzia.

3. Nastavte spúšť na 80 percent vlhkosti.

Krok 9: Schéma

Odporúča: