Obsah:

Hlasovo ovládaný reléový spínač IOT na báze Arduino (podporovaná doména Google a Alexa): 11 krokov
Hlasovo ovládaný reléový spínač IOT na báze Arduino (podporovaná doména Google a Alexa): 11 krokov

Video: Hlasovo ovládaný reléový spínač IOT na báze Arduino (podporovaná doména Google a Alexa): 11 krokov

Video: Hlasovo ovládaný reléový spínač IOT na báze Arduino (podporovaná doména Google a Alexa): 11 krokov
Video: smart home_捷克语_Hlasově ovládaný bezdrátový inteligentní domácí systém 2024, Jún
Anonim
Hlasovo ovládaný reléový spínač IOT na báze Arduino (podporované doménou Google a Alexa)
Hlasovo ovládaný reléový spínač IOT na báze Arduino (podporované doménou Google a Alexa)

Tento projekt popisuje, ako vytvoriť reléový prepínač IOT ovládaný hlasom ovládaným Arduino. Toto je relé, ktoré môžete na diaľku zapínať a vypínať pomocou aplikácie pre iOS a Android, ako aj prepojiť ho s IFTTT a ovládať hlasom pomocou domovskej stránky Google a/alebo Alexa. Pokryjeme všetky kroky potrebné na vytvorenie zariadenia, pripojenie aplikácie a pripojenie k rôznym službám IOT.

Zásoby

  • Wemos D1 Mini Lite ESP8285 (niekoľko dolárov na Amazone)
  • 5V reléový modul pre Arduino/Raspberry Pi
  • 2N2222 NPN tranzistor
  • Odpor 47 kOhm
  • 1K ohmový odpor

Krok 1: Vybudujte obvod

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

Prvým krokom je zapojenie obvodu. Priložil som schému a tradičnú schému zapojenia podľa toho, na čo ste zvyknutí. Urobil som svoj prvý obvod na prototypovom breadboarde a potom som ho presunul na dosku plošných spojov na trvalejšie nastavenie a umiestnil som ho do krabice s 3D vytlačeným projektom.

Relé je opto-izolované relé H/L 5V, čo znamená, že najskôr sú spínacie obvody opticky izolované od samotnej aktivácie relé, čo odstraňuje prípadný problém so spätnou väzbou z relé späť do mikrokontroléra Wemos. Príjemné bezpečie. Za druhé, je možné ho prepnúť na vysoký/nízky, čo znamená, že ho možno nakonfigurovať posunutím žltého prepojky, ktorý vidíte na obrázkoch, od spustenia pri vysokom signále (+5 V) alebo spustenia pri nízkom signálu (0 V). Samotný Wemos vysiela zo svojich digitálnych pinov 3,3 V a ako spúšťací zdroj používame D1, čo znamená, že ho musíme mierne zosilniť, aby sme sa dostali blízko k digitálnemu signálu +5 V na spustenie relé. Alternatívne môžete použiť relé 3,3 V a vylúčiť súčasť tranzistorového zosilňovača v obvode a prejsť priamo z D1 na signálny kolík na relé. Nemal som 3,3V relé, takže používame bežnejšie 5V relé a obvod zosilňovača.

DC+ a DC- na relé sa pripájajú na piny 5V a GND zariadenia Wemos, ktoré poskytujú potrebné napätie na ovládanie relé. Relé je dimenzované od malého napätia až po sieťové napätie, ale ja ho používam na ovládanie nízkonapäťovej elektroinštalácie. Ak to používate na ovládanie sieťového napätia, uistite sa, že viete, čo robíte, ste kvalifikovaní a urobíte príslušné opatrenia. Ak nie, potom ho nepoužívajte na ovládanie aplikácií sieťového napätia.

Kolík D1 na Wemose sa pripája k odporu 47 K ohmov, ktorý sa napája na základňu tranzistora NPN. Vysielač sa spojí so zemou. Kolektor je pripojený k vstupnému signálu na relé. Relé je nastavené na spustenie pri nízkych hodnotách, takže keď D1 dáva signál, signál 3,3 V je zosilnený na približne 5 V a relé je rozpojené. Keď D1 klesne, signál relé klesne a relé sa zopne a dokončí obvod.

Zabudol som odfotiť môj dočasný obvod na prototypovom nepájivom poli, ale vyzeralo to presne ako Fritzingov diagram vyššie, ak je to užitočné. Priložil som niekoľko obrázkov môjho konečného trvalého obvodu, aby ste videli, ako je zapojený, v prípade, že potrebujete nejaké informácie alebo potrebujete viditeľnosť konkrétnych komponentov, ktoré používam.

Krok 2: Programovanie Wemos - prehľad

Jedna z vecí, ktoré sa mi na Wemose páčia, je, že ich možno naprogramovať rovnako ako Arduino pomocou rovnakého IDE. Existuje tu však niekoľko krokov.

  1. Nainštalujte ovládače Wemos do počítača a môžete hovoriť s Wemos
  2. Aktualizujte IDE Arduino, aby bola k dispozícii doska Wemos
  3. Vykonajte rýchly test „Žmurknutie“a uistite sa, že všetko funguje správne
  4. Začnite s Blynkom (viem, že je to mätúce, ale v skutočnosti je to iné ako „test žmurknutia“)
  5. Získajte kód aplikácie od Blynk
  6. Aktualizujte kód Wemos/Arduino pomocou informácií Blynk
  7. Nahrajte kód do svojho nastavenia Wemos.

Krok 3: Programovanie Wemos - inštalácia ovládačov

Programovanie zariadenia Wemos - inštalácia ovládačov
Programovanie zariadenia Wemos - inštalácia ovládačov

Choďte sem (zdá sa, že tento odkaz sa pravidelne mení, pokúsim sa ho aktualizovať):

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

A stiahnite si správny balík ovládačov pre váš OS. Potom rozbaľte súbor zip do adresára a spustite aplikáciu „SETUP“, aby ste ho nainštalovali.

Keď som to urobil prvýkrát, zobrazila sa mi zvláštna chyba, že sa neinštaloval. Videl som poznámku niekoho iného o tomto a ich riešení, ktoré sa mi osvedčilo. Ak sa vám teda zobrazí chyba, skúste použiť tlačidlo „Odinštalovať“a potom znova použite tlačidlo „Inštalovať“. Našťastie sa tým problém odstráni tak, ako sa to stalo mne.

Krok 4: Programovanie Wemos - Aktualizujte IDE Arduino

Programovanie Wemos - Aktualizujte IDE Arduino
Programovanie Wemos - Aktualizujte IDE Arduino
Programovanie Wemos - Aktualizujte IDE Arduino
Programovanie Wemos - Aktualizujte IDE Arduino
Programovanie Wemos - Aktualizujte IDE Arduino
Programovanie Wemos - Aktualizujte IDE Arduino

Ak nemáte nainštalované Arduino IDE, je vhodný čas to urobiť teraz. Môžete si ho stiahnuť z www.arduino.cc

Tu je odkaz na to, čo v tomto kroku urobíme.

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

  1. Nainštalujme novú dosku, aby sa v Arduino IDE zobrazovala ako možnosť. Kroky 2 - 4 sú vyňaté z sprievodcu inštaláciou na nasledujúcej stránke github.

    github.com/esp8266/Arduino

  2. Spustite Arduino IDE a otvorte okno Predvoľby.
  3. Do poľa Adresy URL dodatočného správcu dosky zadajte „https://arduino.esp8266.com/stable/package_esp8266com_index.json“. Môžete pridať viacero adries URL a oddeliť ich čiarkami.
  4. Otvorte Správcu dosiek z Nástroje> Doska> Správca dosiek (v hornej časti), vyhľadajte „esp8266“a nainštalujte uvedenú platformu esp8266.
  5. V tomto mieste uvidíte dosky Wemos v ponuke Nástroje → Doska: xxx Vyberte Wemos D1 Mini. V mojom prípade, ako vidíte na obrázku, konkrétny názov bol „LOLIN (WEMOS) D1 R2 & mini“
  6. Pripojte kábel USB medzi počítač a Wemos
  7. Potvrďte, že „Port“je teraz aktívny v ponuke Nástroje a vyzerá správne.

Krok 5: Programovanie Wemos - žmurknutie

Programovanie zariadenia Wemos - test žmurknutia
Programovanie zariadenia Wemos - test žmurknutia

Predtým, ako pôjdeme ďalej, sa musíme uistiť, že môžeme komunikovať s doskou Wemos a všetko vyzerá v poriadku. Najľahšie to urobíte tak, že zapojíte USB kábel a pokúsite sa vložiť jednoduchý program do Wemosu. Blink je najľahší príklad a ušetril mi veľa starostí pri práci s novými doskami, pretože to robím vždy ako prvé.

  1. Prejdite na: Súbor> Príklady> ESP8266> Žmurknutie a načítanie skica žmurknutím pre zariadenie Wemos
  2. Zostavte a nahrajte náčrt

Ak modrá LED dióda začne blikať zhruba raz za sekundu, potom môžete prejsť na ďalší krok! Ak nie, vráťte sa späť a odstráňte predchádzajúce kroky. Zistite, či nie je problém s ovládačmi a správcom dosky. Mal som problémy s balíkom dosky pre ESP8266 a musel som ho úplne odinštalovať a znova nainštalovať kvôli niečomu zvláštnemu s verziami, ktoré sa diali. Nevzdávajte sa a vyhľadávanie na internete môže byť váš priateľ!

Za predpokladu, že je všetko v poriadku, prejdite na ďalší krok.

Krok 6: Programovanie Wemos - Nastavenie Blynka

Programovanie Wemos - Nastavenie Blynka
Programovanie Wemos - Nastavenie Blynka
Programovanie Wemos - Nastavenie Blynka
Programovanie Wemos - Nastavenie Blynka
Programovanie Wemos - Nastavenie Blynka
Programovanie Wemos - Nastavenie Blynka

V týchto ďalších krokoch si musíme založiť účet u Blynka a získať token, pomocou ktorého budeme môcť ovládať okruh, ktorý sme vytvorili.

  1. Stiahnite si aplikáciu a vytvorte si účet (je zadarmo)
  2. Vytvorte nový projekt
  3. V časti Vyberte zariadenie vyberte ako hardvér Wemos D1
  4. Pomenujte projekt a ponechajte typ konektora ako WiFi
  5. Kliknite na položku Vytvoriť projekt
  6. V tomto mieste bude autorizačný token odoslaný e -mailom na e -mailovú adresu, ktorú ste použili pri vytváraní účtu Blynk. Nechajte si to na neskôr, hodnoty vložíme do náčrtu v nasledujúcom kroku.
  7. Keď sa dostanete na prázdnu obrazovku, potiahnite prstom doľava a zobrazí sa ponuka miniaplikácií. Ak chcete do projektu pridať „tlačidlo“, zvoľte „Tlačidlo“
  8. Vyberte tlačidlo a potom nakonfigurujte pin tak, že naň kliknete a ako pi vyberiete „Digitálne“a „D1“a kliknete na „Ok“
  9. V tomto okamihu by malo byť všetko pripravené. Ak to chcete urobiť, chcete vybrať ikonu trojuholníka v pravom hornom rohu, ale zatiaľ to nebude fungovať, kým nenačítame a nenakonfigurujeme skicu, čo je ďalší krok!

Krok 7: Programovanie Wemos - Inštalácia Blynkovej knižnice

Aby sme mohli nahrať skicu založenú na Blynkovi, musíme nainštalovať ich knižnicu. Podrobnosti nájdete tu.

github.com/blynkkk/blynk-library/releases

Ak sa chcete dozvedieť niečo o pôvode, pozrite sa na ich hlavný web tu (https://blynk.io/en/getting-started)

Na začiatku to bolo mätúce, ale je to oveľa jednoduchšie, ako to znie. Jednoducho rozbaľte súbor do adresára Arduino. Pre mňa to bolo v / user / Documents / Arduino. Už tam bol priečinok s názvom „knižnice“. Súbor zip obsahuje adresár „knižnica“a „nástroje“. Keď ho rozbalíte do adresára Arduino, pridá jeho obsah do knižníc a vytvorí nástroje, ak ešte neexistoval.

Krok 8: Programovanie Wemos - skica

V tejto chvíli sme takmer hotoví. Náčrt je veľmi jednoduchý, je to priamo od Blynka a v zásade spája službu Blynk a predstavenstvo. Ich staviteľa môžete použiť tu:

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

Alebo môžete použiť túto ukážku, ktorá by vám mala vyhovovať. Nezabudnite nahradiť hodnoty pre autentifikačný token a svoje poverenia pre svoju sieť Wi -Fi.

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

Stiahnite si najnovšiu knižnicu Blynk tu: https://github.com/blynkkk/blynk-library/releases/latest Blynk je platforma s aplikáciami pre iOS a Android na ovládanie Arduina, Raspberry Pi a podobných aplikácií cez internet. Grafické rozhrania pre všetky svoje projekty môžete jednoducho vytvárať jednoduchým pretiahnutím miniaplikácií. Súbory na stiahnutie, dokumenty, návody: https://www.blynk.cc Generátor skíc: https://examples.blynk.cc Komunita Blynk: https://community.blynk.cc Sledujte nás: https://www.fb. com/blynkapp Knižnica Blynk je chránená licenciou MIT Tento príklad kódu je verejne dostupný. ********************************************************** *********** Akékoľvek údaje môžete odosielať/prijímať pomocou objektu WidgetTerminal. Nastavenie projektu aplikácie: Widget terminálu pripojený k Virtual Pin V1 ************************************** **********************//*Komentovaním vypnite tlač a ušetrite miesto*/ #define BLYNK_PRINT Sériové #include #include // Mali by ste získať autorizáciu Token v aplikácii Blynk. // Prejdite na Nastavenia projektu (ikona orecha). char auth = "YourAuthToken"; // Vaše poverenia WiFi. // Pre otvorené siete nastavte heslo na „“. char ssid = "YourNetworkName"; char pass = "Vaše heslo"; // Pripojenie virtuálneho sériového terminálu k terminálu WidgetTerminal Virtual V1 V1 (V1); // Príkazy môžete odosielať z terminálu na svoj hardvér. Stačí použiť // ten istý virtuálny pin ako váš terminálový widget BLYNK_WRITE (V1) {// ak do terminálneho widgetu napíšete „Marco“- odpovie: „Polo:“if (String („Marco“) == param.asStr ()) {terminal.println ("Povedali ste: 'Marco'"); terminal.println ("povedal som: 'Polo'"); } else {// Pošlite to späť terminal.print ("Povedali ste:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Zaistite, aby bolo všetko odoslané terminal.flush (); } void setup () {// Ladiaca konzola Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Môžete tiež zadať server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Toto vytlačí verziu softvéru Blynk na miniaplikáciu Terminal, keď // sa váš hardvér pripojí k terminálu servera Blynk.println (F ("Blynk v" BLYNK_VERSION ": Zariadenie spustené")); terminal.println (F ("-------------")); terminal.println (F ("Napíšte 'Marco' a dostanete odpoveď, alebo napíšte ')); terminal.println (F („čokoľvek iné a nechajte si to vytlačiť späť.“)); terminal.flush (); } prázdna slučka () {Blynk.run (); }

Krok 9: Programovanie Wemos - posledný krok

Image
Image

Akonáhle je skica načítaná, skompilovajte a nahrajte skicu a mali by ste byť pripravení otestovať svoje nastavenie!

Otvorte aplikáciu Blynk, kliknite na trojuholník v pravom hornom rohu projektu Wemos

Potom kliknite na tlačidlo! Mali by ste počuť cvaknutie relé a stavové diódy LED na doske relé signalizujú, že relé zmenilo stav.

Teraz môžete relé pripojiť k akejkoľvek aplikácii nízkeho napätia, ktorá vyžaduje jednoduchý spínač, a ovládať ho pomocou aplikácie Blynk. Posledná vec, ktorú musíme urobiť, je pripojiť sa k IFTTT a pomocou systému Google alebo Alexa ovládať systém Blynk, aby sme to nemuseli robiť z našej aplikácie Blynk.

Krok 10: Ovládanie Blynka pomocou IFTTT a Google Home alebo Alexa

V tomto mieste predpokladám, že sa v IFTTT dobre vyznáte. Ak nie, existuje niekoľko vynikajúcich návodov, ktoré vám pomôžu naučiť sa používať a využívať IFTTT. Je to veľmi silné a niečo, čo by ste sa chceli naučiť, ak ešte nie ste oboznámení.

  1. Vytvorte nový applet v IFTTT
  2. Vyberte Google Assistant ako „If This“a ako spúšťač použite „jednoduchú frázu“. Pretože to pre mňa zapne alebo vypne krb, moja veta bola „zapni krb“
  3. V časti „Potom“vyhľadajte a používajte Webhooks
  4. Vyberte „Odoslať webovú žiadosť“
  5. Pre adresu URL, ktorú budete chcieť použiť:

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

  6. Nastavte metódu na GET, typ obsahu na urlencoded a BODY nechajte prázdne a potom uložte

Počkajte niekoľko minút a potom pokračujte a otestujte svoju frázu na svojom domácom zariadení Google. Všimol som si, že to trvá asi dve minúty, kým je pripravený.

POZNÁMKA: tu je potrebné venovať pozornosť ešte jednej veci. Všimnite si, že vo svojom API volaní používam „d5“, ale pripojil som sa na pin D1 na doske. Trvalo mi asi deň, kým som zistil, že číslovanie pinov GPIO a číslovanie na obrazovke nie sú rovnaké. Po zmene hodnôt pomocou priamych adries URL a testovaní napätí na rôznych pinoch voltmetrom som si mohol všimnúť, že volanie na d1 prostredníctvom rozhrania API síce zmenilo napätie, ale nie na D1 na doske. d5/GPIO 5 skutočne zodpovedal D1 na doske. Keď som vykonal túto úpravu, všetko fungovalo krásne!

Pripojenie Alexa je totožné s domovskou stránkou Google, namiesto toho iba používate službu Alexa na IFTTT.

Krok 11: Záver

V tomto mieste by ste mali mať funkčné hlasovo ovládané relé IOT pomocou Wemos D1 mini lite. Užite si to a veľa šťastia!

Elektrická energia je opäť nebezpečná, preto urobte primerané opatrenia a ak nie ste kvalifikovaní, tak nie.

Odporúča: