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 pametnog doma pomoću Alexa i Arduina: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
U današnjem svijetu ljudi provode više vremena na radnom mjestu, a ne u svom domu. Stoga postoji potreba za sustavom nadzora doma 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 tijekom 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 vlaga)
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 vještina set
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 datoteku-> postavke-> u dodatnoj vrsti URL-a upravitelja ploče-https://arduino.esp8266.com/stable/package_esp8266…
Idite na alati -> ploče -> Upravitelj ploče 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 alatima-> pločama. Također odaberite prava COM portova u Alatima (broj COM porta možete pronaći u Upravitelju uređaja). Napišite potrebni program, sastavite ga i kliknite Učitaj ako nema pogrešaka.
Za programiranje ESP8266 povežite se kao što je prikazano na dijagramu. spojite USB iz arduina na računalo. U alati-> ploča-> odaberite Generic ESP8266 i također odaberite desni COM port. Napišite potrebni program, sastavite ga i kliknite Učitaj ako nema pogrešaka. Priključite Arduino RST na GND (arduino djeluje kao programer na ESP8266).
U ovom projektu prvo se programira ESP8266, a zatim se uklanjaju spojevi kruga. Zatim se krug ponovno spaja kao što je prikazano na slici pod nazivom "Veze kruga". Zatim se arduino programira.
Korak 3: Konfiguriranje Thingspeak.com
Napravite račun na web stranici thingspeak.com.
koristimo kanale u Thingspeak -u za pohranu kontrolnih podataka uređaja i usmjeravanje na arduino/alexa. također pohranjujemo vrijednosti temperature i vlažnosti u kanale. To je poput mjesta za pohranu informacija.
Prijavite se na Thingspeak, idite na kanale moji kanali i stvorite novi kanal. Dajte ime i opis svojim kanalima. U našem projektu trebamo 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 navedeno osam kanala sa svojim vrijednostima i značenjem
naziv kanala (vrijednost1-značenje, vrijednost2-značenje itd.):
1) Upravljanje uređajem (0- svjetlo UKLJUČENO, 1 svjetlo isključeno, 2 ventilatora UKLJUČENO, 3 ventilatora isključeno)
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 od 1 uljeza)
7) dojava o požaru (1 dojava o požaru)
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 u kanalu. Ključ za pisanje potreban je 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 upravljanja uređajem ili vrijednosti temperature/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 upravlja se uređajima. 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 s odgovarajućih kanala za govor i upravljački uređaj na temelju dobivenih 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 pushboxu.
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 njezino slanje korisniku. Također možete koristiti modul kamere arduino i spojiti 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. Nakon resetiranja Wi -Fi postavke moći ćete vidjeti naziv pristupne točke u bežičnim mrežnim vezama. Sada spojite računalo na tu mrežu. nakon što ga povežete otvorite preglednik i upišite 192.168.100.1 u adresnu traku. Moći ćete vidjeti njegov portal. postaviti lozinku za prijavu na svoj portal.
Nakon što se prijavite, idite na karticu mreža i odaberite Način postaje (potreban nam je (linkit smart 7688 duo) za pristup internetu) i povežite ga s Wifi mrežom te pritisnite Konfiguriraj i ponovno pokreni.
Nakon što se ploča ponovno 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 192.168.1.4. Sada upišite lokalnu IP adresu u adresnu traku preglednika. provjerite je li računalo spojeno na istu mrežu kao i linkit smart. Od vas će se tražiti da se ponovo prijavite.
Da biste omogućili streaming s 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 spojiti svoju web kameru na linkit smart 7688 duo usb host putem OTG kabela. Sada kako biste vidjeli kako Stream otvara preglednik i upišite: u adresnu traku. u mom slučaju to je 192.168.1.4:4400
za snimanje snap snimke upišite naredbu:? 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 naprijed za određeni usmjerivač. Obično je dostupan pod NAT uslugom. Nakon što preusmjerite port, upotreba može pristupiti ovom portu (tj. 4440) s 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 s utorom za SD karticu za spremanje podataka. 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.
prijava na pushhingbox pomoću google računa:
idi na moje usluge dodaj uslugu. postoji mnogo usluga za odabir poput Gmail -a, twittera, push obavijesti za android itd …
odaberite Gmail (jer moramo poslati fotografiju kao privitak) i ispuniti odgovarajuću konfiguraciju naziva gmaila i gmail ID korisnika kojem se mora poslati upozorenje.
idite na moje scenarije i izradite novi scenarij. dati ime scenariju (npr.: ALERT) dodati prethodno stvorenu uslugu.
napišite odgovarajući predmet i tijelo pošte te unesite url kako biste snimili zaslon web kamere za prilaganje fotografije. Izradite različite scenarije za različite upozorenja.api za izvršavanje scenarija guranja 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) kojem se može pristupiti bez pozadinskog API -ja.
stvorite račun u backendless:
- Prijavite se na svoj račun na računu bez pozadine. kliknite Stvori aplikaciju i dajte ime svojoj aplikaciji
- Kliknite ikonu Business Logic koja se nalazi na traci s ikonama s lijeve strane. Vidjet ćete zaslon API USLUGE.
- Pritisnite ikonu “+” za stvaranje nove usluge. U skočnom prozoru "Nova usluga" odaberite CODELESS. Unesite "AlexaService" za naziv usluge. Pritisnite gumb SPREMI:
- Backendless stvara API uslugu i od vas će tražiti da stvorite metodu za uslugu. Ovo će biti metoda koja će obraditi zahtjeve Alexa. Unesite "handleRequest" za naziv metode. Za operaciju REST obavezno odaberite POST 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 gumb EDIT za početak prebacivanja na Codeless Logic Designer. U stvorenom bloku rezerviranih mjesta kliknite područje na kojem piše "doSomething" i promijenite ga u "sendAlexaResponse". Ova se funkcija koristi kako bi alexa rekla nešto što se može prenijeti kao argument. Pritisnite tipku SAVE kako bi funkcija bila spremljena.
- Kliknite ikonu zupčanika koja se nalazi u ljubičastom bloku tik uz riječ "Funkcija". Dodajte dva argumenta povlačenjem ulaznih blokova kao što je prikazano na donjoj slici. Dodijelite imena argumentima "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 "Stvaranje objekata" upotrijebite ikonu zupčanika za promjenu naziva svojstava objekta. Ne zaboravite spremiti svoj rad klikom na gumb SPREMI.
- 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 za povezivanje s povratnim konektorom vaše metode usluge
- Gore navedene korake možete pronaći i na njihovoj web stranici:
- Kliknite čvor "Dodaj novo" u odjeljku Funkcije u odjeljku BROWSER. U kreiranom bloku rezerviranih mjesta funkcije kliknite područje na kojem piše "doSomething" i promijenite ga u "getIntentName" izmijenite blokove tako da funkcija izgleda kao prikazana slika. dobit će naziv namjere na temelju uzoraka. Vratite se na api usluge-> obradi zahtjev u odjeljku preglednika. Varijable i logika stvaraju se iz odjeljka sustava. Izradite sljedeće varijable prikazane na slikama.
- zatim pohranjujemo naziv namjere za traženje varijable. A zatim usporedite s namjerama. na primjer, ako je zahtjev "uvod", tada je varijabla odgovora postavljena na "zdravo! Mogu kontrolirati ……." i ovaj odgovor napokon glasno čita Alexa. izmijenite blok kako je prikazano.
- ako je zahtjev namjera LightsOn, tada ažuriramo kanal thingspeak na '0' koristeći http zahtjev za primanje, a 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 scenarij pushhingbox
- za status uređaja čitamo informacije sa statusnog kanala Thingspeak:
- za obavijesti i upozorenja koja čitamo s kanala upozorenja (vatra, uljez i gost):
- na temelju vrijednosti koje dobivamo iz polja obavijesti, odgovarajuće poruke upozorenja pohranjene su u varijabli response0. ako nema obavijesti, tada se poruka o obavijesti ne sprema.
- nakon što se obavijest pročita, tada se '0' ažurira u kanalima za obavijesti tako da aleksa više neće pročitati istu obavijest. Na kraju, na temelju zahtjeva, varijabla response0/response se čita naglas.
Korak 8: Konfiguriranje Alexa vještine u Amazon Developer Console:
idite na Amazon Developer Console i prijavite se pomoću Amazon računa.
idite na razvojnu konzolu i kliknite karticu ALEXA. Kliknite na Alexa Kit Kit za početak.
stvoriti prilagođenu vrstu vještine, dati naziv i naziv poziva za vještinu. Odgovarajuće namjere i primjeri izričaja dati su u kodu.
na kartici konfiguracije odaberite HTTPS kao vrstu krajnje točke usluge. Ispunite zadani URL s URL -om API -ja iz pozadine. Odaberite drugu opciju u Potvrdi za zadanu krajnju točku u SSL certifikatu. Vještinu možete provjeriti 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 se ne spominje u krugu, preporučuje se napajanje ESP8266 iz zasebnog izvora od 3,3 V. Ako koristite power bank, smanjite napon s 5v na 3.3v pomoću regulatora napona od 3.3v. Učitajte program na ESP8266 i arduino. Pokazao sam vezu s žaruljom, ista se stvar može proširiti na ventilator ili bilo koji uređaj. Na kraju upotrijebite amazonski echo ili echosim.io kako 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 vam!
Preporučeni:
Uradi sam -- Kako napraviti Spider robota kojim se može upravljati pomoću pametnog telefona pomoću Arduino Uno: 6 koraka
Uradi sam || Kako napraviti Spider robota koji se može kontrolirati pomoću pametnog telefona pomoću Arduino Uno: Dok izrađujete Spider robota, možete naučiti toliko stvari o robotici. Kao što je izrada robota zabavna, ali i izazovna. U ovom videu pokazat ćemo vam kako napraviti Spider robota, kojim možemo upravljati pomoću našeg pametnog telefona (Androi
Hakiranje Hexbug Spider XL za dodavanje računalnog vida pomoću Android pametnog telefona: 9 koraka (sa slikama)
Hakiranje Hexbug Spider XL radi dodavanja računalnog vida pomoću Android pametnog telefona: veliki sam fan originalnog Hexbuga ™ Pauk. Posjedovao sam više desetaka i sve sam ih hakirao. Kad god jedan od mojih sinova ode prijateljima ’ rođendanska zabava, prijatelj dobije Hexbug ™ pauk na dar. Hakirao sam ili
Kako napraviti pametnog robota pomoću Arduina: 4 koraka
Kako napraviti pametnog robota pomoću Arduina: zdravo, ja sam proizvođač arduina i u ovom ću vam uputstvu pokazati kako napraviti pametni robot pomoću arduina ako vam se svidio moj vodič, razmislite o podršci mojem youtube kanalu pod imenom arduino maker
Najjednostavnija kućna automatizacija pomoću Bluetootha, Android pametnog telefona i Arduina .: 8 koraka (sa slikama)
Najjednostavnija kućna automatizacija pomoću Bluetootha, Android pametnog telefona i Arduina .: Pozdrav svima, Ovaj projekt se bavi izgradnjom najjednostavnijeg uređaja za kućnu automatizaciju pomoću arduina i bluetooth modula. Ovaj je vrlo jednostavan za gradnju i može se izgraditi za nekoliko sati. U mojoj verziji koju upravo ovdje objašnjavam mogu
Uradi sam mikroskop pomoću pametnog telefona: 5 koraka (sa slikama)
Uradi sam mikroskop pomoću pametnog telefona: Pozdrav svima, jeste li znatiželjni kako maleno stvorenje koje ste vidjeli na satu biologije izgleda u stvarnom životu? Želite li ih ikada pogledati u stvarnosti? Ako da, onda ste došli do pravog instruktora. Danas ću vam pokazati kako