Obsah:
- Krok 1: Zhromažďovanie materiálov
- Krok 2: Programovanie Arduina a ESP8266
- Krok 3: Konfigurácia Thingspeak.com
- Krok 4: Program
- Krok 5: Konfigurácia Linkit Smart 7688 Duo a webovej kamery
- Krok 6: Konfigurácia PushingBox
- Krok 7: Vytvorenie zručnosti Alexa pomocou technológie Backendless
- Krok 8: Konfigurácia zručnosti Alexa v konzole Amazon Developer Console:
- Krok 9: Konečné nastavenie a dokončenie
Video: Inteligentné domáce monitorovanie pomocou Alexa a Arduino: 9 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
V dnešnom svete ľudia trávia viac času na pracovisku, než doma. Preto je potrebný domáci monitorovací systém, kde by ľudia mohli spoznať podmienky domu, keď sú v práci. Ešte lepšie by bolo, keby sa niekto mohol počas pracovnej doby „niekoho“opýtať na jeho domov. To sa dá dosiahnuť využitím asistenta Amazon Alexa, ktorý môže používateľovi poskytnúť potrebné informácie o jeho dome.
Nielen pracovné miesto, ale používatelia môžu spoznať stav domu na akomkoľvek mieste na svete, pokiaľ majú internetové pripojenie a Amazon Alexa.
V tomto projekte sú implementované nasledujúce funkcie:
1) Ovládajte domáce zariadenia, ako je ventilátor a svetlo
2) Informuje o stave zariadení
3) Hovorí o počasí v dome (teplota a vlhkosť)
4) V prípade potreby pošle používateľovi prostredníctvom Gmailu snímku interiéru domu.
5) Pošle upozornenie v prípade -
* Votrelec (pošle aj fotografiu)
* Oheň
* Hosť (pošle aj fotografiu)
Krok 1: Zhromažďovanie materiálov
Potrebné materiály
Arduino Uno
Wifi modul ESP8266
Linkit Smart 7688 Duo
DHT11
Relé
IR snímač prekážok
Webkamera
Amazon Echo Dot
Káble a prepojovacie vodiče
Softvér a online služby:
Thingspeak.com
Arduino IDE
Sada zručností Amazon Alexa
Amazon Alexa Echosim.io (na testovanie zručnosti)
Bez konca
PushingBox
Krok 2: Programovanie Arduina a ESP8266
Stiahnite si Arduino IDE z oficiálnych webových stránok:
Otvorte Arduino IDE a prejdite na súbor-> predvoľby-> v inom type adresy URL správcu dosky-https://arduino.esp8266.com/stable/package_esp8266…
Prejdite na nástroje -> dosky -> Správca dosky a nainštalujte konečne nájdený balík esp8266.
Na programovanie arduina stačí zapojiť USB kábel z arduina do počítača a v nástrojoch-> doskách vybrať Arduino/Genuino UNO. Uistite sa tiež, že ste v nástrojoch vybrali práva na COM porty (číslo portu COM nájdete v Správcovi zariadení). Napíšte požadovaný program, skompilovajte ho a ak nie sú žiadne chyby, kliknite na tlačidlo Nahrať.
Ak chcete naprogramovať ESP8266, vykonajte pripojenie podľa schémy. pripojte usb z arduina k počítaču. V nástrojoch-> doska-> vyberte Generic ESP8266 a tiež zvoľte pravý COM port. Napíšte požadovaný program, skompilovajte ho a ak nie sú žiadne chyby, kliknite na tlačidlo Nahrať. Nezabudnite pripojiť Arduino RST k GND (arduino funguje ako programátor k ESP8266).
V tomto projekte je najskôr naprogramovaný ESP8266 a potom sa odstránia spojenia obvodov. Potom sa obvod znova zapojí, ako je znázornené na obrázku, s názvom „Pripojenia obvodu“. A potom je arduino naprogramované.
Krok 3: Konfigurácia Thingspeak.com
Vytvorte si účet na thingspeak.com.
vo thingspeak používame kanály na ukladanie informácií o ovládaní zariadenia a ich smerovanie do arduino/alexa. do kanálov ukladáme aj hodnoty teploty a vlhkosti. Je to ako miesto na ukladanie informácií.
Prihláste sa do programu thingspeak, prejdite na kanály mojich kanálov a vytvorte nový kanál. Zadajte názov a popis svojich kanálov. V našom projekte potrebujeme 8 kanálov (prácu môžete vykonať s menším počtom kanálov, ale pri programovaní to bude trochu komplikované). Pri aktualizácii kanála má thingspeak tiež časové obmedzenie. Medzi postupnou aktualizáciou konkrétneho kanála musí byť medzera 10-15 sekúnd.
Ďalej je uvedených osem kanálov s ich hodnotami a významom
názov kanála (hodnota1-význam, hodnota2-význam atď.):
1) Ovládanie zariadenia (0- zapnuté, 1- vypnuté, 2- zapnuté, 3- vypnuté)
2) stav svetla (0- svetlo nesvieti, 1- svetlo svieti)
3) stav ventilátora (0- ventilátor vypnutý, 1- zapnutý ventilátor)
4) vlhkosť (hodnota vlhkosti)
5) teplota (hodnota teploty)
6) upozornenie na narušiteľa (1- upozornenie na narušiteľa)
7) požiarne hlásenie (1- požiarna výstraha)
8) upozornenie hosťa (1- upozornenie hosťa)
keď kliknete na ľubovoľný kanál, uvidíte jeho ID kanála a napíšete kľúče API na karte Kľúče API. Na získanie informácií/ hodnoty v kanáli je potrebné ID kanála. Na uloženie hodnoty v kanáli je potrebný kľúč na zápis.
http požiadavka na aktualizáciu kanála je:
api.thingspeak.com/update?api_key=&field1=
je nahradený zodpovedajúcimi zapisovacími kľúčmi kanála a môže byť (0/1 v prípade ovládania zariadenia alebo hodnôt teploty/vlhkosti)
http požiadavka na čítanie hodnoty z kanála je:
api.thingspeak.com/channels//field/field1/last.html
je nahradený konkrétnym ID kanála kanála, z ktorého chceme čítať.
Krok 4: Program
Program je rozdelený na 3 časti:
A) Program pre Arduino: program pre arduino je veľmi jednoduchý. Prijíma údaje z ESP8266 sériovo a na základe prijatých údajov sú zariadenia riadené. Viac informácií o programe nájdete v komentároch k samotnému programu.
B) Program pre ESP8266: program pre ESP8266 zahŕňa 3 veci
1) aktualizácia teploty a vlhkosti pomocou http požiadavky
client.print (String ("GET") + "/aktualizovať? kľúč = & field1 =" + vlhkosť + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Pripojenie: zavrieť / r / n / r / n "); // aktualizácia vlhkosti
client.print (String ("GET") + "/update? key = & field1 =" + teplota + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Pripojenie: zavrieť / r / n / r / n "); // aktualizácia teploty
hodnota je nahradená zodpovedajúcim zapisovacím kľúčom v kanáli thingspeak pre vlhkosť a teplotu. a hostiteľom je api.thingspeak.com.
stiahnite si knižnicu dht z:
2) čítanie zo zodpovedajúcich kanálov thingspeak a ovládacieho zariadenia na základe získaných hodnôt: client.print (String („GET“) + "/channels//field/field1/last.html HTTP/1.1 / r / n" + " Host: " + host +" / r / n " +" Pripojenie: zavrieť / r / n / r / n ");
kde je nahradený zodpovedajúcim ID kanála nájdeným v thingspeak.
3) Odosielanie upozornení v prípade vysokej teploty prostredníctvom tlačiaceho boxu
Reťazec host1 = "api.pushingbox.com";
client.print (String ("GET") + "/pushbox? devid = HTTP/1.1 / r / n" + "Host:" + host1 + "\ r / n" + "Pripojenie: zavrieť / r / n / r / n ");
kde je nahradené vašim ID zariadenia v pushboxe.
Krok 5: Konfigurácia Linkit Smart 7688 Duo a webovej kamery
V tomto projekte sa webová kamera a linkit smart 7688 duo používa na zachytenie požadovanej fotografie a jej odoslanie používateľovi. Môžete tiež použiť kamerový modul arduino a prepojiť ho s arduino alebo môžete použiť akúkoľvek IP kameru.
Resetujte dosku stlačením a podržaním tlačidla wifi na zariadení linkit smart 7688 po dobu 20 sekúnd. Potom, čo sa resetuje nastavenie wifi, uvidíte názov jeho prístupového bodu v pripojeniach k bezdrôtovej sieti. Teraz pripojte počítač k tejto sieti. po pripojení otvorte prehliadač a do panela s adresou zadajte 192.168.100.1. Budete mať možnosť vidieť jeho portál. nastaviť heslo pre prihlásenie sa na jeho portál.
Po prihlásení prejdite na kartu sieť, vyberte režim Stanica (potrebujeme ho (linkit smart 7688 duo) na prístup na internet), pripojte ho k sieti Wifi a stlačte Konfigurovať a reštartovať.
Po reštartovaní dosky bude priradená lokálna adresa IP. Zistite adresu pomocou akýchkoľvek nástrojov IP alebo vášho portálu smerovača. V mojom prípade to bolo 192.168.1.4. Teraz zadajte miestnu adresu IP do panela s adresou prehliadača. uistite sa, že je počítač pripojený k rovnakej sieti ako linkit smart. Budete požiadaní o opätovné prihlásenie.
Ak chcete povoliť streamovanie z webovej kamery, musíte povoliť -j.webp
Po prihlásení prejdite na kartu služby, začiarknite políčko povoliť streamovanie -j.webp
Po nastavení vás bude možné pripojiť webovú kameru k hostiteľovi usb linkit smart 7688 duo USB pomocou kábla OTG. Teraz, keď sa vám stream zobrazí, otvorte prehliadač a do panela s adresou zadajte: v mojom prípade je to 192.168.1.4:4400
Ak chcete urobiť snímku, zadajte príkaz:? action = snapshot
Tento obrázok je teraz k dispozícii lokálne, ale musíme ho sprístupniť službe push box. Aby sme to dosiahli, musíme urobiť presmerovanie portov. Presmerovanie portov je možné vykonať na portáli routera. Proces sa líši pre rôzne smerovače. Stačí si vygoogliť, aby ste vedeli, ako sa má prenášať port pre konkrétny smerovač. Spravidla je k dispozícii v rámci služby NAT. Po prenose portov na predný port máte prístup k tomuto portu (tj. 4440) z externej adresy IP. Externú IP adresu nájdete tak, že na Google zadáte „whats my ip“.
Musíte zadať túto adresu
tj.. https://::? action = momentka
v pushboxe (čo je vysvetlené v nasledujúcom kroku), aby Pushbox mal prístup k tomuto obrázku, pripojil ho k pošte a odoslal vám ho, kedykoľvek to bude potrebné.
Obrázok môžete uložiť aj na kartu SD, pretože Linkit smart 7688 duo je dodávaný aj so slotom na kartu SD na ukladanie informácií. Viac informácií o tom nájdete na:
docs.labs.mediatek.com/resource/linkit-sm…
Krok 6: Konfigurácia PushingBox
Pushbox sa používa na odosielanie upozornení na rôzne upozornenia v projekte na gmail.
prihláste sa do Pushboxu pomocou účtu Google:
prejsť na moje služby pridať službu. na výber je mnoho služieb, ako je Gmail, twitter, upozornenie push pre Android atď …
vyberte Gmail (pretože potrebujeme odoslať fotografiu ako prílohu) a vyplňte príslušnú konfiguráciu názvu Gmailu a ID Gmailu používateľa, ktorému má byť upozornenie odoslané.
prejdite na moje scenáre a vytvorte nový scenár. pomenujte scenár (napr. ALERT) pridajte predtým vytvorenú službu.
napíšte vhodný predmet a telo e -mailu a zadajte URL, aby sa nasnímal obrázok webovej kamery na priloženie fotografie. Vytvorte rôzne scenáre pre rôzne výstrahy. API na spustenie scenára tlačiaceho boxu je:
Krok 7: Vytvorenie zručnosti Alexa pomocou technológie Backendless
backendless sa používa na vytvorenie zručnosti alexa. Jedná sa o jednoduché programovanie drag and drop, ktoré sa používa na vytvorenie zručnosti alexa (alebo akýchkoľvek programov), ku ktorému je prístup pomocou rozhrania API bez backendu.
vytvorte si účet bez backendless:
- Prihláste sa do svojho účtu pomocou účtu bez backendu. kliknite na položku Vytvoriť aplikáciu a pomenujte ju
- Kliknite na ikonu Business Logic umiestnenú na paneli s ikonami vľavo. Zobrazí sa obrazovka API SLUŽBY.
- Kliknutím na ikonu „+“vytvoríte novú službu. V rozbaľovacom okne „Nová služba“vyberte možnosť CODELESS. Ako názov služby zadajte „AlexaService“. Kliknite na tlačidlo ULOŽIŤ:
- Backendless vytvorí službu API a vyzve vás, aby ste pre túto službu vytvorili spôsob. Toto bude metóda, ktorá bude spracovávať požiadavky od Alexa. Do názvu metódy zadajte „handleRequest“. Uistite sa, že ste pre operáciu REST vybrali POST a deklarovali argument s názvom „req“a zadali „Any Object“podľa nasledujúceho obrázku:
- Backendless vytvára zástupný symbol pre kódovú logiku metódy. Kliknutím na tlačidlo UPRAVIŤ spustíte prepínač do programu Codeless Logic Designer. Vo vytvorenom zástupnom bloku funkcie kliknite na oblasť „DoSomething“a zmeňte ju na „sendAlexaResponse“. Táto funkcia sa používa na to, aby alexa povedala niečo, čo možno považovať za argument. Kliknutím na tlačidlo ULOŽIŤ sa funkcia uloží.
- Kliknite na ikonu ozubeného kolieska umiestnenú vo fialovom bloku hneď vedľa slova „Funkcia“. Pridajte dva argumenty potiahnutím vstupných blokov, ako je to znázornené na obrázku nižšie. Priraďte názvy argumentov ako „whatToSay“a „waitForResponse“. Všimnite si, že pri pridávaní argumentov sa oblasť kontextových blokov automaticky naplní blokmi predstavujúcimi hodnoty argumentov.
- Upravte logiku funkcie tak, aby vyzerala ako na obrázku. V prípade blokov „Vytvoriť objekty“zmeňte názov vlastností objektu pomocou ikony ozubeného kolieska. Nezabudnite uložiť svoju prácu kliknutím na tlačidlo ULOŽIŤ.
- Teraz, keď je vytvorená vlastná funkcia, prepnite späť na metódu handleRequest služby AlexaService. Na paneli s nástrojmi vľavo kliknite na kategóriu Vlastné funkcie a potiahnutím bloku sendAlexaResponse sa spojte s konektorom návratu vašej metódy služby
- Vyššie uvedené kroky nájdete aj na ich webových stránkach: https://backendless.com/developing-alexa-skill-wi…
- Kliknite na uzol „Pridať nový“v časti Funkcie v sekcii PREHLEDOVAČ. Vo vytvorenom zástupnom bloku funkcií kliknite na oblasť s textom „doSomething“a zmeňte ho na „getIntentName“. Upravte bloky tak, aby funkcia vyzerala ako na obrázku. Toto získa názov zámeru na základe ukážkových výpovedí. Vráťte sa späť do služby API-> spracujte žiadosť v sekcii prehliadača. Premenné a logika sa vytvárajú zo systémovej sekcie. Vytvorte nasledujúce premenné zobrazené na obrázkoch.
- ďalej uložíme názov zámeru na vyžiadanie premennej. A potom porovnať so zámermi. napríklad ak je požiadavka „úvod“, potom je premenná odpovede nastavená na „ahoj! môžem ovládať …….“a túto odpoveď alexa konečne prečíta nahlas. blok upravte podľa obrázku.
- ak je požiadavka zámerom LightsOn, aktualizujeme kanál thingspeak na „0“pomocou požiadavky http get a súčasne aktualizujeme stav zariadenia (1/0 v závislosti od zapnutia/vypnutia). To isté sa opakuje pre LightsOff, FanOn a FanOff.
- Pre počasie čítame z kanála teploty a vlhkosti a výsledok uložíme do premennej respond. Pretože kanál poskytuje iba hodnoty, pripájame texty, aby bola odpoveď zmysluplná
- pre snímku z obývačky spustíme scenár pushboxu
- pre stav zariadenia čítame informácie zo stavového kanála thingspeak:
- pre upozornenia a výstrahy, ktoré čítame z výstražných kanálov (oheň, votrelec a hosť):
- na základe hodnôt, ktoré získame z notifikačného poľa, sú zodpovedajúce výstražné správy uložené v premennej respond0. ak nie sú k dispozícii žiadne oznámenia, neuloží sa žiadna notifikačná správa.
- Akonáhle je upozornenie prečítané, potom sa v oznamovacích kanáloch aktualizuje „0“, aby alexa už viac nečítala rovnaké upozornenie. Potom sa na základe žiadosti nahlas načíta premenná respond0/respond.
Krok 8: Konfigurácia zručnosti Alexa v konzole Amazon Developer Console:
prejdite na konzolu pre vývojárov amazonu a prihláste sa pomocou účtu amazon.
prejdite na konzolu pre vývojárov a kliknite na kartu ALEXA. Začnite kliknutím na súpravu schopností Alexa.
vytvorte vlastný typ zručnosti, zadajte názov a vyvolávací názov zručnosti. Príslušné zámery a ukážkové výpovede sú uvedené v kóde.
na karte konfigurácie vyberte HTTPS ako typ koncového bodu služby a vyplňte predvolenú adresu URL adresou API z backendless. Vyberte druhú možnosť v časti Certifikát ako predvolený koncový bod v certifikáte SSL. Túto zručnosť si môžete tiež vyskúšať pomocou testovacieho simulátora.
Po dokončení testu môžete zručnosti zverejniť s požadovanými informáciami o publikovaní.
Krok 9: Konečné nastavenie a dokončenie
Pripojenie obvodu vykonajte podľa obrázku.
Niekedy ESP8266 nefunguje správne kvôli nedostatočnému prúdu. Aj keď to nie je v obvode uvedené, odporúča sa napájať ESP8266 zo samostatného zdroja 3,3 V. Ak používate napájaciu banku, uistite sa, že znížite napätie z 5 na 3,3 v pomocou regulátora napätia 3,3 V. Nahrajte program na ESP8266 a arduino. Ukázal som pripojenie k žiarovke, to isté možno rozšíriť na ventilátor alebo akékoľvek zariadenie. Nakoniec vyskúšajte svoje schopnosti pomocou amazon echo alebo echosim.io.
Schopnosť musíte aktivovať pomocou vyvolávacieho mena (ako je to v mojom prípade - „myhome“). Niekedy to nebude fungovať, ak sa použije bez vyvolávacieho názvu, ako som to niekoľkokrát ukázal vo svojom videu
Dúfam, že sa vám návod páčil!
Ďakujem!
Odporúča:
Inteligentné stolné LED svetlo - Inteligentné osvetlenie W/ Arduino - Pracovný priestor Neopixels: 10 krokov (s obrázkami)
Inteligentné stolné LED svetlo | Inteligentné osvetlenie W/ Arduino | Neopixels Workspace: Teraz niekoľko dní trávime veľa času doma, virtuálne študujeme a pracujeme, tak prečo si náš pracovný priestor nevylepšiť pomocou vlastného a inteligentného systému osvetlenia založeného na diódach Arduino a Ws2812b LED. Tu vám ukážem, ako si vytvoriť inteligentný Stolné LED svetlo, ktoré
Monitorovanie akcelerácie pomocou Raspberry Pi a AIS328DQTR pomocou Pythonu: 6 krokov
Monitorovanie zrýchlenia pomocou Raspberry Pi a AIS328DQTR pomocou Pythonu: Zrýchlenie je podľa niektorých fyzikálnych zákonov konečné. Myslím, že gepard Terry Riley pri prenasledovaní využíva úžasné zrýchlenie a rýchle zmeny rýchlosti. Najrýchlejší tvor na brehu raz za čas využije svoje najvyššie tempo na chytenie koristi.
Inteligentné záhradníctvo a inteligentné poľnohospodárstvo založené na IoT pomocou systému ESP32: 7 krokov
Inteligentné záhradníctvo založené na IoT a inteligentné poľnohospodárstvo pomocou systému ESP32: Svet sa mení v čase a tiež v poľnohospodárstve. V dnešnej dobe ľudia integrujú elektroniku do všetkých oblastí a poľnohospodárstvo v tomto nie je výnimkou. Toto zlúčenie elektroniky v poľnohospodárstve pomáha poľnohospodárom a ľuďom, ktorí spravujú záhrady. V tomto
Ako ovládať svetlo/domáce osvetlenie pomocou Arduino a Amazon Alexa: 16 krokov (s obrázkami)
Ako ovládať svetlo/domáce svetlá pomocou Arduino a Amazon Alexa: Vysvetlil som, ako ovládať svetlo, ktoré je pripojené k UNO a ktoré ovláda Alexa
Vlastná domáca automatizácia a monitorovanie pomocou hlasu/internetu pomocou ESP8266 a Google Home Mini: 6 krokov
Vlastná domáca automatizácia a monitorovanie pomocou hlasu/internetu pomocou ESP8266 a Google Home Mini: Hej !! Po dlhšej prestávke som tu, pretože všetci musíme urobiť niečo nudné (prácu), aby sme si zarobili. Po všetkých článkoch AUTOMATIZÁCIE DOMOV, ktoré som napísal z BLUETOOTH, IR, Local WIFI, Cloud, tj tých ťažkých, * TERAZ * prichádza najľahšie, ale najefektívnejšie