Obsah:

Přepínač relé IOT ovládaný hlasem na Arduinu (Google Home & Alexa podporováno): 11 kroků
Přepínač relé IOT ovládaný hlasem na Arduinu (Google Home & Alexa podporováno): 11 kroků

Video: Přepínač relé IOT ovládaný hlasem na Arduinu (Google Home & Alexa podporováno): 11 kroků

Video: Přepínač relé IOT ovládaný hlasem na Arduinu (Google Home & Alexa podporováno): 11 kroků
Video: 100 tisíc 3D tiskáren Original Prusa 2024, Červen
Anonim
Přepínač relé IOT ovládaný hlasem na Arduinu (Google Home & Alexa Supported)
Přepínač relé IOT ovládaný hlasem na Arduinu (Google Home & Alexa Supported)

Tento projekt popisuje, jak vytvořit hlasově ovládaný reléový spínač IOT na bázi Arduina. Toto je relé, které můžete dálkově zapínat a vypínat pomocí aplikace pro iOS a Android, stejně jako jej propojit s IFTTT a ovládat pomocí hlasu také pomocí Google Home a/nebo Alexa. Pokryjeme všechny kroky potřebné k vytvoření zařízení, připojení aplikace a připojení k různým službám IOT.

Zásoby

  • Wemos D1 Mini Lite ESP8285 (pár dolarů na Amazonu)
  • 5V reléový modul pro Arduino/Raspberry Pi
  • 2N2222 NPN tranzistor
  • Odpor 47K ohmů
  • 1K ohmový odpor

Krok 1: Vybudujte obvod

Vybudujte obvod
Vybudujte obvod
Vybudujte obvod
Vybudujte obvod
Vybudujte obvod
Vybudujte obvod

Prvním krokem je zapojení obvodu. Zahrnul jsem schéma a tradiční schéma zapojení, podle toho, na co jste zvyklí. Udělal jsem svůj první obvod na prototypovém prkénku a poté jsem jej přesunul na desku plošných spojů pro trvalejší nastavení a umístil jej do krabice s 3D vytištěným projektem.

Relé je opto izolované H/L 5V relé, což znamená, že nejprve je spouštěcí obvod opticky izolován od samotné aktivace relé, což odstraní jakýkoli potenciální problém se zpětnou vazbou z relé zpět do mikrokontroléru Wemos. Pěkné bezpečí. Za druhé, lze jej přepnout na vysokou/nízkou, což znamená, že jej lze konfigurovat pohybem žlutého propojky, který vidíte na obrázcích, od spouštění při vysokém signálu (+5 V) nebo spouštění při nízkém signálu (0 V). Samotný Wemos vysílá 3,3 V ze svých digitálních pinů a jako zdroj spouštění používáme D1, což znamená, že ho musíme mírně zesílit, abychom se dostali blízko k digitálnímu signálu +5 V pro spuštění relé. Alternativně můžete použít relé 3,3 V a eliminovat součást zesilovače tranzistoru v obvodu a přejít přímo z D1 na signální kolík na relé. Neměl jsem 3,3V relé, takže používáme běžnější 5V relé a obvod zesilovače.

DC+ a DC- na relé se připojují k 5V a GND pinům Wemos, které poskytují potřebné napětí pro ovládání relé. Relé je dimenzováno od malých napětí až po síťové napětí, ale používám to k ovládání nízkonapěťové elektroinstalace. Pokud to používáte k řízení síťového napětí, ujistěte se, že víte, co děláte, jste kvalifikovaní a přijmete příslušná opatření. Pokud ne, nepoužívejte to k ovládání aplikací síťového napětí.

Pin D1 na Wemosu se připojuje k odporu 47 K ohmů, který se napájí do základny na tranzistoru NPN. Vysílač se spojí se zemí. Kolektor je připojen ke vstupnímu signálu na relé. Relé je nastaveno na spouštění na nízké úrovni, takže když D1 dává signál, signál 3,3 V je zesílen na přibližně 5 V a relé je rozepnuto. Když D1 klesne, signál relé klesne a relé se sepne a dokončí obvod.

Zapomněl jsem vyfotit svůj dočasný obvod na prototypovém prkénku, ale pokud to bude užitečné, vypadalo to přesně jako Fritzingův diagram výše. Zahrnul jsem několik obrázků z mého konečného trvalého obvodu, abyste viděli, jak je zapojen, v případě, že potřebujete nějaké informace nebo potřebujete viditelnost konkrétních komponent, které používám.

Krok 2: Programování Wemos - přehled

Jedna z věcí, která se mi na Wemosu líbí, je, že je lze naprogramovat stejně jako Arduino se stejným IDE. Zde však existuje několik kroků.

  1. Nainstalujte ovladače Wemos do počítače a můžete s Wemos mluvit
  2. Aktualizujte Arduino IDE, aby byla k dispozici deska Wemos
  3. Proveďte rychlý test „Blink“, abyste se ujistili, že vše funguje správně
  4. Začněte s Blynkem (vím, že je to matoucí, ale ve skutečnosti je to jiné než „test mrknutí“)
  5. Získejte kód aplikace od Blynk
  6. Aktualizujte kód Wemos/Arduino pomocí informací Blynk
  7. Nahrajte kód do svého nastavení Wemos.

Krok 3: Programování Wemos - instalace ovladačů

Programování Wemos - instalace ovladačů
Programování Wemos - instalace ovladačů

Přejděte sem (zdá se, že se tento odkaz pravidelně mění, pokusím se jej aktualizovat):

www.wemos.cc/en/latest/ch340_driver.html

A stáhněte si správný balíček ovladačů pro váš OS. Poté rozbalte zip do adresáře a spusťte aplikaci „SETUP“a nainstalujte jej.

Když jsem to udělal poprvé, dostal jsem nějakou podivnou chybu, že se neinstaloval. Viděl jsem poznámku někoho jiného o tomto a jejich řešení, které se mi osvědčilo. Pokud se vám tedy zobrazí chyba, zkuste použít tlačítko „Odinstalovat“a poté znovu použít „Instalovat“. Doufejme, že to problém vyřeší stejně jako pro mě.

Krok 4: Programování Wemos - Aktualizujte IDE Arduino

Programování Wemos - Aktualizujte IDE Arduino
Programování Wemos - Aktualizujte IDE Arduino
Programování Wemos - Aktualizujte IDE Arduino
Programování Wemos - Aktualizujte IDE Arduino
Programování Wemos - Aktualizujte IDE Arduino
Programování Wemos - Aktualizujte IDE Arduino

Pokud jste si nenainstalovali Arduino IDE, nyní je vhodné to udělat. Můžete si jej stáhnout z www.arduino.cc

Zde je odkaz na to, co v tomto kroku uděláme.

wiki.wemos.cc/tutorials:get_started:get_st…

  1. Nainstalujme novou desku, aby se zobrazovala jako volitelná v Arduino IDE. Kroky 2 - 4 jsou výňatky z instalačního průvodce na následující stránce github.

    github.com/esp8266/Arduino

  2. Spusťte Arduino IDE a otevřete okno Předvolby.
  3. Do pole Adresy URL dalších správců zadejte „https://arduino.esp8266.com/stable/package_esp8266com_index.json“. Můžete přidat více adres URL a oddělit je čárkami.
  4. Otevřete Správce desek v nabídce Nástroje> Deska> Správce desek (nahoře), vyhledejte „esp8266“a nainstalujte uvedenou platformu esp8266.
  5. V tomto okamžiku uvidíte desky Wemos v nabídce Nástroje → Deska: xxx Vyberte Wemos D1 Mini. V mém případě, jak vidíte z obrázku, byl konkrétní název „LOLIN (WEMOS) D1 R2 & mini“
  6. Připojte kabel USB mezi počítač a Wemos
  7. V nabídce Nástroje potvrďte, že „Port“je nyní aktivní a vypadá správně.

Krok 5: Programování Wemos - test mrknutí

Programování wemosu - test mrknutí
Programování wemosu - test mrknutí

Než půjdeme dále, musíme se ujistit, že můžeme komunikovat s deskou Wemos a vše vypadá v pořádku. Nejjednodušší způsob, jak to udělat, je připojit kabel USB a zkusit odeslat jednoduchý program do Wemos. Blink je nejjednodušší příklad a ušetřil mi spoustu starostí při práci s novými deskami, že to dělám vždy jako první.

  1. Přejděte na: Soubor> Příklady> ESP8266> Mrkněte a načtěte skicu mrknutí pro zařízení Wemos
  2. Zkompilujte a nahrajte skicu

Pokud modrá LED začne blikat přibližně jednou za sekundu, pak je dobré přejít k dalšímu kroku! Pokud ne, vraťte se zpět a vyřešte předchozí kroky. Zjistěte, zda není problém s ovladači a správcem desky. Měl jsem nějaké problémy s balíčkem desky pro ESP8266 a musel jsem ho úplně odinstalovat a znovu nainstalovat kvůli něčemu divnému s verzemi, které se děly. Nevzdávejte to a hledání na internetu může být váš přítel!

Za předpokladu, že je vše v pořádku, přejděte k dalšímu kroku.

Krok 6: Programování Wemos - Nastavení Blynku

Programování Wemos - Nastavení Blynk
Programování Wemos - Nastavení Blynk
Programování wemos - nastavení Blynku
Programování wemos - nastavení Blynku
Programování Wemos - Nastavení Blynk
Programování Wemos - Nastavení Blynk

V těchto dalších krocích musíme nastavit účet u Blynka a získat token, který budeme moci použít k ovládání námi vytvořeného okruhu.

  1. Stáhněte si aplikaci a vytvořte si účet (je zdarma)
  2. Vytvořte nový projekt
  3. V části Vybrat zařízení vyberte jako hardware Wemos D1
  4. Pojmenujte projekt a ponechte typ konektoru jako WiFi
  5. Klikněte na Vytvořit projekt
  6. V tomto okamžiku bude ověřovací token zaslán e -mailem na e -mailovou adresu, kterou jste použili při vytváření účtu Blynk. Uložte si to na později, hodnoty vložíme do náčrtu v dalším kroku.
  7. Když se dostanete na prázdnou obrazovku plátna, stačí přejet prstem doleva a zobrazí se nabídka widgetu. Chcete -li do projektu přidat „tlačítko“, vyberte „Tlačítko“
  8. Vyberte tlačítko a poté nakonfigurujte Pin kliknutím na něj a výběrem „Digital“a „D1“jako pi a klikněte na „Ok“
  9. V tuto chvíli by mělo být vše připraveno. Chcete -li to aktivovat, chtěli byste vybrat ikonu trojúhelníku vpravo nahoře, ale zatím to nebude fungovat, dokud nenačteme a nenakonfigurujeme skicu, což je další krok!

Krok 7: Programování Wemos - instalace knihovny Blynk

Abychom mohli nahrát skicu založenou na Blynku, musíme nainstalovat jejich knihovnu. Podrobnosti najdete zde.

github.com/blynkkk/blynk-library/releases

Také se můžete podívat na jejich hlavní webové stránky zde (https://blynk.io/en/getting-started)

Zpočátku to pro mě bylo matoucí, ale je to mnohem jednodušší, než to zní. Jednoduše rozbalte soubor do adresáře Arduino. Pro mě to bylo v / user / Documents / Arduino. Už tam byla složka s názvem „knihovny“. Soubor zip obsahuje adresář „knihovna“a „nástroje“. Když ho rozbalíte do adresáře Arduino, přidá jeho obsah do knihoven a vytvoří nástroje, pokud ještě neexistoval.

Krok 8: Programování Wemos - skica

V tuto chvíli jsme téměř hotovi. Skica je velmi jednoduchá, je přímo od Blynka a v podstatě spojuje službu Blynk a desku. Jejich stavitele můžete použít zde:

examples.blynk.cc/?board=WeMos%20D1&shield=ESP8266%20WiFi&example=Widgets%2FTerminal

Nebo můžete použít tuto ukázku, která by vám měla fungovat. Jen se ujistěte, že jste nahradili hodnoty pro autentizační token a vaše přihlašovací údaje pro vaši wifi síť.

/*************************************************************

Stáhněte si nejnovější knihovnu Blynk zde: https://github.com/blynkkk/blynk-library/releases/latest Blynk je platforma s aplikacemi pro iOS a Android pro ovládání Arduina, Raspberry Pi a podobných položek přes internet. Grafická rozhraní pro všechny své projekty můžete snadno vytvářet pouhým přetažením widgetů. Soubory ke stažení, dokumenty, návody: https://www.blynk.cc Generátor skic: https://examples.blynk.cc Komunita Blynk: https://community.blynk.cc Sledujte nás: https://www.fb. com/blynkapp Knihovna Blynk je licencována pod licencí MIT Tento příklad kódu je veřejně dostupný. ******************************************************** *********** Všechna data můžete odesílat/přijímat pomocí objektu WidgetTerminal. Nastavení projektu aplikace: Widget terminálu připojený k Virtual Pin V1 *************************************** **********************//*Komentujte toto pro deaktivaci tisků a úsporu místa*/ #define BLYNK_PRINT Sériové #include #include // Měli byste získat Auth Token v aplikaci Blynk. // Přejděte do Nastavení projektu (ikona matice). char auth = "YourAuthToken"; // Vaše pověření WiFi. // U otevřených sítí nastavte heslo na „“. char ssid = "YourNetworkName"; char pass = "Vaše heslo"; // Připojte virtuální sériový terminál k terminálu Virtual Pin V1 WidgetTerminal (V1); // Příkazy můžete odesílat z terminálu na váš hardware. Stačí použít // stejný virtuální pin jako váš terminálový widget BLYNK_WRITE (V1) {// pokud do terminálního widgetu napíšete „Marco“- odpoví: „Polo:“if (String („Marco“) == param.asStr ()) {terminal.println ("Řekl jsi: 'Marco'"); terminal.println ("řekl jsem: 'Polo'"); } else {// Pošlete to zpět terminal.print ("Řekl jste:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Zajistit odeslání všeho terminal.flush (); } void setup () {// Debug console Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Můžete také zadat server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Tím se vytiskne verze softwaru Blynk na widget Terminal, když // se váš hardware připojí k terminálu Blynk Server terminal.println (F ("Blynk v" BLYNK_VERSION ": Zařízení spuštěno")); terminal.println (F ("-------------")); terminal.println (F ("Napište 'Marco' a získejte odpověď nebo napište")); terminal.println (F („cokoli jiného a nechte si to vytisknout zpět.“)); terminal.flush (); } void loop () {Blynk.run (); }

Krok 9: Programování Wemos - závěrečný krok

Image
Image

Jakmile je skica načtena, zkompilujte a nahrajte skicu a měli byste být připraveni otestovat své nastavení!

Otevřete aplikaci Blynk a klikněte na trojúhelník v pravém horním rohu projektu Wemos

Pak klikněte na tlačítko! Měli byste slyšet cvaknutí relé a stavové LED diody na desce relé indikují, že relé změnilo stav.

Nyní můžete relé připojit k jakékoli nízkonapěťové aplikaci, která vyžaduje jednoduchý spínač, a ovládat ji z aplikace Blynk. Poslední věc, kterou musíme udělat, je spojit IFTTT a používat Google nebo Alexa k ovládání systému Blynk, abychom to nemuseli dělat z naší aplikace Blynk.

Krok 10: Ovládání Blynku pomocí IFTTT a Google Home nebo Alexa

V tuto chvíli předpokládám, že máte nějaké znalosti o IFTTT. Pokud ne, existuje několik skvělých návodů, které vám pomohou naučit se používat a využívat IFTTT. Je to velmi silné a něco, co se budete chtít naučit, pokud ještě nejste obeznámeni.

  1. Vytvořte nový applet v IFTTT
  2. Jako „If This“vyberte Google Assistant a jako spouštěč použijte „jednoduchou frázi“. Pro mě, protože to mělo zapnout nebo vypnout můj krb, moje věta byla „zapnout krb“
  3. V části „Then That“vyhledejte a použijte Webhooks
  4. Vyberte „Odeslat webový požadavek“
  5. Pro adresu URL, kterou budete chtít použít:

    "https://blynk-cloud.com/XXXXYYYYZZZZZ/update/d5?value=1"

  6. Nastavte metodu na GET, typ obsahu na urlencoded a můžete nechat BODY prázdné a poté uložit

Počkejte několik minut a poté pokračujte a otestujte svou frázi na svém domovském zařízení Google. Všiml jsem si, že to trvá asi dvě minuty, než bude připraven.

POZNÁMKA: jedna další věc, kterou je třeba věnovat pozornost zde. Všimněte si, že ve svém volání API používám „d5“, ale připojil jsem se ke kolíku D1 na desce. Trvalo mi asi den, než jsem zjistil, že číslování pinů GPIO a číslování na obrazovce není stejné. Po změně hodnot pomocí přímých volání URL a testování napětí na různých pinech voltmetrem jsem si mohl všimnout, že volání na d1 přes API změnilo napětí, ale ne na D1 na desce. d5/GPIO 5 skutečně odpovídalo D1 na desce. Jakmile jsem provedl tuto úpravu, vše fungovalo krásně!

Zapojení Alexa je totožné s domovskou stránkou Google, místo toho pouze používáte službu Alexa na IFTTT.

Krok 11: Závěr

V tomto okamžiku byste měli mít funkční hlasově ovládané relé IOT pomocí Wemos D1 mini lite. Užijte si to a hodně štěstí!

Elektřina je opět nebezpečná, proto prosím proveďte příslušná opatření a pokud nejste kvalifikovaní, ne.

Doporučuje: