Obsah:
- Krok 1: Shromáždění materiálů
- Krok 2: Programování Arduina a ESP8266
- Krok 3: Konfigurace Thingspeak.com
- Krok 4: Program
- Krok 5: Konfigurace Linkit Smart 7688 Duo a webové kamery
- Krok 6: Konfigurace PushingBox
- Krok 7: Vytvoření dovednosti Alexa pomocí backendless
- Krok 8: Konfigurace dovednosti Alexa v konzole Amazon Developer Console:
- Krok 9: Konečné nastavení a dokončení
Video: Smart Home Monitoring pomocí Alexa a Arduino: 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
V dnešním světě lidé tráví více času na pracovišti než ve svých domovech. Proto existuje potřeba domácího monitorovacího systému, kde by se lidé mohli seznámit s podmínkami domu, když jsou v práci. Ještě lepší by bylo, kdyby se někdo během pracovní doby mohl „někoho“zeptat na jeho domov. Toho lze dosáhnout využitím asistenta Amazon Alexa, který může uživateli poskytnout potřebné informace o jeho domově.
Nejen pracovní místo Uživatelé mohou poznat stav domu na jakémkoli místě na světě, pokud mají připojení k internetu a Amazon Alexa.
V tomto projektu jsou implementovány následující funkce:
1) Ovládejte domácí zařízení, jako je ventilátor a světlo
2) Informuje o stavu zařízení
3) Udává povětrnostní podmínky domu (teplota a vlhkost)
4) V případě potřeby pošle uživateli snímek interiéru domu přes Gmail.
5) Odesílá oznámení v případě -
* Vetřelec (pošle také fotografii)
* Oheň
* Host (pošle také fotografii)
Krok 1: Shromáždění materiálů
Požadovaný materiál
Arduino Uno
Wifi modul ESP8266
Linkit Smart 7688 Duo
DHT11
Relé
IR senzor překážky
Webová kamera
Amazon Echo Dot
Dráty a propojovací vodiče
Software a online služby:
Thingspeak.com
Arduino IDE
Sada dovedností Amazon Alexa
Amazon Alexa Echosim.io (pro testování dovedností)
Backendless
PushingBox
Krok 2: Programování Arduina a ESP8266
Stáhněte si Arduino IDE z oficiálních webových stránek:
Otevřete Arduino IDE a přejděte na soubor-> předvolby-> v dalším typu adresy URL správce desek-https://arduino.esp8266.com/stable/package_esp8266…
Přejděte na nástroje -> desky -> Správce desek a nainstalujte konečně nalezený balíček esp8266.
Chcete-li arduino naprogramovat, stačí zapojit USB kabel z arduina do počítače a v nástrojích-> deskách zvolit Arduino/Genuino UNO. Nezapomeňte také vybrat práva COM porty v Nástroje (číslo portu COM najdete ve Správci zařízení). Napište požadovaný program, zkompilujte jej a pokud nejsou žádné chyby, klikněte na nahrát.
Pro naprogramování ESP8266 proveďte připojení podle obrázku. připojte USB z arduina k počítači. V nástrojích-> deska-> vyberte Obecný ESP8266 a také vyberte pravý COM port. Napište požadovaný program, zkompilujte jej a pokud nejsou žádné chyby, klikněte na nahrát. Ujistěte se, že připojujete Arduino RST k GND (arduino funguje jako programátor k ESP8266).
V tomto projektu se nejprve naprogramuje ESP8266 a poté se odstraní připojení obvodů. Poté se obvod znovu připojí, jak ukazuje obrázek s názvem „Připojení obvodu“. A pak je arduino naprogramováno.
Krok 3: Konfigurace Thingspeak.com
Vytvořte si účet na thingspeak.com.
používáme kanály in thingspeak k ukládání informací o ovládání zařízení a jejich směrování do arduino/alexa. do kanálů ukládáme také hodnoty teploty a vlhkosti. Je to jako místo pro ukládání informací.
Přihlaste se k aplikaci thingspeak, přejděte na kanály mých kanálů a vytvořte nový kanál. Uveďte název a popis svých kanálů. V našem projektu potřebujeme 8 kanálů (práci můžete provést pomocí méně kanálů, ale při programování to bude trochu komplikované). Také thingspeak má časové omezení při aktualizaci kanálu. Mezi postupnou aktualizací konkrétního kanálu musí být mezera 10–15 s.
Níže je uvedeno osm kanálů s jejich hodnotami a významem
název kanálu (hodnota1-význam, hodnota2-význam atd.):
1) Ovládání zařízení (0- zapnuto, 1- vypnuto, 2- zapnuto, 3- vypnuto)
2) stav světla (0- nesvítí, 1- svítí)
3) stav ventilátoru (0- ventilátor vypnutý, 1- ventilátor zapnutý)
4) vlhkost (hodnota vlhkosti)
5) teplota (hodnota teploty)
6) oznámení narušitele (1- upozornění narušitele)
7) požární upozornění (1- požární varování)
8) oznámení hosta (1 upozornění hosta)
když kliknete na libovolný kanál, můžete vidět jeho ID kanálu a zapsat klíče API na kartě API klíče. ID kanálu je vyžadováno pro získání informací/ hodnoty v kanálu. K uložení hodnoty do kanálu je vyžadován klíč pro zápis.
http požadavek na aktualizaci kanálu je:
api.thingspeak.com/update?api_key=&field1=
je nahrazen odpovídajícími zapisovacími klávesami kanálu a může být (0/1 v případě ovládání zařízení nebo hodnot teploty/vlhkosti)
http požadavek na čtení hodnoty z kanálu je:
api.thingspeak.com/channels//field/field1/last.html
je nahrazeno konkrétním ID kanálu, ze kterého chceme číst.
Krok 4: Program
Program je rozdělen do 3 částí:
A) Program pro Arduino: program pro arduino je velmi jednoduchý. Přijímá data z ESP8266 sériově a na základě přijatých dat jsou zařízení ovládána. Více informací o programu najdete v komentářích v samotném programu.
B) Program pro ESP8266: program pro ESP8266 zahrnuje 3 věci
1) aktualizace teploty a vlhkosti pomocí požadavku
client.print (String ("GET") + "/update? key = & field1 =" + vlhkost + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Připojení: zavřít / r / n / r / n "); // aktualizace vlhkosti
client.print (String ("GET") + "/update? key = & field1 =" + teplota + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Připojení: zavřít / r / n / r / n "); // aktualizace teploty
je nahrazen odpovídajícím klíčem pro zápis, který se nachází v kanálu pro špičkový obsah vlhkosti a teploty. a hostitelem je api.thingspeak.com.
stáhněte si knihovnu dht z:
2) čtení z odpovídajících kanálů thingspeak a ovládání zařízení na základě získaných hodnot: client.print (String ("GET") + "/channels//field/field1/last.html HTTP/1.1 / r / n" + " Host: " + host +" / r / n " +" Připojení: zavřít / r / n / r / n ");
kde je nahrazeno odpovídajícím ID kanálu nalezeným v thingspeak.
3) Odeslání výstrahy v případě vysoké teploty prostřednictvím tlačného boxu
Řetězec host1 = "api.pushingbox.com";
client.print (String ("GET") + "/pushbox? devid = HTTP/1.1 / r / n" + "Host:" + host1 + "\ r / n" + "Připojení: zavřít / r / n / r / n ");
kde je nahrazeno vaším ID zařízení v pushboxu.
Krok 5: Konfigurace Linkit Smart 7688 Duo a webové kamery
V tomto projektu webová kamera a linkit smart 7688 duo slouží k zachycení požadované fotografie a jejímu odeslání uživateli. Můžete také použít kamerový modul arduino a propojit jej s arduino nebo použít libovolnou IP kameru.
Desku resetujete stisknutím a podržením tlačítka wifi na zařízení linkit smart 7688 po dobu 20 sekund. Poté, co se resetuje nastavení wifi, uvidíte název svého přístupového bodu v připojení k bezdrátové síti. Nyní připojte počítač k této síti. po připojení otevřete prohlížeč a do adresního řádku zadejte 192.168.100.1. Budete moci vidět jeho portál. nastavit heslo pro přihlášení na jeho portál.
Poté, co se přihlásíte, přejděte na kartu síť a vyberte režim Stanice (potřebujeme jej (pro připojení k internetu (linkit smart 7688 duo)), připojte se k síti Wifi a stiskněte Konfigurovat a restartujte.
Poté, co se deska restartuje, bude jí přidělena místní IP adresa. Zjistěte adresu pomocí libovolných nástrojů IP nebo portálu routeru. V mém případě to bylo 192.168.1.4. Nyní zadejte místní IP adresu do adresního řádku prohlížeče. ujistěte se, že je počítač připojen ke stejné síti jako linkit smart. Budete požádáni o opětovné přihlášení.
Chcete-li povolit streamování z webové kamery, měli byste povolit-j.webp
Poté, co se přihlásíte, přejděte na kartu služby a zaškrtněte Povolit-j.webp
Po nastavení se můžete připojit webovou kameru k USB hostiteli linkit smart 7688 duo USB pomocí kabelu OTG. Nyní se vám zobrazí stream, otevřete prohlížeč a do adresního řádku zadejte: v mém případě je to 192.168.1.4:4400
Chcete -li pořídit snímek, zadejte příkaz:? action = snímek
Nyní je tento obrázek k dispozici místně, ale musíme jej zpřístupnit službě push box. Abychom toho dosáhli, musíme provést přesměrování portů. Přesměrování portů lze provádět na portálu routeru. Proces se liší pro různé směrovače. Stačí google, abyste věděli, jak portovat pro konkrétní router. Obvykle je k dispozici pod službou NAT. Poté, co přenesete port dopředu, můžete k tomuto portu (tj. 4440) přistupovat z vaší externí IP. Externí IP lze zjistit tak, že na Google zadáte „whats my ip“.
Musíte zadat tuto adresu
tj.. https://::? action = snímek
v pushboxu (což je vysvětleno v dalším kroku), aby pushbox měl přístup k tomuto obrázku, připojil jej k poště a odeslal vám ho, kdykoli to bude potřeba.
Obrázek můžete také uložit na kartu SD, protože Linkit smart 7688 duo je dodáván také se slotem pro kartu SD pro ukládání informací. Více informací o tom najdete na:
docs.labs.mediatek.com/resource/linkit-sm…
Krok 6: Konfigurace PushingBox
Pushbox slouží k odesílání upozornění na různá upozornění v projektu na gmail.
přihlaste se do Pushboxu pomocí účtu Google:
přejděte na moje služby přidat službu. na výběr je mnoho služeb, jako je Gmail, twitter, push notifikace pro Android atd …
vyberte Gmail (protože potřebujeme poslat fotografii jako přílohu) a vyplňte příslušnou konfiguraci jména gmailu a gmail id uživatele, kterému má být upozornění zasláno.
přejděte na mé scénáře a vytvořte nový scénář. pojmenujte scénář (např. ALERT) přidejte dříve vytvořenou službu.
napište vhodný předmět a tělo e -mailu a zadejte adresu URL pro pořízení snímku webové kamery pro připojení fotografie. Vytvořte různé scénáře pro různé výstrahy. Api pro provedení scénáře tlačného pole je:
Krok 7: Vytvoření dovednosti Alexa pomocí backendless
backendless se používá k vytvoření dovednosti alexa. Jedná se o jednoduché programování přetažením, které se používá k vytvoření dovednosti alexa (nebo jakýchkoli programů), ke které lze přistupovat pomocí backendless API.
vytvořte si účet na backendless:
- Přihlaste se ke svému účtu pomocí backendless účtu. klikněte na Vytvořit aplikaci a pojmenujte ji
- Klikněte na ikonu Business Logic umístěnou na liště ikon vlevo. Zobrazí se obrazovka API SERVICES.
- Kliknutím na ikonu „+“vytvoříte novou službu. V rozbalovací nabídce „Nová služba“vyberte možnost CODELESS. Jako název služby zadejte „AlexaService“. Klikněte na tlačítko ULOŽIT:
- Backendless vytvoří službu API a vyzve vás k vytvoření metody pro tuto službu. Toto bude metoda, která bude zpracovávat požadavky od Alexa. Jako název metody zadejte „handleRequest“. Ujistěte se, že jste pro operaci REST vybrali POST, a deklarujte argument s názvem „req“a zadejte „Any Object“, jak je uvedeno na obrázku:
- Backendless vytváří zástupný symbol pro logiku bez kódování metody. Kliknutím na tlačítko EDIT spustíte přepnutí na Codeless Logic Designer. Ve vytvořeném zástupném bloku funkce klikněte na oblast „DoSomething“a změňte ji na „sendAlexaResponse“. Tato funkce slouží k tomu, aby alexa řekla něco, co lze předat jako argument. Klikněte na tlačítko ULOŽIT, aby byla funkce uložena.
- Klikněte na ikonu ozubeného kola umístěnou ve fialovém bloku hned vedle slova „Funkce“. Přidejte dva argumenty přetažením vstupních bloků, jak je znázorněno na obrázku níže. Přiřaďte názvy argumentů jako „whatToSay“a „waitForResponse“. Všimněte si, že při přidávání argumentů se oblast kontextových bloků automaticky naplní bloky představujícími hodnoty argumentů.
- Upravte logiku funkce tak, aby vypadala jako na obrázku. U bloků „Vytvořit objekty“změňte název vlastností objektu pomocí ozubeného kola. Nezapomeňte uložit svou práci kliknutím na tlačítko ULOŽIT.
- Nyní, když je vytvořena vlastní funkce, přepněte zpět na metodu handleRequest služby AlexaService. Na panelu nástrojů vlevo klikněte na kategorii Vlastní funkce a přetažením bloku sendAlexaResponse se spojte s návratovým konektorem vaší servisní metody
- Výše uvedené kroky najdete také na jejich webových stránkách:
- Klikněte na uzel „Přidat nový“v části Funkce v sekci PROHLÍŽEČ. Ve vytvořeném zástupném bloku funkcí klikněte na oblast s nápisem „doSomething“a změňte ji na „getIntentName“, upravte bloky tak, aby funkce vypadala jako na obrázku. získá název záměru na základě ukázkových promluv. Vraťte se zpět do služeb API-> vyřizujte požadavek v sekci prohlížeče. Proměnné a logika se vytváří ze systémové sekce. Vytvořte následující proměnné zobrazené na obrázcích.
- dále uložíme název záměru pro požadavek proměnné. A pak porovnat s úmysly. například pokud je požadavek „úvod“, pak je proměnná odpovědi nastavena na „ahoj! Mohu ovládat …….“a tuto odpověď alexa konečně přečte nahlas. upravte blok podle obrázku.
- pokud je požadavek záměrem LightsOn, aktualizujeme kanál thingspeak na '0' pomocí požadavku http get a současně aktualizujeme stav zařízení (1/0 v závislosti na Zapnuto/Vypnuto). Totéž se opakuje pro LightsOff, FanOn a FanOff.
- Pro počasí čteme z kanálu Teplota a vlhkost a výsledek ukládáme do proměnné reakce. Protože kanál poskytuje pouze hodnoty, připojujeme texty, aby odpověď byla smysluplná
- pro snímek obývacího pokoje spustíme scénář pushboxu
- pro stav zařízení čteme informace ze stavového kanálu thingspeak:
- pro upozornění a výstrahy čteme z výstražných kanálů (oheň, vetřelec a host):
- na základě hodnot, které získáme z oznamovacího pole, jsou odpovídající výstražné zprávy uloženy v proměnné respond0. pokud nedojde k žádnému upozornění, nebude uložena žádná oznamovací zpráva.
- jakmile je oznámení přečteno, aktualizuje se v oznamovacích kanálech „0“, takže alexa nebude znovu číst stejné oznámení. Poté se na základě požadavku nahlas přečte proměnná respond0/respond.
Krok 8: Konfigurace dovednosti Alexa v konzole Amazon Developer Console:
přejděte do vývojářské konzoly amazon a přihlaste se pomocí účtu amazon.
přejděte do konzoly pro vývojáře a klikněte na kartu ALEXA. Začněte kliknutím na Alexa skills kit.
vytvořte vlastní typ dovednosti, dejte jméno a název vyvolání dovednosti. příslušné záměry a ukázkové výpovědi jsou uvedeny v kódu.
na kartě konfigurace vyberte HTTPS jako typ koncového bodu služby a vyplňte výchozí adresu URL pomocí API z backendless. Vyberte 2. možnost v certifikátu pro výchozí koncový bod v certifikátu SSL. Dovednost si můžete také vyzkoušet pomocí testovacího simulátoru.
Po dokončení testu můžete dovednosti publikovat s požadovanými informacemi o publikování.
Krok 9: Konečné nastavení a dokončení
Proveďte zapojení obvodu podle obrázku.
Někdy ESP8266 nefunguje správně kvůli nedostatečnému proudu. I když je to v obvodu uvedeno, doporučuje se napájet ESP8266 ze samostatného zdroje 3,3 V. Pokud používáte napájecí banku, ujistěte se, že snížíte napětí z 5 V na 3,3 V pomocí regulátoru napětí 3,3 V. Nahrajte program na ESP8266 a arduino. Ukázal jsem připojení k žárovce, totéž lze rozšířit na ventilátor nebo jakákoli zařízení. Nakonec vyzkoušejte své dovednosti pomocí amazon echo nebo echosim.io.
Dovednost musíte aktivovat pomocí vyvolávacího jména (stejně jako můj případ - „myhome“). Někdy to nebude fungovat, pokud bude použito bez vyvolávacího jména, jak jsem několikrát ukázal ve svém videu
Doufám, že se vám návod líbil!
Děkuji!
Doporučuje:
Přepínání světel ovládané pomocí mrknutí očí pomocí brýlí na hlavu Shota Aizawa (My Hero Academia): 8 kroků (s obrázky)
Přepínání světel ovládané pomocí Eye-Blink pomocí gumových hlavic Shota Aizawa (My Hero Academia): Pokud čtete manga mé hrdiny akademie nebo sledujete anime mého hrdiny, musíte znát postavu jménem shota aizawa. Shota Aizawa, také známá jako Eraser Head, je profesionální hrdina a učitelka homeroom třídy U-Class 1-A. Shota's Quirk mu dává ab
Pořizujte a odesílejte obrázky pomocí kamery ESP32-Cam pomocí bezdrátového procesoru ESP8266 WeMos D1 R1 s Uno: 7 kroků
Zachyťte a odešlete obrázky pomocí ESP32-Cam pomocí ESP8266 WeMos D1 R1 Wifi procesoru s Uno: Zachyťte obrázek pomocí ESP32-Cam (OV2640) pomocí ESP8266 WeMos D1 R1 WiFI procesoru s Uno a odešlete jej na e-mail, uložte na Disk Google a odešlete na Whatsapp pomocí Twilio. Požadavky: ESP8266 WeMos D1 R1 WiFI procesor s Uno (https: // protosupplies
Jak vyrobit dron pomocí Arduino UNO - Vytvořte kvadrokoptéru pomocí mikrokontroléru: 8 kroků (s obrázky)
Jak vyrobit dron pomocí Arduino UNO | Vytvořte kvadrokoptéru pomocí mikrokontroléru: Úvod Navštivte můj kanál na YouTube Drone je velmi drahý gadget (produkt) na nákup. V tomto příspěvku budu diskutovat, jak to udělám levně? A jak si můžete takhle vyrobit vlastní za levnou cenu … V Indii všechny materiály (motory, ESC
Přehrávejte skladby (MP3) pomocí Arduina pomocí PWM na reproduktoru nebo Flyback transformátoru: 6 kroků (s obrázky)
Přehrávejte skladby (MP3) pomocí Arduina pomocí PWM na reproduktoru nebo Flyback Transformer: Dobrý den, toto je můj první návod, doufám, že se vám bude líbit !! V zásadě jsem v tomto projektu použil sériovou komunikaci mezi mým Arduinem a notebookem, k přenosu hudebních dat z mého notebooku do Arduina. A pomocí Arduino TIMERS t
Ovládejte Arduino pomocí chytrého telefonu přes USB pomocí aplikace Blynk: 7 kroků (s obrázky)
Ovládejte Arduino pomocí smartphonu přes USB pomocí aplikace Blynk: V tomto tutoriálu se naučíme, jak používat aplikaci Blynk a Arduino k ovládání lampy, kombinace bude prostřednictvím sériového portu USB. Účelem tohoto pokynu je ukázat nejjednodušší řešení vzdáleného ovládání vašeho Arduina nebo