Sisukord:
- Samm: materjalide kogumine
- Samm: programmeerige Arduino ja ESP8266
- Samm 3: Thingspeak.com seadistamine
- Samm: programm
- Samm: Linkit Smart 7688 Duo ja veebikaamera seadistamine
- 6. samm: PushingBoxi seadistamine
- Samm 7: Alexa oskuse loomine Backendless'i abil
- Samm 8: Alexa Skilli seadistamine Amazoni arendajakonsoolis:
- 9. samm: lõplik seadistamine ja lõpetamine
Video: Nutika kodu jälgimine Alexa ja Arduino abil: 9 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Praeguses maailmas veedavad inimesed rohkem aega tööl kui kodus. Seetõttu on vaja kodu jälgimissüsteemi, kus inimesed saaksid töö ajal tutvuda maja tingimustega. Veelgi parem oleks, kui saaks tööajal lihtsalt "kelleltki" oma kodu kohta küsida. Seda saab teha, kui kasutada assistendina Amazon Alexat, mis võib anda kasutajale vajalikku teavet oma kodu kohta.
Mitte ainult töökohaga saavad kasutajad maja seisukorraga tutvuda igal pool maailmas, kui neil on Interneti -ühendus ja Amazon Alexa.
Selles projektis rakendatakse järgmisi funktsioone:
1) Juhtige kodumasinaid nagu ventilaator ja valgus
2) Näitab seadmete olekut
3) Näitab maja ilmastikutingimusi (temperatuur ja niiskus)
4) Saadab vajadusel Gmaili kaudu kasutajale maja sisemuse hetktõmmise.
5) saadab teate juhul, kui -
* Sissetungija (saadab ka foto)
* Tuli
* Külaline (saadab ka foto)
Samm: materjalide kogumine
Vajalikud materjalid
Arduino Uno
ESP8266 WiFi -moodul
Linkit Smart 7688 Duo
DHT11
Releed
IR takistusandur
Veebikaamera
Amazon Echo Dot
Leivalaud ja hüppaja juhtmed
Tarkvara ja võrguteenused:
Thingspeak.com
Arduino IDE
Amazon Alexa oskuste komplekt
Amazon Alexa Echosim.io (oskuste testimiseks)
Taustata
PushingBox
Samm: programmeerige Arduino ja ESP8266
Laadige Arduino IDE alla ametlikult veebisaidilt:
Avage Arduino IDE ja minge täiendava tahvlihalduri URL-i failis-> eelistused->-https://arduino.esp8266.com/stable/package_esp8266…
Minge tööriistadesse -> lauad -> Board Manager ja installige lõpuks leitud pakett esp8266.
Arduino programmeerimiseks ühendage lihtsalt arduino USB-kaabel arvutiga ja valige tööriistadetahvlites Arduino/Genuino UNO. Veenduge ka, et valite tööriistade õigused COM -pordid (COM -pordi numbri leiate seadmehaldurist). Kirjutage vajalik programm, kompileerige see ja vigade puudumisel klõpsake üleslaadimist.
ESP8266 programmeerimiseks looge ühendus vastavalt skeemile. ühendage USB arduinost arvutiga. Valige tööriistades-> tahvel-> Generic ESP8266 ja valige ka parem COM-port. Kirjutage vajalik programm, kompileerige see ja vigade puudumisel klõpsake üleslaadimist. Veenduge, et ühendate Arduino RST GND -ga (arduino toimib nagu programmeerija ESP8266 -ga).
Selles projektis Esmalt programmeeritakse ESP8266 ja seejärel eemaldatakse vooluahela ühendused. Seejärel ühendatakse vooluahel uuesti, nagu on näidatud joonisel "Ahelaühendused". Ja siis programmeeritakse arduino.
Samm 3: Thingspeak.com seadistamine
Looge konto saidil thingspeak.com.
me kasutame asju kõnelevas kanaleid, et salvestada seadme juhtimisteavet ja suunata see arduino/alexa. samuti salvestame kanalitesse temperatuuri ja niiskuse väärtused. See on nagu teabe salvestuskoht.
Logige sisse asjakõnesse, minge kanalitesse Minu kanalid ja looge uus kanal. Andke oma kanalitele nimi ja kirjeldus. Meie projektis vajame 8 kanalit (saate seda tööd teha, kasutades vähem kanaleid, kuid see on programmeerimise ajal natuke keeruline). Ka asjade rääkimisel on ajapiirang kanali uuendamisel. Konkreetse kanali järjestikuse värskendamise vahel peab olema vahe 10-15 sekundit.
Allpool on toodud kaheksa kanalit oma väärtuste ja tähendusega
kanali nimi (väärtus1 tähendus, väärtus2 tähendus jne):
1) Seadme juhtimine (0-LightON, 1- LightOff, 2 ventilaator ON, 3- Fan Off)
2) valguse olek (0- tuli välja, 1- põleb)
3) ventilaatori olek (0- ventilaator välja lülitatud, 1- ventilaator sisse lülitatud)
4) niiskus (niiskuse väärtus)
5) temperatuur (temperatuuri väärtus)
6) sissetungija märguanne (1- sissetungija hoiatus)
7) tulekahju teatis (1- tulekahjuhäire)
8) külalisteade (1- külalise märguanne)
kui klõpsate suvalisel kanalil, näete selle kanali ID -d ja kirjutate API võtmed vahekaardile API võtmed. kanali ID on vajalik kanali teabe/ väärtuse saamiseks. Ja väärtuse salvestamiseks kanalis on vaja kirjutusvõtit.
http taotlus kanali värskendamiseks on järgmine:
api.thingspeak.com/update?api_key=&field1=
asendatakse kanali vastavate kirjutusvõtmetega ja see võib olla (0/1 seadme juhtimise või temperatuuri/niiskuse väärtuste korral)
http taotlus kanali väärtuse lugemiseks on järgmine:
api.thingspeak.com/channels//field/field1/last.html
asendatakse selle kanali konkreetse ID -ga, millest soovime lugeda.
Samm: programm
Programm on jagatud 3 osaks:
A) Arduino programm: arduino programm on väga lihtne. See võtab ESP8266 -lt andmeid järjestikku ja saadud andmete põhjal juhitakse seadmeid. Lisateavet programmi kohta leiate programmi enda kommentaaridest.
B) ESP8266 programm: ESP8266 programm sisaldab 3 asja
1) temperatuuri ja niiskuse värskendamine http päringu abil
client.print (String ("GET") + "/update? key = & field1 =" + niiskus + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Ühendus: sulge / r / n / r / n "); // niiskuse värskendamine
client.print (String ("GET") + "/update? key = & field1 =" + temperatuur + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Ühendus: sulge / r / n / r / n "); // temperatuuri värskendamine
asendatakse vastava kirjutusvõtmega, mis leidub asjade kõne kanalis vastavalt niiskuse ja temperatuuri jaoks. ja host on api.thingspeak.com.
laadige dht raamatukogu alla siit:
2) lugemine asjakõne vastavatest kanalitest ja seadme juhtimine saadud väärtuste põhjal: client.print (String ("GET") + "/channels//field/field1/last.html HTTP/1.1 / r / n" + " Host: " + host +" / r / n " +" Ühendus: sulge / r / n / r / n ");
kus see asendatakse asjakõnes leiduva vastava kanali ID -ga.
3) Hoiatusteate saatmine kõrge temperatuuri korral tõukekasti kaudu
Stringi host1 = "api.pushingbox.com";
client.print (String ("GET") + "/tõukekast? devid = HTTP/1.1 / r / n" + "Host:" + host1 + "\ r / n" + "Ühendus: sulge / r / n / r / n ");
kus tõukekastis asendatakse teie seadme ID.
Samm: Linkit Smart 7688 Duo ja veebikaamera seadistamine
Selles projektis kasutatakse vajaliku foto jäädvustamiseks ja kasutajale saatmiseks veebikaamerat ja linkit smart 7688 duo. Võite kasutada ka arduino kaameramoodulit ja liita see arduinoga või kasutada mis tahes IP -kaamerat.
Tahvli lähtestamiseks vajutage ja hoidke linkit smart 7688 wifi nuppu 20 sekundit all. Pärast WiFi -seadete lähtestamist näete traadita võrguühendustes selle pöörduspunkti nime. Nüüd ühendage arvuti selle võrguga. pärast selle ühendamist avage brauser ja tippige aadressiribale 192.168.100.1. Näete selle portaali. määrake oma portaali sisselogimiseks parool.
Pärast sisselogimist minge vahekaardile Võrk ja valige Jaamarežiim (me vajame seda (linkit smart 7688 duo), et pääseda Internetti), ühendage see oma WiFi -võrguga ja vajutage Seadistamine ja taaskäivitamine.
Pärast plaadi taaskäivitamist määratakse sellele kohalik IP -aadress. Uurige aadressi IP -tööriistade või ruuteri portaali abil. Minu puhul oli see 192.168.1.4. Nüüd tippige brauseri aadressiribale kohalik IP -aadress. veenduge, et arvuti on ühendatud linkit smartiga samasse võrku. Teil palutakse uuesti sisse logida.
Veebikaamerast voogesituse lubamiseks peate lubama-j.webp
Pärast sisselogimist minge vahekaardile teenus ja märkige-j.webp
Pärast seadistamist saate ühendada teid veebikaameraga OTG -kaabli kaudu linkit smart 7688 duo USB -hostiga. Nüüd, et näha voogu, avage brauser ja tippige aadressiribale. minu puhul on see 192.168.1.4:4400
hetkevõtte tegemiseks tippige käsk:? action = snapshot
Nüüd on see pilt kohapeal saadaval, kuid me peame selle tõukekasti teenusele kättesaadavaks tegema. Selle saavutamiseks peame tegema sadama edastamise. Pordi edastamist saab teha ruuteri portaalis. Protsessi id on erinevate ruuterite jaoks erinevad. Lihtsalt googeldage, et teada saada, kuidas konkreetset ruuterit edasi suunata. See on tavaliselt saadaval NAT -teenuse all. Pärast pordi edasisuunamist saate sellele pordile (st.. 4440) juurdepääsu oma välise IP -aadressi kaudu. Välise IP leiate google'is "whats my ip".
Peate selle aadressi sisestama
st.. https://::? action = snapshot
tõukekastis (mida selgitatakse järgmises etapis), nii et tõukekast pääseb sellele pildile juurde ja lisab selle kirjale ning saadab selle teile alati, kui vaja.
Saate pildi salvestada ka sd -kaardile, kuna Linkit smart 7688 duo on varustatud ka SD -kaardi pesaga teabe salvestamiseks. Lisateavet selle kohta leiate aadressilt:
docs.labs.mediatek.com/resource/linkit-sm…
6. samm: PushingBoxi seadistamine
tõukekasti kasutatakse projekti erinevate hoiatusteadete saatmiseks gmaili.
sisselogimine pushboxi Google'i kontoga:
mine minu teenuste lisateenusesse. valida on paljude teenuste vahel, nagu Gmail, twitter, andmeside tõukemärguanne jne …
valige Gmail (kuna meil on vaja saata foto manusena) ja täitke selle kasutaja gmaili nime konfiguratsioon ja gmaili ID, kellele hoiatus tuleb saata.
minge minu stsenaariumide juurde ja looge uus stsenaarium. anda stsenaariumile nimi (nt: HOIATUS) lisada varem loodud teenus.
kirjutage sobiv teema ja kiri ning sisestage URL, et teha veebikaamera ekraanipilt foto lisamiseks. Loo erinevate stsenaariumide jaoks erinevad stsenaariumid. Tõukekasti stsenaariumi täitmiseks mõeldud api on:
Samm 7: Alexa oskuse loomine Backendless'i abil
alexa oskuse loomiseks kasutatakse backendlessit. See on lihtne pukseerimisprogramm, mida kasutatakse alexa oskuste (või mis tahes programmide) loomiseks ja millele pääseb juurde taustata API kaudu.
looge konto backendlessis:
- Logige oma kontole sisse backendless kontol. klõpsake nuppu Loo rakendus ja andke oma rakendusele nimi
- Klõpsake vasakul asuval ikooniribal asuvat äriloogika ikooni. Näete ekraani API TEENUSED.
- Uue teenuse loomiseks klõpsake ikooni „+”. Valige hüpikaknas „Uus teenus” kindlasti CODELESS. Sisestage teenuse nimeks „AlexaService”. Klõpsake nuppu SALVESTA:
- Backendless loob API -teenuse ja palub teil teenuse jaoks meetodi luua. See on meetod, mis töötleb Alexa taotlusi. Sisestage meetodi nimeks „handleRequest”. Valige REST -toiminguks kindlasti POST ja deklareerige argument nimega “req” ning tippige “Any Object”, nagu näidatud:
- Backendless loob meetodi koodita loogikale kohatäite. Koodita loogikakujundajale ülemineku alustamiseks klõpsake nuppu EDIT. Klõpsake loodud funktsiooni kohatäiteplokis ala, mis ütleb „doSomething”, ja muutke see väärtuseks „sendAlexaResponse”. Seda funktsiooni kasutatakse selleks, et alexa ütleks midagi, mida saab argumendina edastada. Funktsiooni salvestamiseks klõpsake nuppu SALVESTA.
- Klõpsake hammasrattaikoonil, mis asub lilla plokis sõna „Funktsioon” kõrval. Lisage kaks argumenti, lohistades sisendplokke, nagu on näidatud alloleval pildil. Määrake argumentide nimed "whatToSay" ja "waitForResponse". Pange tähele, et argumentide lisamisel täidetakse kontekstiblokkide ala automaatselt argumentide väärtusi tähistavate plokkidega.
- Muutke funktsiooni loogikat nii, et see näeks välja nagu pildil. Plokkide „Loo objektid” jaoks kasutage hammasrattaikooni, et muuta objekti atribuutide nime. Ärge unustage oma tööd salvestada, klõpsates nuppu SALVESTA.
- Nüüd, kui kohandatud funktsioon on loodud, lülitage tagasi teenuse AlexaService meetodi handleRequest juurde. Klõpsake vasakpoolsel tööriistaribal kategooriat Kohandatud funktsioonid ja lohistage sendAlexaResponse plokk, et luua ühendus oma teenindusmeetodi tagasiliidesega
- Ülaltoodud sammud leiate ka nende veebisaidilt:
- Klõpsake jaotises BROWSER Funktsioonid jaotises „Lisa uus”. Loodud funktsiooni kohatäiteplokis klõpsake ala, mis ütleb „doSomething”, ja muutke see väärtuseks „getIntentName”, muutke plokke nii, et funktsioon näeks välja nagu näidatud pilt. saab kavatsuse nime näidislausete põhjal. Minge tagasi api teenuste juurde-> hallake päringut brauseri jaotises. Muutujad ja loogika luuakse süsteemi jaotisest. Looge piltidel näidatud järgmised muutujad.
- seejärel salvestame muutuja taotlemiseks kavatsuse nime. Ja siis võrrelda kavatsustega. näiteks kui päring on "sissejuhatus", on vastusmuutujaks seatud "tere! ma saan juhtida …". ja selle vastuse loeb alexa lõpuks ette. muutke plokki, nagu näidatud.
- kui taotlus on LightsOn kavatsusega, siis värskendame asjakõne kanali väärtuseks „0“, kasutades http get request ja samal ajal värskendame seadme olekut (1/0 olenevalt On/Off). Sama korratakse ka LightsOff, FanOn ja FanOff puhul.
- Ilmastiku jaoks loeme temperatuuri ja niiskuse kanalist ning salvestame tulemuse vastuse muutujaga. Kuna kanal annab ainult väärtusi, lisame vastuse sisukaks muutmiseks tekste
- elutoa hetktõmmise jaoks kasutame tõukekasti stsenaariumi
- seadme oleku jaoks loeme teavet asjade olekukanalist:
- teavituste ja hoiatuste jaoks, mida loeme hoiatuskanalitest (tulekahju, sissetungija ja külaline):
- vastavalt teavitusväljalt saadud väärtustele salvestatakse vastavad hoiatussõnumid muutujale respond0. kui teateid pole, siis teateid ei salvestata.
- kui teade on ette loetud, värskendatakse teavituskanalites "0", nii et alexa ei loe sama teadet uuesti. Lõpuks loetakse päringu põhjal valjuhäälselt ette muutuja vastus/vastus.
Samm 8: Alexa Skilli seadistamine Amazoni arendajakonsoolis:
minge amazoni arendajakonsooli ja logige sisse, kasutades amazoni kontot.
minge arendajakonsooli ja klõpsake vahekaarti ALEXA. Alustamiseks klõpsake alexa oskuste komplekti.
looge kohandatud oskuste tüüp, andke oskusele nimi ja kutsunimi. vastavad kavatsused ja näidislaused on antud koodis.
valige konfiguratsioonivahekaardil teenuse lõpp -punkti tüübiks HTTPS, täitke vaikimisi URL koos backendless -i API -aadressiga. Valige SSL -sertifikaadi vaikimisi lõpp -punkti sertifikaadi teine suvand. Oskusi saate testida ka testimulaatori abil.
Pärast testi lõppu saate oskuse koos vajaliku avaldamisteabega avaldada.
9. samm: lõplik seadistamine ja lõpetamine
Tehke vooluahela ühendus, nagu näidatud.
Mõnikord võib ESP8266 ebaõnnestuda ebapiisava voolu tõttu. Seega, kuigi seda on vooluringis mainitud, on soovitatav ESP8266 toita eraldi 3,3 V allikast. Kui kasutate toitepanka, vähendage kindlasti pinget 5 V -lt 3,3 V -le, kasutades 3,3 V pingeregulaatorit. Laadige programm üles ESP8266 ja arduino. Olen näidanud ühendust pirniga, sama asja saab laiendada ventilaatorile või mis tahes seadmetele. Lõpuks kasutage oma oskuste proovile panemiseks amazon echo või echosim.io.
Peate oskuse aktiveerima kutsumise nime abil (nagu minu puhul - "myhome"). Mõnikord ei tööta see, kui seda kasutatakse ilma kutsumisnimeta, nagu olen oma videos paar korda näidanud
Loodetavasti teile õpetus meeldis!
Aitäh!
Soovitan:
Väikeste poodide jälgimine ja jälgimine: 9 sammu (piltidega)
Jälgi ja jälgi väikestele poodidele: see on süsteem, mis on loodud väikestele kauplustele, mis peaksid olema paigaldatud e-jalgratastele või e-motorolleritele lühikese vahemaaga kohaletoimetamiseks, näiteks pagaritöökoda, mis soovib saiakesi tarnida. Mida tähendab jälgimine ja jälgimine? Jälgimine ja jälgimine on süsteem, mida kasutavad ca
ForgetMeNot - nutika kodu teavitusplatvorm: 14 sammu (piltidega)
ForgetMeNot - nutika kodu teavitusplatvorm: hõivatud kolledžiõpilastena, kes liiguvad klasside, töökohtade ja perekohustuste vahel, kipume pisiasjad unustama. Sünnipäev tuleb ja läheb, ilma et me seda märkaksime, oluline tähtaeg jääb unaruse tõttu vahele ja mõnikord lihtsalt
Kiirenduse jälgimine Raspberry Pi ja AIS328DQTR abil Pythoni abil: 6 sammu
Kiirenduse jälgimine Raspberry Pi ja AIS328DQTR abil Pythoni kasutamine: Kiirendus on piiratud, ma arvan, et mõne füüsikaseaduse kohaselt.- Terry Riley Gepard kasutab jälitamisel hämmastavat kiirendust ja kiireid kiiruse muutusi. Kiireim olend kaldal kasutab aeg -ajalt oma tipptempot saagi püüdmiseks
Kiirenduse variatsioonide jälgimine Raspberry Pi ja MMA7455 abil Pythoni abil: 6 sammu
Kiirenduse variatsioonide jälgimine Raspberry Pi ja MMA7455 abil Pythoni abil: ma ei komistanud, vaid testisin gravitatsiooni. See töötab endiselt … Kiirendava kosmosesüstiku esitus selgitas, et süstiku kõrgeimas punktis olev kell valib gravitatsioonilise aja laienemise tõttu kiiremini kui baasi. Mõned
Õpi paremini nutika laualambi abil - IDC2018IOT: 10 sammu (piltidega)
Õppige paremini nutika laualambi abil - IDC2018IOT: läänemaailma inimesed veedavad palju aega istudes. Laua taga, ringi sõites, telekat vaadates ja palju muud. Mõnikord võib liiga palju istumine kahjustada teie keha ja kahjustada keskendumisvõimet. Pärast teatud aja möödumist kõndimine ja püsti tõusmine on