Sisällysluettelo:
- Vaihe 1: Materiaalien kerääminen
- Vaihe 2: Arduinon ja ESP8266: n ohjelmointi
- Vaihe 3: Thingspeak.comin määrittäminen
- Vaihe 4: Ohjelma
- Vaihe 5: Linkit Smart 7688 Duo- ja verkkokameran määrittäminen
- Vaihe 6: PushingBoxin määrittäminen
- Vaihe 7: Alexa -taidon luominen Backendlessin avulla
- Vaihe 8: Alexa Skillin määrittäminen Amazon -kehittäjäkonsolissa:
- Vaihe 9: Lopullinen asennus ja viimeistely
Video: Älykkään kodin valvonta Alexan ja Arduinon avulla: 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Nykymaailmassa ihmiset viettävät enemmän aikaa työpaikalla kuin kotonaan. Siksi tarvitaan kodin seurantajärjestelmää, jossa ihmiset voivat tutustua talon olosuhteisiin työskennellessään. Olisi vieläkin parempaa, jos joku voisi vain kysyä "joltain" heidän kodistaan työaikana. Tämä voidaan saavuttaa käyttämällä Amazon Alexaa apulaisena, joka voi antaa käyttäjälle tarvittavat tiedot kotistaan.
Ei vain työpaikka käyttäjät voivat tutustua talon kuntoon missä tahansa maailmassa, kunhan heillä on Internet -yhteys ja Amazon Alexa.
Tässä projektissa toteutetaan seuraavat toiminnot:
1) Hallitse kotitalouslaitteita, kuten tuuletinta ja valoa
2) Kertoo laitteiden tilan
3) kertoo talon säätilan (lämpötila ja kosteus)
4) Lähettää tilannekuvan käyttäjälle talon sisätiloista tarvittaessa Gmailin kautta.
5) Lähettää ilmoituksen, jos -
* Tunkeutuja (lähettää myös valokuvan)
* Antaa potkut
* Vieras (lähettää myös valokuvan)
Vaihe 1: Materiaalien kerääminen
Tarvittavat materiaalit
Arduino Uno
ESP8266 Wifi -moduuli
Linkit Smart 7688 Duo
DHT11
Releet
IR -esteanturi
Verkkokamera
Amazon Echo Dot
Leipälauta ja hyppyjohdot
Ohjelmistot ja verkkopalvelut:
Thingspeak.com
Arduino IDE
Amazon Alexa -taitopaketti
Amazon Alexa Echosim.io (taitojen testaamiseen)
Backendless
PushingBox
Vaihe 2: Arduinon ja ESP8266: n ohjelmointi
Lataa Arduino IDE viralliselta verkkosivustolta:
Avaa Arduino IDE ja siirry tiedosto-> asetuksiin-> lisälevynhallinnan URL-tyyppiin-https://arduino.esp8266.com/stable/package_esp8266…
Siirry työkaluihin -> levyt -> Board Manager ja asenna vihdoin löydetty esp8266 -paketti.
Ohjelmoidaksesi arduinoa, kytke USB-kaapeli arduinosta tietokoneeseen ja valitse Arduino/Genuino UNO työkalu-> taulukoista. Varmista myös, että valitset oikeat COM -portit Työkaluissa (COM -portin numero löytyy Laitehallinnasta). Kirjoita vaadittu ohjelma, käännä se ja napsauta lataa, jos virheitä ei ole.
Ohjelmoidaksesi ESP8266, tee liitäntä kaavion mukaisesti. yhdistä usb arduinosta tietokoneeseen. Valitse Työkalut-> kortti-> Yleinen ESP8266 ja valitse myös oikea COM-portti. Kirjoita vaadittu ohjelma, käännä se ja napsauta lataa, jos virheitä ei ole. Varmista, että liität Arduino RST: n GND: hen (arduino toimii ohjelmoijana ESP8266: een).
Tässä projektissa ESP8266 ohjelmoidaan ensin ja piirikytkennät poistetaan. Sitten piiri kytketään uudelleen kuvan "Piiriliitännät" mukaisesti. Ja sitten arduino ohjelmoidaan.
Vaihe 3: Thingspeak.comin määrittäminen
Luo tili osoitteessa thingspeak.com.
käytämme asioiden puhumisen kanavia laitteen ohjaustietojen tallentamiseen ja reitittämiseen arduinoon/Alexaan. tallennamme myös lämpötila- ja kosteusarvot kanaviin. Se on kuin tietojen säilytyspaikka.
Kirjaudu Thingspeakiin, siirry kanaville omat kanavat ja luo uusi kanava. Anna kanavillesi nimi ja kuvaus. Projektissamme tarvitsemme 8 kanavaa (voit tehdä työn käyttämällä vähemmän kanavia, mutta se on hieman monimutkaista ohjelmoinnin aikana). Myös asioiden puhumisella on aikarajoitus kanavan päivittämisessä. Tietyn kanavan peräkkäisten päivitysten välillä on oltava 10-15 sek.
Alla on esitetty kahdeksan kanavaa arvoineen ja merkityksineen
kanavan nimi (arvo1-merkitys, arvo2-merkitys jne.):
1) Laitteen ohjaus (0-valo, 1- valo pois päältä, 2 tuuletin päällä, 3- tuuletin pois päältä)
2) valon tila (0- valo ei pala, 1- valo palaa)
3) tuulettimen tila (0- tuuletin pois päältä, 1 tuuletin päällä)
4) kosteus (kosteuden arvo)
5) lämpötila (lämpötilan arvo)
6) tunkeutumisilmoitus (1- tunkeutumisvaroitus)
7) paloilmoitus (1- palohälytys)
8) vieraan ilmoitus (1- vieraan hälytys)
kun napsautat mitä tahansa kanavaa, näet sen kanavatunnuksen ja kirjoitat API -avaimet API -avaimet -välilehdelle. kanavan tunnus vaaditaan tietojen/ arvon saamiseksi kanavalle. Kirjoitusavain tarvitaan arvon tallentamiseen kanavalle.
http -pyyntö kanavan päivittämiseksi on:
api.thingspeak.com/update?api_key=&field1=
korvataan kanavan vastaavilla kirjoitusavaimilla ja se voi olla (0/1 laitteen ohjaus- tai lämpötila-/kosteusarvojen tapauksessa)
http -pyyntö arvon lukemiseksi kanavalta on:
api.thingspeak.com/channels//field/field1/last.html
korvataan sen kanavan erityisellä kanavatunnuksella, josta haluamme lukea.
Vaihe 4: Ohjelma
Ohjelma on jaettu 3 osaan:
A) Arduinon ohjelma: arduino -ohjelma on hyvin yksinkertainen. Se vastaanottaa tiedot ESP8266: lta sarjassa ja vastaanotettujen tietojen perusteella laitteita ohjataan. Lisätietoja ohjelmasta löytyy itse ohjelman kommenteista.
B) ESP8266 -ohjelma: ESP8266 -ohjelma sisältää kolme asiaa
1) lämpötilan ja kosteuden päivittäminen http -pyynnön avulla
client.print (Jono ("GET") + "/update? key = & field1 =" + kosteus + "HTTP/1.1 / r / n" + "Isäntä:" + isäntä + "\ r / n" + "Yhteys: sulje / r / n / r / n "); // päivitä kosteus
client.print (Jono ("GET") + "/update? key = & field1 =" + lämpötila + "HTTP/1.1 / r / n" + "Isäntä:" + isäntä + "\ r / n" + "Yhteys: sulje / r / n / r / n "); // päivitä lämpötila
korvataan vastaavalla kirjoitusavaimella, joka löytyy asioiden puhekanavasta kosteuden ja lämpötilan osalta. ja isäntä on api.thingspeak.com.
lataa dht-kirjasto:
2) lukeminen vastaavista asioiden puhekanavista ja ohjauslaitteesta saatujen arvojen perusteella: client.print (String ("GET") + "/channels//field/field1/last.html HTTP/1.1 / r / n" + " Isäntä: " + isäntä +" / r / n " +" Yhteys: sulje / r / n / r / n ");
jossa se korvataan vastaavalla kanavan tunnuksella.
3) Hälytyksen lähettäminen korkean lämpötilan sattuessa työntölaatikon kautta
Merkkijono isäntä1 = "api.pushingbox.com";
client.print (Jono ("GET") + "/pushingbox? devid = HTTP/1.1 / r / n" + "Isäntä:" + isäntä1 + "\ r / n" + "Yhteys: sulje / r / n / r / n ");
jossa korvataan laitteen tunnuksella pushboxissa.
Vaihe 5: Linkit Smart 7688 Duo- ja verkkokameran määrittäminen
Tässä projektissa verkkokameraa ja linkit smart 7688 duoa käytetään tarvittavan valokuvan ottamiseen ja lähettämiseen käyttäjälle. Voit myös käyttää arduino -kameramoduulia ja liittää sen arduinoon tai käyttää mitä tahansa IP -kameraa.
Pidä linkit smart 7688 -laitteen wifi -painiketta painettuna 20 sekunnin ajan nollataksesi levyn. Sitten kun wifi -asetus on palautettu, näet sen tukiaseman nimen langattomissa verkkoyhteyksissä. Liitä nyt tietokone kyseiseen verkkoon. Kun olet yhdistänyt sen, avaa selain ja kirjoita 192.168.100.1 osoiteriville. Näet sen portaalin. aseta salasana kirjautuaksesi portaaliin.
Kun olet kirjautunut sisään, siirry Verkko -välilehteen ja valitse Asematila (tarvitsemme sitä (linkit smart 7688 duo) päästäksesi Internetiin) ja yhdistä se Wifi -verkkoon ja paina Määritä ja käynnistä uudelleen.
Kun kortti käynnistettiin uudelleen, sille annetaan paikallinen IP -osoite. Selvitä osoite käyttämällä kaikkia IP -työkaluja tai reitittimen portaalia. Minun tapauksessani se oli 192.168.1.4. Kirjoita nyt paikallinen IP -osoite selaimen osoiteriville. varmista, että tietokone on kytketty samaan verkkoon kuin linkit smart. Sinua pyydetään kirjautumaan uudelleen.
Jos haluat ottaa suoratoiston käyttöön verkkokamerasta, ota käyttöön MJPG-suoratoisto (mjpg-streamer on komentorivisovellus, joka kopioi JPEG-kehykset yhdestä tai useammasta tuloliitännästä useisiin lähtölaajennuksiin). Voit tehdä tämän portaalissa siirtymällä OpenWrt -sijaintiin oikeassa yläkulmassa. sinun täytyy kirjautua uudelleen.
Kun olet kirjautunut sisään, siirry palvelu -välilehdelle ja tarkista-j.webp
Asennuksen jälkeen voit yhdistää verkkokamerasi linkit smart 7688 duo -USB -isäntään OTG -kaapelin kautta. Nyt nähdäksesi Stream avaa selain ja kirjoita: osoiteriville. minun tapauksessani se on 192.168.1.4:4400
Ota pikakuva kirjoittamalla komento:? action = snapshot
Nyt tämä kuva on saatavana paikallisesti, mutta meidän on saatettava tämä käyttöön työntölaatikkopalvelulle. Tämän saavuttamiseksi meidän on tehtävä satamansiirto. Portin edelleenlähetys voidaan tehdä reitittimen portaalissa. Prosessin tunnus on erilainen eri reitittimille. Googlettamalla tiedät, miten voit siirtää tietyn reitittimen eteenpäin. Se on yleensä saatavana NAT -palvelussa. Kun olet siirtänyt portin eteenpäin, voit käyttää tätä porttia (esim. 4440) ulkoiselta IP -osoitteeltasi. Ulkoinen IP -osoite löytyy kirjoittamalla "whats my ip" googleen.
Sinun on annettava tämä osoite
eli.. https://::? action = snapshot
työntölaatikossa (joka selitetään seuraavassa vaiheessa), jotta työntölaatikko voi käyttää tätä kuvaa ja liittää sen sähköpostiin ja lähettää sen sinulle tarvittaessa.
Voit myös tallentaa kuvan sd -kortille, koska Linkit smart 7688 duo sisältää myös SD -korttipaikan tietojen tallentamiseen. Lisätietoja tästä löytyy osoitteesta:
docs.labs.mediatek.com/resource/linkit-sm…
Vaihe 6: PushingBoxin määrittäminen
työntölaatikkoa käytetään lähettämään ilmoituksia projektin eri hälytyksistä gmailiin.
kirjaudu työntölaatikkoon Google -tilillä:
siirry palveluihini lisää palvelu. on monia palveluja, joista valita, kuten Gmail, twitter, push -ilmoitus Androidille jne …
valitse Gmail (koska meidän on lähetettävä valokuva liitteenä) ja täytä asianmukainen gmail -nimen määritys ja sen käyttäjän Gmail -tunnus, jolle hälytys on lähetettävä.
siirry skenaarioihini ja luo uusi skenaario. anna skenaarion nimi (esim. HÄLYTYS) lisää aiemmin luotu palvelu.
kirjoita sopiva aihe ja sähköpostin teksti ja kirjoita URL -osoite ottaaksesi kuvakaappauksen web -kamerasta valokuvan liittämistä varten. Luo erilaisia skenaarioita eri hälytyksille. Api työntölaatikon skenaarion toteuttamiseksi on:
Vaihe 7: Alexa -taidon luominen Backendlessin avulla
backendlessiä käytetään alexa -taidon luomiseen. Se on yksinkertainen vetämällä ja pudottamalla ohjelmointi, jolla luodaan alexa -taito (tai mitä tahansa ohjelmia), joita voidaan käyttää backendless -sovellusliittymän avulla.
Luo tili backendlessissä:
- Kirjaudu tiliisi backendless -tilillä. napsauta Luo sovellus ja anna sovelluksellesi nimi
- Napsauta Business Logic -kuvaketta vasemmalla olevasta kuvakepalkista. Näet API PALVELUT -näytön.
- Luo uusi palvelu napsauttamalla "+" -kuvaketta. Muista valita CODELESS”Uusi palvelu” -ponnahdusikkunasta. Kirjoita palvelun nimeksi “AlexaService”. Napsauta TALLENNA -painiketta:
- Backendless luo sovellusliittymäpalvelun ja pyytää sinua luomaan palvelulle menetelmän. Tämä on tapa käsitellä Alexan pyyntöjä. Kirjoita menetelmän nimeksi "handleRequest". Muista valita POST REST -toiminnolle ja ilmoita argumentti, jonka nimi on "req", ja kirjoita "Mikä tahansa objekti", kuten kuvassa:
- Backendless luo paikkamerkin menetelmän koodittomalle logiikalle. Napsauta EDIT -painiketta aloittaaksesi siirtymisen Codeless Logic Designer -ohjelmaan. Napsauta luodun funktion paikkamerkki -lohkossa aluetta, jossa lukee "doSomething", ja muuta se muotoon "sendAlexaResponse". Tätä toimintoa käytetään saamaan alexa sanomaan jotain, joka voidaan esittää argumenttina. Napsauta SAVE -painiketta, jolloin toiminto tallennetaan.
- Napsauta rataskuvaketta, joka sijaitsee violetissa lohkossa sanan "Toiminto" vieressä. Lisää kaksi argumenttia vetämällä syöttölohkoja alla olevan kuvan mukaisesti. Määritä argumenttien nimet "whatToSay" ja "waitForResponse". Huomaa, että kun lisäät argumentteja, Kontekstilohko -alue täytetään automaattisesti argumenttiarvoja edustavilla lohkoilla.
- Muokkaa toiminnon logiikkaa niin, että se näyttää kuvassa. Luo objekteja -lohkoissa vaihda objektin ominaisuuksien nimeä rataskuvakkeen avulla. Muista tallentaa työsi napsauttamalla TALLENNA -painiketta.
- Nyt kun mukautettu toiminto on rakennettu, vaihda takaisin AlexaService -palvelun handleRequest -menetelmään. Napsauta Mukautetut toiminnot -luokkaa vasemmalla olevasta työkalupalkista ja vedä sendAlexaResponse -lohkoa muodostaaksesi yhteyden palvelumenetelmän paluuliittimeen
- Yllä olevat vaiheet löytyvät myös heidän verkkosivuiltaan:
- Napsauta "Lisää uusi" -solmu Selaimet -osion Toiminnot -kohdassa. Napsauta luodun funktion paikkamerkki -lohkossa aluetta, jossa lukee "doSomething", ja vaihda se tilaan "getIntentName", muokkaa lohkoja niin, että toiminto näyttää kuvasta. saa tarkoituksen nimen näytteen lausuntojen perusteella. Palaa takaisin apipalveluihin-> käsittele pyyntö selaimen osiossa. Muuttujat ja logiikka luodaan järjestelmäosasta. Luo seuraavat kuvissa näkyvät muuttujat.
- seuraavaksi tallennamme aikomuksen nimen pyytämään muuttujaa. Ja sitten vertaa tarkoituksiin. jos esimerkiksi pyyntö on "esittely", vastausmuuttujaksi on asetettu "hei! Voin hallita ……." ja Alexa lukee vihdoin tämän vastauksen ääneen. muokkaa lohkoa kuvan osoittamalla tavalla.
- jos pyyntö on LightsOn -tarkoitus, päivitämme asioiden puhekanavan arvoon 0 käyttämällä http get -pyyntöä ja samalla päivitämme laitteen tilan (1/0 riippuen Päälle/Pois -tilasta). Sama toistetaan LightsOff, FanOn ja FanOff.
- Säästä luemme lämpötila- ja kosteuskanavasta ja tallennamme tuloksen vastausmuuttujaan. Koska kanava antaa vain arvoja, lisäämme tekstejä vastauksen merkityksellisyyden lisäämiseksi
- tilannekuvaa olohuoneesta suoritamme työntölaatikon skenaarion
- laitteen tilan osalta luemme tietoja asioiden puhumiskanavalta:
- ilmoituksia ja hälytyksiä varten, jotka luemme hälytyskanavilta (palo, tunkeilija ja vieras):
- Ilmoituskentästä saamiemme arvojen perusteella vastaavat hälytysviestit tallennetaan vastausmuuttujaan. jos ilmoitusta ei ole, ilmoitusviestiä ei tallenneta.
- kun ilmoitus on luettu, "0" päivitetään ilmoituskanavissa niin, että alexa ei lue samaa ilmoitusta uudelleen. Sitten vihdoin pyynnön perusteella vastaus0/vastausmuuttuja luetaan ääneen.
Vaihe 8: Alexa Skillin määrittäminen Amazon -kehittäjäkonsolissa:
Siirry Amazon -kehittäjäkonsoliin ja kirjaudu sisään Amazon -tilin avulla.
Siirry kehittäjäkonsoliin ja napsauta ALEXA -välilehteä. Aloita napsauttamalla alexa -taitopakettia.
luoda mukautetun taitotyypin, antaa taidolle nimen ja kutsumanimen. vastaavat aikomukset ja näytelausunnot annetaan koodissa.
valitse määritysvälilehdessä palvelun päätepistetyypiksi HTTPS ja täytä oletus -URL -osoite API -URL -osoitteella backendless -palvelusta. Valitse SSL -varmenteen oletuspäätepisteen varmenteen toinen vaihtoehto. Voit myös testata taitosi testisimulaattorin avulla.
Kun testi on valmis, voit julkaista taidon tarvittavilla julkaisutiedoilla.
Vaihe 9: Lopullinen asennus ja viimeistely
Tee piiriliitäntä kuvan osoittamalla tavalla.
Joskus ESP8266 toimii virheellisesti riittämättömän virran takia. Joten, vaikka se on mainittu piirissä, on suositeltavaa käyttää ESP8266 -laitetta erillisestä 3,3 voltin lähteestä. Jos käytät virtapankkia, alenna jännite 5 voltista 3,3 volttiin käyttämällä 3,3 voltin jännitesäädintä. Lataa ohjelma ESP8266: een ja arduinoon. Olen osoittanut yhteyden polttimoon, sama asia voidaan laajentaa tuulettimeen tai mihin tahansa laitteeseen. Käytä lopuksi amazon echo tai echosim.io testataksesi taitosi.
Sinun täytyy aktivoida taito käyttämällä kutsunimeä (kuten minun tapauksessani - "myhome"). Joskus se ei toimi, jos sitä käytetään ilman kutsumanimeä, kuten olen näyttänyt pari kertaa videossani
Toivottavasti pidit opetusohjelmasta!
Kiitos!
Suositeltava:
Älykkään kodin tekeminen Arduino -ohjausrelemoduulin avulla - Koti -automaatioideoita: 15 vaihetta (kuvilla)
Kuinka tehdä älykäs koti Arduino -ohjausrelemoduulin avulla | Koti -automaatioideoita: Tässä kodin automaatioprojektissa suunnittelemme älykkään kodin relemoduulin, joka voi ohjata 5 kodinkonetta. Tätä relemoduulia voidaan ohjata matkapuhelimella tai älypuhelimella, infrapunakaukosäätimellä tai television kaukosäätimellä, manuaalisella kytkimellä. Tämä älykäs rele voi myös havaita
Valon/kotivalojen hallinta Arduinon ja Amazon Alexan avulla: 16 vaihetta (kuvilla)
Valon/kotivalojen hallitseminen Arduinon ja Amazon Alexan avulla: Olen selittänyt, kuinka ohjata UNO: hon kytkettyä ja Alexan ohjaamaa valoa
Puheohjattu kytkin Alexan ja Arduinon avulla: 10 vaihetta (kuvilla)
Ääniohjattu kytkin Alexan ja Arduinon avulla: Tämän projektin päätavoitteena on käyttää lämpötila -anturia ohjaamaan kytkintä (relettä) laitteen kytkemiseksi päälle tai pois päältä. 4,2 dollaria Arduino uno == > 8 dollarin DHT11 -lämpötila -anturi == > 3 dollarin ESP8266 -moduuli
Älykkään kodin termostaatti: 4 vaihetta
Älykkään kodin termostaatti: Älykkään kodin termostaattimme on ohjelma, joka voi automaattisesti säästää kotitalouden rahaa sähkölaskuissa henkilön mieltymysten perusteella
DIY -ääni-/Internet -ohjattu kodin automaatio ja valvonta ESP8266: n ja Google Home Minin avulla: 6 vaihetta
DIY -ääni-/Internet -ohjattu kodin automaatio ja valvonta ESP8266: n ja Google Home Minin avulla: Hei !! Pitkän tauon jälkeen olen täällä, koska meidän kaikkien on tehtävä jotain tylsää (työtä) ansaitaksemme. Kaikkien HOME AUTOMATION -artikkelien jälkeen, jotka olen kirjoittanut BLUETOOTH, IR, Local WIFI, Cloud eli vaikeista, * NYT * tulee helpoin mutta tehokkain