Obsah:

Přepínač ovládaný hlasem pomocí Alexa a Arduino: 10 kroků (s obrázky)
Přepínač ovládaný hlasem pomocí Alexa a Arduino: 10 kroků (s obrázky)

Video: Přepínač ovládaný hlasem pomocí Alexa a Arduino: 10 kroků (s obrázky)

Video: Přepínač ovládaný hlasem pomocí Alexa a Arduino: 10 kroků (s obrázky)
Video: 100 tisíc 3D tiskáren Original Prusa 2024, Prosinec
Anonim
Přepínač ovládaný hlasem pomocí Alexa a Arduino
Přepínač ovládaný hlasem pomocí Alexa a Arduino

Hlavním cílem tohoto projektu je použít teplotní senzor k ovládání spínače (relé) pro zapnutí nebo vypnutí zařízení.

Seznam materiálů

  1. Reléový modul 12V ==> 4,2 $
  2. Arduino uno ==> 8 $
  3. Teplotní senzor DHT11 ==> $ 3
  4. Modul ESP8266 ==> 4,74 $
  5. N26 optočlen ==> 0,60 $
  6. Regulátor napětí LM1117 ==> 0,60 $
  7. Breadboard ==> 2,2 $
  8. Propojovací vodiče ==> 2,5 $
  9. Tlačítko ==> 2,5 $

Celkové náklady na projekt jsou asi 30 dolarů. Tento projekt je rozdělen do tří částí. Nejprve použijeme heroku k vytvoření aplikace. Za druhé, budujeme dovednost Amazon Alexa k implementaci naší práce (nejdůležitější část). Za třetí, nastavíme náš hardware a naprogramujeme jej pomocí Arduino IDE.

Krok 1: Propojení heroku s GitHubem

Propojení heroku s GitHubem
Propojení heroku s GitHubem
Propojení heroku s GitHubem
Propojení heroku s GitHubem
Propojení heroku s GitHubem
Propojení heroku s GitHubem

Heroku je cloudová platforma jako služba (PaaS) podporující několik programovacích jazyků, která se používá jako model nasazení webové aplikace. Nejprve přejděte na web heroku, vytvořte si nový účet nebo se tam přihlaste. Odkaz je uveden níže

Web Heroku

Začněme vytvořením nové aplikace. Při nasazení aplikace jsem pojmenoval název své aplikace „iottempswitch“, vygeneruje se odkaz.

Jakmile je aplikace vytvořena, přejděte na GitHub. GitHub/

Přihlaste se tam nebo se zaregistrujte, pokud nemáte účet. Po přihlášení vytvořte nové úložiště. Zadejte libovolný název, který chcete vybrat, a poté stiskněte vytvořit úložiště. Na další stránce klikněte na README, na této stránce zadejte popis, který chcete sdílet s ostatními. Poté klikněte na potvrzení nového souboru. Dále klikněte na tlačítko nahrát.

Existují dvě možnosti, buď přetáhněte složku, nebo vyberte soubor. Níže si stáhněte požadované soubory. Po výběru souborů stiskněte změny potvrzení. Otevřete aplikaci, kterou jste vytvořili v Heroku, pak přejděte do části nasazení. Poté klikněte na GitHub. Give název úložiště, který jste vytvořili na straně GitHub. V mém případě je to Smart-Relay. Zkopírujte to a vložte jej sem. Jakmile se zobrazí váš odkaz, klikněte na připojit. Dále klikněte na nasazení větve (ručně). Po nasazení můžete vidět odkaz v protokolu sestavení nebo odkaz v nastavení. Tento odkaz potřebujeme později, když vytváříme dovednosti v Amazonu.

Krok 2: Amazon

Amazonka
Amazonka
Amazonka
Amazonka
Amazonka
Amazonka

Nejnovější obrázky dovednosti Alexa

Na webu Amazon Developer používáme dovednosti Amazonu k ovládání spouštění spínačů nastavením teploty a vlhkosti.

Přejděte na web vývojáře Amazonu. Odkaz je uveden níže.

Web vývojáře Amazonu

  • Přejděte do Vývojářské konzoly vpravo nahoře, jak ukazuje obrázek i4
  • Přejděte na Alexa, poté vyberte Alexa Skill Kit a poté vytvořte novou dovednost kliknutím na Přidat novou dovednost.

Když přidáte nové dovednosti, zobrazí se stránka s informacemi o dovednostech.

1. Informace o dovednostech (jak je znázorněno na obrázku i7)

musíme zadat typ dovednosti, jazyk, jméno, jméno vyvolání.

Typ dovednosti ==> vyberte vlastní

  • Název ==> vyberte libovolné jméno.
  • Název vyvolání ==>, který používáte při komunikaci s Alexou. Například;- Alexa, požádejte senzor, aby zapnul spínač nebo Alexa, zeptejte se světla, zde názvy vyvolání jsou senzor a světlo.
  • Jazyk ==> angličtina (Indie). Vyberte podle své země

klikněte na Uložit a potom na další

2. Interakční model

Zde použijeme nástroj pro tvorbu dovedností. Klikněte tedy na Launch Skill Builder. uvidíte stránku, jak je znázorněno na obrázku i8.

Nejprve vytvoříme nové záměry. Klikněte na Přidat (na levé straně) a zadejte libovolné jméno, které jsem použil, „smartswitch“

  • Zadejte název typu slotu „typ_ měření“a hodnoty slotů „teplota“a „vlhkost“, jak je znázorněno na obrázku i9.
  • Poté přidejte název typu slotu „dotaz“a hodnoty slotů jsou „co“a „je“, jak je znázorněno na obrázku i10.
  • Poté přidejte typ slotu „switchstate“a hodnoty slotů budou „zapnuto“a „vypnuto“, jak je znázorněno na obrázku i11.
  • Přidejte další typ slotu „tempscale“a hodnoty slotů jsou „fahrenheit“a „celcuis“, jak je znázorněno na obrázku i12.
  • Poté zde přidejte nový typ slotu, pro který použijeme stávající typ slotu, na který musíme kliknout na použít stávající slot. Ve stávajícím slotu vyhledejte amazon.number a vyberte toto a přidejte jej. Po přidání jej uvidíte v typech slotů, jak je znázorněno na obrázku i13.

Takže jsme skončili s typy slotů, celkový typ slotů, který používáme, je 5. Nyní přejděte k dalšímu kroku. Klikněte na záměr, který jsme vytvořili, v mém případě je to smartswitch. Na pravé straně uvidíte záměrný slot, jak je znázorněno na obrázku i14.

  • Vytvořte nový slot, pojmenujte jej „Switch_State“a namapujte jej na „switchstate“pomocí rozbalovacího tlačítka, jak je znázorněno na obrázku i15.
  • Vytvořte nový slot, pojmenujte jej „Sensor_Values“a namapujte jej na „typ_ měření“podle obrázku i16.
  • Vytvořte nový slot, pojmenujte jej „dotaz“a namapujte jej na „dotaz“podle obrázku i17.
  • Poté vytvořte nový slot „tmp_scale“a namapujte jej na „tempscale“, jak ukazuje obrázek i18.
  • Vytvořte nový slot „Numbers“a namapujte jej na „Amazon. Numbers“, jak je znázorněno na obrázku i19.

Nyní jsme s automaty Intent hotovi. Používáme 5 záměrných slotů. Poté se přesuneme k ukázkovým výpovědím, jak je znázorněno na obrázku i20.

Přidejte toto ukázkové promluvy.

nastavit spouštěcí přepínač na {Numbers} procenta {tmp_scale}

{query} je stav přepínače

Přepínač {Switch_State}

nastavit spouštěcí přepínač na {Numbers} stupeň {tmp_scale}

otočit přepínač {Switch_State}

{query} switch {Switch_State}

{query} je aktuální {Sensor_Values}

Poté tento model uložte a postavte. Poté počkejte, až se model sestaví, klikněte na konfiguraci. Po sestavení se zobrazí zpráva, jak je znázorněno na obrázku i21 a i22.

3. Konfigurace

Vyberte HTTPS a přidejte odkaz, který byl vygenerován při vytváření aplikace heroku. V mém případě je to https://iottempswitch.herokuapp.com/. Po přidání odkazu klikněte na další, jak ukazuje obrázek i23.

4. SSL certifikát Vyberte druhou možnost a klikněte na další, jak je znázorněno na obrázku i24.

úspěšně jsme vytvořili naši dovednost.

Krok 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Otevřete Arduino IDE. Poté přejděte na Soubor ==> Předvolby

V nástroji Additional Boards Manager zkopírujte a vložte adresu URL a klikněte na ok, jak je znázorněno na obrázku i26.

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

  • Otevřete Správce desek v nabídce Nástroje ==> Rada ==> Správce desek.
  • Otevřete Správce desek a vyhledejte nodemcu, jak je znázorněno na obrázku i27.
  • Poté stáhněte knihovnu ESP8266WiFi. Otevřete Správce knihovny: Skica ==> Zahrnout knihovnu ==> Spravovat knihovny.
  • Vyhledejte knihovnu ESP8266WiFi a nainstalujte ji.
  • Vyberte desku ==> Obecný modul ESP8266.
  • Před nahráním kódu potřebujeme tři knihovny.

Požadované knihovny

Přesuňte tyto knihovny do složky knihoven Arduina

V kódu SSID, PWD a odkazu na aplikaci heroku musíte změnit tři věci. Poté nahrajte kód. U modulu ESP musíte při odesílání kódu stisknout tlačítko blesku, poté jednou stisknout tlačítko reset a poté tlačítko blesku uvolnit. Po nahrání kódu otevřete terminál. uvidíte výstup.

Krok 4: Popis součásti

Popis součásti
Popis součásti
Popis součásti
Popis součásti
Popis součásti
Popis součásti
Popis součásti
Popis součásti

1. Co je to relé

Relé je elektromagnetické zařízení, které slouží k elektrické izolaci dvou obvodů a jejich magnetickému spojení. Jsou to velmi užitečná zařízení a umožňují jednomu obvodu přepínat jiný, zatímco jsou zcela oddělené. Často se používají k propojení elektronického obvodu (pracujícího při nízkém napětí) s elektrickým obvodem, který pracuje při velmi vysokém napětí. Například relé může vytvořit 5V DC bateriový obvod pro spínání napájecího obvodu 230V AC.

Jak to funguje

Reléový spínač lze rozdělit na dvě části: vstup a výstup. Vstupní část má cívku, která generuje magnetické pole, když je na ni přivedeno malé napětí z elektronického obvodu. Toto napětí se nazývá provozní napětí. Běžně používaná relé jsou k dispozici v různých konfiguracích provozních napětí jako 6V, 9V, 12V, 24V atd. Výstupní část se skládá ze stykačů, které se mechanicky připojují nebo odpojují. V základním relé jsou tři stykače: spínací (NO), spínací (NC) a společný (COM). Ve stavu bez vstupu je COM připojen k NC. Když je připojeno provozní napětí, reléová cívka je napájena a COM změní kontakt na NO. K dispozici jsou různé konfigurace relé jako SPST, SPDT, DPDT atd., Které mají různý počet přepínacích kontaktů. Použitím správné kombinace stykačů lze elektrický obvod zapnout a vypnout. Získejte vnitřní podrobnosti o struktuře reléového spínače.

COM terminál je společný terminál. Pokud jsou svorky COIL napájeny jmenovitým napětím, svorky COM a NO mají spojitost. Pokud svorky COIL nejsou pod napětím, pak svorky COM a NO nemají spojitost.

NC terminál je normálně zavřený terminál. Je to terminál, který lze zapnout, i když relé nedostává žádné nebo dostatečné napětí k provozu.

Terminál NO je normálně otevřený terminál. Je to terminál, na který umístíte požadovaný výstup, když relé obdrží jmenovité napětí. Pokud na svorkách COIL není napětí nebo je napětí nedostatečné, výstup je rozpojen a nepřijímá žádné napětí. Když svorky COIL přijmou jmenovité napětí nebo trochu pod, svorka NO dostane dostatečné napětí a může zapnout zařízení na výstupu.

2. Teplotní čidlo DHT

DHT11 je snímač vlhkosti a teploty, který generuje kalibrovaný digitální výstup. DHT11 může být rozhraní s jakýmkoli mikrořadičem, jako je Arduino, Raspberry Pi atd., A získat okamžité výsledky. DHT11 je levný snímač vlhkosti a teploty, který poskytuje vysokou spolehlivost a dlouhodobou stabilitu.

3. Kompletní popis ESP8266

WiFi modul ESP8266 je samostatný SOC s integrovaným zásobníkem protokolů TCP/IP, který může poskytnout přístup k vaší WiFi síti jakémukoli mikrokontroléru. ESP8266 je schopen hostovat síťové funkce aplikace z jiné aplikace. Každý modul ESP8266 je dodáván s předprogramovaným příkazem AT.

ESP8266 podporuje APSD pro aplikace VoIP a koexistenční rozhraní Bluetooth, obsahuje samokalibrovaný RF, který mu umožňuje pracovat za všech provozních podmínek, a nevyžaduje žádné externí RF součásti.

Funkce

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-AP Integrovaný zásobník protokolů TCP/IP
  • Integrovaný přepínač TR, balun, LNA, výkonový zesilovač a odpovídající síť
  • Integrované PLL, regulátory, DCXO a jednotky pro správu napájení
  • +19,5 dBm výstupní výkon v režimu 802.11b
  • Vypněte svodový proud <10uA
  • 1 MB flash paměti
  • Integrovaný 32bitový procesor s nízkým výkonem by mohl být použit jako aplikační procesor
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU agregace & 0,4ms ochranný interval
  • Probuďte se a přenášejte pakety za méně než 2 ms
  • Pohotovostní spotřeba energie <1,0 mW (DTIM3)

Popis kolíku, jak je znázorněno na obrázku i34.

Pro připojení modulu ESP k Arduino UNO potřebujeme regulátor napětí Lm1117 3.3 nebo jakýkoli regulátor, protože Arduino není schopen poskytnout 3,3 V na ESP8266.

Poznámka:- Při odesílání kódu stiskněte tlačítko blesku, poté jednou stiskněte tlačítko reset a poté tlačítko blesku uvolněte, jak je znázorněno na obrázku i29.

Pro připojení senzoru a relé DHT11 používáme dva GPIO piny modulu ESP8266. Po nahrání kódu můžete odpojit piny RX, TX, GPIO0. Použil jsem GPIO0 pro snímač DHT11 a GPIO2 pro relé. Senzor DHT11 funguje dobře s ESP8266, ale pro relé potřebujeme jednu další věc, tj. Opto izolátor nebo opto vazební člen. Viz obrázek i30, i31, i32 a i33.

Krok 5: Připojení

ESP8266 ===> DHT11GPIO0 ===> Výstupní pin

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

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Tlačítko Reset ===> RST

Tlačítko Flash ===> GPIO0

Krok 6: Kontrola všech věcí

Kontrola všech věcí
Kontrola všech věcí
Kontrola všech věcí
Kontrola všech věcí
Kontrola všech věcí
Kontrola všech věcí
Kontrola všech věcí
Kontrola všech věcí

Úspěšně jsme vytvořili naši aplikaci, dovednosti a náš hardware je připraven. Takže je čas zkontrolovat.

Proto je váš ESP8266 zapnutý, protože náš server běží na ESP8266. Zde jsem k ESP8266 nepřipojil žádný senzor, pouze kontroluji, zda funguje, nebo ne, ale můžete připojit snímač, relé k ESP8266. Jakmile je připojen k Heroku, uvidíte připojený. Pro testování přejděte na dovednost Amazonu, kterou jste vytvořili, poté klikněte na testovací stránku. Jakmile bude ověřeno, že funguje, připojím svůj senzor k ESP8266. Výsledky můžete vidět na obrázcích i35, i36, 37, 38, 39, 40.

Pokud jej použijete bez připojení ESP8266, zobrazí se tato chyba, jak je znázorněno na obrázku i41.

Výpověď, kterou můžete použít

nastavit spouštěcí přepínač na {Numbers} procenta {tmp_scale}

Příklad:- Nastavte spínač na 50 % vlhkosti

{query} je stav přepínače

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

Přepínač {Switch_State}

spínač spouště ex -on/off

nastavit spouštěcí přepínač na {Numbers} stupeň {tmp_scale}

ex - nastavte spouštěcí spínač na 76 stupňů Fahrenheita

ex - nastavte spouštěcí spínač na 24 stupňů Celsia

otočit přepínač {Switch_State}

ex - zapnout/vypnout vypínač

Výsledky viz obrázek i41 až i46.

Při rozhovoru s Alexou Alexe požádejte arduino, aby zapnul/vypnul spoušť

Alexo, požádej arduino, aby nastavil spoušť na 24 stupňů Celsia.

Alexo, požádej arduino, aby nastavil spoušť na 50 procent vlhkosti

Alexo, požádej arduino o zapnutí/vypnutí vypínače

Krok 7: Diagram VUI (Voice User Interface)

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

Krok 8: Demo

Image
Image

1. Nastavte spouštěcí teplotu a vlhkost.

2. Nastavte spoušť na 20 stupňů Celsia.

3. Nastavte spoušť na 80 procent vlhkosti.

Krok 9: Schéma

Doporučuje: