Sadržaj:
- Korak 1: Prikupljanje materijala
- Korak 2: Programiranje Arduina i ESP8266
- Korak 3: Konfiguriranje Thingspeak.com
- Korak 4: Program
- Korak 5: Konfiguriranje Linkit Smart 7688 Duo i web kamere
- Korak 6: Konfiguriranje PushingBox -a
- Korak 7: Stvaranje Alexa vještine pomoću Backendless -a
- Korak 8: Konfiguriranje Alexa vještine u Amazon Developer Console:
- Korak 9: Konačno postavljanje i završavanje
Video: Nadzor pametne kuće pomoću Alexa i Arduina: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
U današnjem svijetu ljudi provode više vremena na radnom mjestu, a ne u svom domu. Stoga postoji potreba za sistemom kućnog nadzora gdje ljudi mogu upoznati stanje kuće dok su na poslu. Bilo bi još bolje da se može samo pitati "nekoga" o njihovom domu tokom radnog vremena. To se može postići korištenjem Amazon Alexa kao pomoćnika koji korisniku može dati potrebne informacije o svom domu.
Ne samo radno mjesto korisnici mogu upoznati stanje kuće na bilo kojem mjestu u svijetu sve dok imaju internetsku vezu i Amazon Alexa.
Sljedeće funkcije implementirane su u ovaj projekt:
1) Upravljajte kućanskim uređajima poput ventilatora i svjetla
2) Kaže status uređaja
3) Kaže vremenske prilike u kući (temperatura i vlažnost)
4) Šalje snimak unutrašnjosti kuće korisniku putem Gmaila kada je to potrebno.
5) Šalje obavijest u slučaju -
* Uljez (šalje i fotografiju)
* Vatra
* Gost (šalje i fotografiju)
Korak 1: Prikupljanje materijala
Potrebni materijali
Arduino Uno
ESP8266 Wifi modul
Linkit Smart 7688 Duo
DHT11
Releji
Senzor IC prepreke
Web kamera
Amazon Echo Dot
Oglasna ploča i kratkospojne žice
Softver i mrežne usluge:
Thingspeak.com
Arduino IDE
Amazon Alexa skup vještina
Amazon Alexa Echosim.io (za vještinu testiranja)
Bez pozadine
PushingBox
Korak 2: Programiranje Arduina i ESP8266
Preuzmite Arduino IDE sa službene web stranice:
Otvorite Arduino IDE i idite na file-> preferences-> u dodatnoj vrsti URL-a upravitelja ploče-https://arduino.esp8266.com/stable/package_esp8266…
Idite na alati -> ploče -> Upravitelj odbora i instalirajte konačno pronađen paket esp8266.
Za programiranje arduina samo priključite USB kabel s arduina na računalo i odaberite Arduino/Genuino UNO u alatkama-> pločama. Također provjerite jeste li odabrali prava COM portove u Alatkama (broj COM porta možete pronaći u Upravitelju uređaja). Napišite potrebni program, kompajlirajte ga i kliknite na upload ako nema grešaka.
Za programiranje ESP8266 povežite se kao što je prikazano na dijagramu. spojite USB sa arduina na računar. U alati-> ploča-> odaberite Generic ESP8266 i također odaberite desni COM port. Napišite potrebni program, kompajlirajte ga i kliknite na upload ako nema grešaka. Provjerite jeste li povezali Arduino RST na GND (arduino djeluje kao programer na ESP8266).
U ovom projektu prvo se programira ESP8266, a zatim se uklanjaju veze kruga. Zatim se krug ponovno povezuje kao što je prikazano na slici pod nazivom "Veze kruga". Zatim se arduino programira.
Korak 3: Konfiguriranje Thingspeak.com
Napravite račun na thingspeak.com.
koristimo kanale u Thingspeak -u za spremanje kontrolnih informacija o uređaju i usmjeravanje na arduino/alexa. također pohranjujemo vrijednosti temperature i vlažnosti u kanale. To je poput skladišta za informacije.
Prijavite se na Thingspeak, idite na kanale moje kanale i kreirajte novi kanal. Dajte ime i opis svojim kanalima. U našem projektu nam je potrebno 8 kanala (posao možete obaviti koristeći manje kanala, ali to će biti malo komplicirano tijekom programiranja). Thingspeak također ima vremensko ograničenje prilikom ažuriranja kanala. Između uzastopnog ažuriranja određenog kanala mora postojati razmak od 10-15 sekundi.
U nastavku je dato osam kanala sa njihovim vrijednostima i značenjem
naziv kanala (vrijednost1-značenje, vrijednost2-značenje itd.):
1) Kontrola uređaja (0 -lightON, 1- lightOff, 2 ventilator UKLJUČEN, 3 ventilator isključen)
2) status svjetla (0- svjetlo isključeno, 1- svjetlo uključeno)
3) status ventilatora (0- ventilator isključen, 1 ventilator uključen)
4) vlažnost (vrijednost vlažnosti)
5) temperatura (vrijednost temperature)
6) obavijest o uljezu (upozorenje 1 protiv uljeza)
7) obavještenje o požaru (1- požarno upozorenje)
8) obavijest gosta (1- upozorenje gosta)
kada kliknete na bilo koji kanal, možete vidjeti njegov ID kanala i napisati API ključeve na kartici API ključevi. id kanala je potreban za dobivanje informacija/ vrijednosti na kanalu. Ključ za pisanje je potreban za spremanje vrijednosti u kanal.
http zahtjev za ažuriranje kanala je:
api.thingspeak.com/update?api_key=&field1=
zamjenjuje se odgovarajućim tipkama za pisanje kanala i može biti (0/1 u slučaju kontrole uređaja ili vrijednosti temp./vlažnosti)
http zahtjev za čitanje vrijednosti s kanala je:
api.thingspeak.com/channels//field/field1/last.html
zamjenjuje se određenim ID -om kanala s kojeg želimo čitati.
Korak 4: Program
Program je podijeljen u 3 dijela:
A) Program za Arduino: program za arduino je vrlo jednostavan. Serijski prima podatke s ESP8266 i na temelju primljenih podataka kontroliraju se uređaji. Više informacija o programu nalazi se u komentarima u samom programu.
B) Program za ESP8266: Program za ESP8266 uključuje 3 stvari
1) ažuriranje temperature i vlažnosti pomoću http zahtjeva
client.print (String ("GET") + "/update? key = & field1 =" + vlažnost + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Veza: zatvori / r / n / r / n "); // ažuriranje vlažnosti
client.print (String ("GET") + "/update? key = & field1 =" + temperatura + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Veza: zatvori / r / n / r / n "); // ažuriranje temperature
zamjenjuje se odgovarajućim ključem za pisanje koji se nalazi u kanalu za govor vlage i temperature. a domaćin je api.thingspeak.com.
preuzmite dht biblioteku sa:
2) očitavanje sa odgovarajućih kanala za govor i kontrolni uređaj na osnovu dobijenih vrijednosti: client.print (String ("GET") + "/channels//field/field1/last.html HTTP/1.1 / r / n" + " Host: " + host +" / r / n " +" Veza: zatvori / r / n / r / n ");
gdje je zamijenjen odgovarajućim ID -om kanala koji se nalazi u thingspeak -u.
3) Slanje upozorenja u slučaju visoke temperature putem kutije za potiskivanje
Niz host1 = "api.pushingbox.com";
client.print (String ("GET") + "/pushhingbox? devid = HTTP/1.1 / r / n" + "Host:" + host1 + "\ r / n" + "Veza: zatvori / r / n / r / n ");
gdje je zamijenjen ID -om vašeg uređaja u pushbox -u.
Korak 5: Konfiguriranje Linkit Smart 7688 Duo i web kamere
U ovom projektu web kamera i linkit smart 7688 duo koriste se za snimanje potrebne fotografije i njeno slanje korisniku. Također možete koristiti modul kamere arduino i povezati ga s arduinom ili koristiti bilo koju IP kameru.
Pritisnite i držite gumb Wi -Fi na linkit smart 7688 20 sekundi za resetiranje ploče. Tada ćete nakon poništavanja Wi -Fi postavke moći vidjeti naziv njene pristupne točke u vezama bežične mreže. Sada spojite računar na tu mrežu. nakon što ga povežete, otvorite preglednik i upišite 192.168.100.1 u traku za adresu. Moći ćete vidjeti njegov portal. postavite lozinku za prijavu na svoj portal.
Nakon što se prijavite, idite na karticu mreža i odaberite način rada stanice (potreban nam je (linkit smart 7688 duo) za pristup internetu) i povežite ga na svoju WiFi mrežu, a zatim pritisnite Konfiguriraj i ponovo pokrenite.
Nakon što se ploča ponovo pokrene, bit će joj dodijeljena lokalna IP adresa. Saznajte adresu pomoću bilo kojeg IP alata ili portala usmjerivača. U mom slučaju to je bilo 192.168.1.4. Sada upišite lokalnu IP adresu u adresnu traku preglednika. uverite se da je računar povezan na istu mrežu kao i linkit smart. Od vas će se tražiti da se ponovo prijavite.
Da biste omogućili streaming sa web kamere, trebate omogućiti-j.webp
Nakon što se prijavite, idite na karticu usluge i provjerite omogući li-j.webp
Nakon postavljanja možete povezati svoju web kameru na linkit smart 7688 duo usb host putem OTG kabela. Sada da vidite Stream otvorite preglednik i upišite: u traku za adresu. u mom slučaju to je 192.168.1.4:4400
za snimanje snap snimka otkucajte komandu:? action = snapshot
Sada je ova slika dostupna lokalno, ali moramo je učiniti dostupnom servisu push box. Da bismo to postigli, moramo izvršiti prosljeđivanje portova. Prosljeđivanje portova može se izvršiti na portalu usmjerivača. ID procesa je različit za različite usmjerivače. Samo google da biste saznali kako prenijeti port za određeni usmjerivač. Obično je dostupan pod NAT uslugom. Nakon što preusmjerite port, upotreba može pristupiti ovom portu (tj. 4440) sa vašeg vanjskog IP -a. Vanjski IP možete pronaći ako u google povežete "whats my ip".
Morate unijeti ovu adresu
tj.. https://::? action = snapshot
u potisnoj kutiji (što je objašnjeno u sljedećem koraku) tako da potisna kutija može pristupiti ovoj slici i priložiti je pošti te vam je poslati kad god je to potrebno.
Sliku možete pohraniti i na SD karticu jer Linkit smart 7688 duo također dolazi sa utorom za SD karticu za spremanje informacija. Više informacija o ovome možete pronaći na:
docs.labs.mediatek.com/resource/linkit-sm…
Korak 6: Konfiguriranje PushingBox -a
pushhingbox se koristi za slanje obavijesti o različitim upozorenjima u projektu na gmail.
prijavite se na pushhingbox pomoću google računa:
idi na moje usluge dodaj uslugu. možete izabrati mnoge usluge poput Gmail -a, twitter -a, push obavijesti za android itd …
odaberite Gmail (jer moramo poslati fotografiju kao privitak) i ispuniti odgovarajuću gmail adresu i gmail ID korisnika kojem se mora poslati upozorenje.
idite na moje scenarije i kreirajte novi scenarij. dajte ime scenariju (npr: ALERT) dodajte prethodno kreiranu uslugu.
napišite odgovarajući predmet i tijelo pošte i unesite url kako biste snimili snimak ekrana web kamere za prilaganje fotografije. Kreirajte različite scenarije za različite upozorenja.api za izvršavanje scenarija potisne kutije je:
Korak 7: Stvaranje Alexa vještine pomoću Backendless -a
backendless se koristi za stvaranje alexa vještine. To je jednostavno programiranje povlačenjem i ispuštanjem koje se koristi za stvaranje alexa vještine (ili bilo kojeg programa) kojoj može pristupiti bez pozadinskog API -ja.
stvorite račun u backendless -u:
- Prijavite se na svoj račun na računu bez pozadine. kliknite Kreiraj aplikaciju i dajte ime svojoj aplikaciji
- Kliknite na ikonu Business Logic koja se nalazi na traci sa ikonama s lijeve strane. Vidjet ćete zaslon API USLUGE.
- Pritisnite ikonu “+” za kreiranje nove usluge. U skočnom prozoru "Nova usluga" odaberite CODELESS. Unesite „AlexaService“za naziv usluge. Pritisnite dugme SAČUVAJ:
- Backendless stvara API uslugu i od vas će zatražiti da stvorite metodu za uslugu. Ovo će biti metoda koja će obraditi zahtjeve Alexa. Unesite „handleRequest“za naziv metode. Obavezno odaberite POST za operaciju REST i deklarirajte argument s imenom “req” i upišite “Any Object” kao što je prikazano:
- Backendless stvara rezervirano mjesto za logičku metodu bez koda. Pritisnite dugme EDIT za početak prebacivanja na Codeless Logic Designer. U kreiranom bloku rezerviranih mjesta funkcije kliknite područje na kojem piše "doSomething" i promijenite ga u "sendAlexaResponse". Ova funkcija se koristi da bi alexa rekla nešto što se može prenijeti kao argument. Pritisnite dugme SAVE da bi funkcija bila sačuvana.
- Kliknite na ikonu zupčanika koja se nalazi u ljubičastom bloku tik pored riječi "Funkcija". Dodajte dva argumenta povlačenjem ulaznih blokova kao što je prikazano na donjoj slici. Dodijelite imena argumentima kao “whatToSay” i “waitForResponse”. Uočite da se prilikom dodavanja argumenata područje kontekstnih blokova automatski popunjava blokovima koji predstavljaju vrijednosti argumenata.
- Izmijenite logiku funkcije tako da izgleda kao na slici. Za blokove "Kreiraj objekte" koristite ikonu zupčanika za promjenu naziva svojstava objekta. Ne zaboravite da sačuvate svoj rad klikom na dugme SAČUVAJ.
- Sada kada je prilagođena funkcija izgrađena, vratite se na metodu handleRequest usluge AlexaService. Kliknite kategoriju Prilagođene funkcije na alatnoj traci s lijeve strane i povucite blok sendAlexaResponse da se povežete s povratnim konektorom vaše metode usluge
- Gore navedene korake možete pronaći i na njihovoj web stranici:
- Kliknite čvor „Dodaj novo“pod Funkcije u odjeljku BROWSER. U kreiranom bloku rezerviranih mjesta kliknite područje na kojem piše „doSomething“i promijenite ga u „getIntentName“izmijenite blokove tako da funkcija izgleda kao prikazana slika. će dobiti naziv namjere na osnovu primjera izgovora. Vratite se na api usluge-> obradi zahtjev u odjeljku preglednika. Varijable i logika se stvaraju iz sistemske sekcije. Kreirajte sljedeće varijable prikazane na slikama.
- zatim pohranjujemo naziv namjere za traženje varijable. A zatim uporedite sa namerama. na primjer, ako je zahtjev "uvod", tada je varijabla odgovora postavljena na "zdravo! Mogu kontrolirati ……." i Alexa napokon ovaj odgovor čita naglas. izmijenite blok kako je prikazano.
- ako je zahtjev namjera LightsOn, ažuriramo kanal thingspeak na '0' koristeći http get request i istovremeno ažuriramo status uređaja (1/0 ovisno o Uključeno/Isključeno). Ista se stvar ponavlja za LightsOff, FanOn i FanOff.
- Za vremenske uvjete čitamo iz kanala Temperatura i vlažnost i spremamo rezultat u varijablu odgovora. Kako kanal daje samo vrijednosti, dodajemo tekstove kako bi odgovor bio smislen
- za snimku dnevne sobe pokrećemo pushhingbox scenario
- za status uređaja čitamo informacije sa statusnog kanala Thingspeak -a:
- za obavještenja i upozorenja koja čitamo s kanala upozorenja (vatra, uljez i gost):
- na osnovu vrednosti koje dobijamo iz polja za obaveštenja, odgovarajuće poruke upozorenja se čuvaju u varijabli response0. ako nema obavijesti, tada se poruka o obavijesti ne pohranjuje.
- nakon što se obavijest pročita, tada se '0' ažurira u kanalima za obavještenja tako da aleksa više neće pročitati isto obavještenje. Na kraju, na temelju zahtjeva, varijabla response0/response se čita naglas.
Korak 8: Konfiguriranje Alexa vještine u Amazon Developer Console:
idite na amazonsku razvojnu konzolu i prijavite se pomoću amazon računa.
idite na razvojnu konzolu i kliknite karticu ALEXA. Kliknite na Alexa Kit Kit za početak.
kreirajte prilagođeni tip vještine, dajte naziv i naziv poziva za vještinu. Odgovarajuće namjere i primjeri iskaza dati su u kodu.
na kartici konfiguracije odaberite HTTPS kao vrstu krajnje tačke usluge. Ispunite zadani URL s URL -om API -ja iz baze podataka bez pozadine. Odaberite drugu opciju u Potvrdi za zadanu krajnju točku u SSL certifikatu. Vještinu možete testirati i pomoću simulatora testa.
Nakon završetka testa možete objaviti vještinu sa potrebnim podacima za objavljivanje.
Korak 9: Konačno postavljanje i završavanje
Povežite krug kao što je prikazano.
Ponekad će se ESP8266 pokvariti zbog nedovoljne struje. Dakle, iako nije spomenuto u krugu, preporučuje se napajanje ESP8266 iz zasebnog izvora od 3,3 V. Ako koristite power bank, smanjite napon sa 5v na 3.3v pomoću regulatora napona od 3.3v. Učitajte program na ESP8266 i arduino. Pokazao sam vezu sa sijalicom, ista stvar se može proširiti na ventilator ili bilo koji uređaj. Na kraju upotrijebite amazon echo ili echosim.io da biste provjerili svoju vještinu.
Morate aktivirati vještinu koristeći naziv poziva (kao što je moj slučaj - "myhome"). Ponekad neće raditi ako se koristi bez naziva poziva, kao što sam pokazao nekoliko puta u svom videu
Nadam se da ste uživali u vodiču!
Hvala ti!
Preporučuje se:
Alexa sistem pametne kuće koji koristi NodeMCU relejni modul: 10 koraka
Alexa pametni kućni sistem koji koristi NodeMCU relejni modul: U ovom IoT projektu napravio sam Alexa Alexa automatizacijski sistem koristeći NodeMCU ESP8266 & Relejni modul. Glasovnom naredbom možete lako kontrolirati svjetlo, ventilator i druge kućanske aparate. Za povezivanje Echo Dot pametnog zvučnika sa
SmartBox - Sistem pametne kuće za vašu sobu: 6 koraka
SmartBox - sistem pametne kuće za vašu sobu: Pozdrav svima! U ovom uputstvu ću vam objasniti kako napraviti sistem pametne sobe. Ovaj sistem sadrži dva uređaja. Opći uređaj sa senzorom vlažnosti i senzorom temperature koji mjeri trenutni kvalitet života u vašoj prostoriji. Ti ćeš
ForgetMeNot - Platforma za obavještavanje pametne kuće: 14 koraka (sa slikama)
ForgetMeNot - Platforma za obavještavanje pametne kuće: Kao zaposleni studenti, trčeći između časova, poslova i porodičnih obaveza, skloni smo zaboraviti male stvari. Rođendan dolazi i odlazi a da mi to ne primijetimo, važan rok se propušta zbog čistog zaborava, a ponekad, samo
Vodič Završni projekt Do Curso IoT Aplikacija pametne kuće Inatel / Novembar 2017: 4 koraka (sa slikama)
Vodič Do Finalnog Projekta Za Curso IoT Aplikaciju Pametne Kuće Inatel / Novembar 2017: Nema desenvolvimento desse projeto foi koji se koristi na plataformama hibrida, već je neophodan kao dodatak za ponavljanje plataformacija na Androidu ili iOS -u. Kako biste koristili računalo sa tipovima prijenosnih računara sa windows 10. Essa plataforma chama-se Ionic, q
Napravite sami pametne naočare za proširenu stvarnost pomoću Arduina: 7 koraka
DIY Pametne naočare za proširenu stvarnost koristeći Arduino: Kako tehnologija brzo raste i integrira se u sve aspekte života ljudi, dizajneri i programeri pokušali su ljudima pružiti ugodnije iskustvo tehnologije. Jedan od tehnoloških trendova koji imaju za cilj olakšati život je nošenje