Sisällysluettelo:

IOT CA2 Secure Smart Home/Room: 8 vaihetta
IOT CA2 Secure Smart Home/Room: 8 vaihetta

Video: IOT CA2 Secure Smart Home/Room: 8 vaihetta

Video: IOT CA2 Secure Smart Home/Room: 8 vaihetta
Video: 7 Cool Smart Home & Gadgets You Must Have 2024, Heinäkuu
Anonim
IOT CA2 Secure Smart Home/Huone
IOT CA2 Secure Smart Home/Huone
IOT CA2 Secure Smart Home/Huone
IOT CA2 Secure Smart Home/Huone

Sisällysluettelo

1 Yleiskatsaus Smart Secure Homeen

2 Laitteistovaatimukset + asennus

3 Ohjelmistovaatimukset + asennus

4 Rekisteröi raspberrypi asiaksi

5 Luo S3 -ämpäri

6 DynamoDB -asennus + säännöt

7 Odotettu tulos

8 koodia (Pastebinista)

9 Viitteet

Yleiskatsaus

Tervetuloa! Tämä Raspberry Pi -projekti on "älykkään kodin" hallintajärjestelmä, jolla on tiettyjä turvallisuusominaisuuksia. Projekti pystyy mittaamaan erilaisia arvoja, kuten lämpötilaa ja valoa. Turvaosa koostuu summerista, kortinlukijajärjestelmästä (valtuuttaa kortin), sisä- ja ulkokamerasta sekä SMS -hälytysjärjestelmästä. Seuraavat ohjeet kattavat koko projektin asennuksen.

Periaatteessa meillä on valodiodivastus ja DHT11 -anturi lämpötilan ja valoarvojen saamiseksi. Arvot julkaistaan sitten "smartroom/sensorit/arvot" -osiossa, ja aiheen tilaaja tarkistaa, julkaistaanko arvot. Kun arvot on julkaistu, arvot lähetetään myös DynamoDB -taulukkoomme. DynamoDB: hen tallennetut arvot voidaan poimia ja piirtää kaavioon, joka näyttää reaaliaikaiset arvot verkkokäyttöliittymässämme. (Valokuvaaja) Sen lisäksi, että dht11 -anturiamme käytetään antureiden avulla arvojen hahmottamiseen analyysitarkoituksiin, sitä käytetään myös potentiaalisena "paloilmaisimena". Kun se saavuttaa tietyn lämpötilan, joka voi olla tulipalo, meillä on komentosarja, jonka nimi on publisHeat.py, joka julkaisee lämpötilan aiheeseen 'smartroom/sensor/fire', asunnon ulkopuolta symboloiva leipälauta tilaa sen. aiheeseen ja sytytä LED -valo, joka ilmaisee mahdollisen tulipalon. Hälytys sammuu samoin kuin tekstiviesti, joka varoittaa kodin omistajaa mahdollisesta tulipalosta.

Päästäkseen kotiin/huoneeseen käyttäjän on napautettava korttiaan RFID -skannerissa. Jos napautettu kortti on väärä, hälytys soi, kunnes korttia, jolla on oikeat tunnistetiedot, napautetaan. Lisäksi kun väärää korttia napautetaan, sen ulkopuolella oleva valvontakamera ottaa kuvan kortin napauttaneesta käyttäjästä ja lähettää kuvan S3 -ämpäriin. Kodin omistaja saa myös tekstiviestin, jossa kerrotaan, että joku yritti päästä hänen kotiinsa. Huoneessa on myös LED -merkkivalo, joka osoittaa, jos ovi on auki/lukittu. Kun ovi on lukittu, keltainen LED palaa. Kun lukitus on auki, vihreä LED palaa. Kun valtuutettua korttia napautetaan, oven lukitus avataan 15 sekunniksi ja vihreä LED palaa sitten takaisin lukitsemattomaan tilaan keltaisen LED -valon palaessa.

Käyttäjät voivat tarkastella kojelaudan kautta kerättyjä tietoja solmunpunaisena, joka näyttää nykyiset mittausarvot mittarin ja historiallisen kaavion graafisen esityksen lisäksi. Kojelauta sisältää myös lisäominaisuuksia, kuten kellon, joka näyttää nykyiset tiedot ja ajan, ja kytkee eri sähkölaitteiden kauko -ohjaukseen, joita edustavat LEDit ja summeri.

Lopuksi meillä on myös sähke bot -ominaisuus. Sähkebotti voi ottaa etänä kuvia kaikesta, mitä huoneessa tapahtuu, ja tallentaa sen S3 -ämpäriin. Nämä kuvat merkitään kansioon nimeltä "Homed/User" Sähkebotti voi ohjata myös huoneen LED -valoa etänä.

Vaihe 1: Laitteistovaatimukset + asennus

Laitteistovaatimukset + asennus
Laitteistovaatimukset + asennus
Laitteistovaatimukset + asennus
Laitteistovaatimukset + asennus

Liitä seuraavat komponentit kahteen vadelmakukkiisi yllä olevien kuohutuskaavioiden mukaisesti.

2 x Raspberry Pi

3 x leipälauta

1 x MCP3008 ADC

1 x DhT 11 -anturi

1 x LDR

1 x RFID/NFC MFRC522 -kortinlukija

4 x LED

1 x LCD -näyttö

3 x 10k vastus

4 x 220/330 vastus

1 x painike

1 x summeri

34 x Uros -uros -kaapelit

11 x uros -naaraskaapelit

Vaihe 2: Ohjelmistovaatimukset + asennus

Ohjelmistovaatimukset + asennus
Ohjelmistovaatimukset + asennus
Ohjelmistovaatimukset + asennus
Ohjelmistovaatimukset + asennus
Ohjelmistovaatimukset + asennus
Ohjelmistovaatimukset + asennus

Kirjoita seuraavat komennot raspberry pi -päätteeseesi varmistaaksesi, että ne on asennettu.

Jos jokin seuraavista ohjelmistoista on jo ladattu pi -laitteeseesi, sudo pip install (Ohjelmiston nimi) --upgrade päivittää sen.

- sudo pip -asennus

- sudo pip -asennuspullo

- sudo pip asenna nexmo

-sudo pip install --upgrade --force-reinstall pip == 9.0.3

-sudo pip install AWSIoTPythonSDK-päivitys --disable-pip-version-check

-sudo pip install -päivitä pip

-sudo apt-get install python-dev

- sudo pip asenna boto3

- sudo pip asenna botocore

- sudo pip asennus numpy

- cd ~

git-klooni

cd ~/SPI-Py

sudo python setup.py install"

- cd ~

git-klooni

cd ~/MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, tarkista onko rivit device_tree_param = spi = päällä

dtoverlay = spi-bcm2835 ovat sisällä, muut lisää sisään.

Vaihe 3: Rekisteröi asia

Asian rekisteröinti
Asian rekisteröinti
Asian rekisteröinti
Asian rekisteröinti
Asian rekisteröinti
Asian rekisteröinti
Asian rekisteröinti
Asian rekisteröinti

a) Siirry ensin AoWS -sivuston IoT Coreen napsauttamalla palveluita ja sitten IoT Core.

b) Valitse hallinnoitavasta navigointipalkista asioita ja rekisteröi asia.

c) Valitse Luo yksi asia.

d) Anna tavarallesi nimi, esimerkiksi MyRaspberryPi2. Jätä muut kentät oletusarvoihinsa. Napsauta seuraavaksi sivun alalaidassa.

e) Napsauta Luo varmenne. Lataa kaikki neljä tiedostoa. Lataa CA -juuritiedosto Amazon Root CA 1 ja tallenna se muistilehtiöön.

f) Kun olet valmis, siirrä neljä tiedostoa Raspberry pi -hakemistoon.

g) Napsauta aktivoi.

h) Kun olet napsauttanut liitteenä olevaa käytäntöä, sinut ohjataan seuraavalle sivulle. Napsauta rekisteröi asia, käytäntö luodaan myöhemmin.

i) Siirry iot -hallintapaneelissa suojatun osion käytäntöihin. Valitse Luo käytäntö.

j) Kirjoita käytännöllesi nimi, tässä esimerkissä se on MyRaspberryPiSecurityPolicy ja kirjoita seuraava kohtaan Lisää lausuntoja. Napsauta sitten Luo.

k) Siirry iot -hallintapaneelissa suojattujen osioiden varmenteisiin. Valitse aiemmin luomasi varmenne ja napsauta toimintojen pudotusvalikosta liitä käytäntö. Liitä aiemmin luomasi käytäntö.

l) Valitse aiemmin luomasi varmenne uudelleen ja napsauta liitä asia. Liitä aiemmin luomasi käytäntö. Liitä aiemmin luomasi asia.

Vaihe 4: S3 -kauhan luominen

S3 -kauhan luominen
S3 -kauhan luominen
S3 -kauhan luominen
S3 -kauhan luominen
S3 -kauhan luominen
S3 -kauhan luominen
S3 -kauhan luominen
S3 -kauhan luominen

a) Aloitamme käyttämällä AWS -hallintakonsolin hakutoimintoa ja etsimällä”s3”.

b) Napsauta Luo ämpäri.

c) Kirjoita kauhan nimi. Tässä esimerkissä käytämme nimeä “sp-p1703263”. Valitsemme alueen "US EAST (N. VIRGINIA)", joka on us-east-1. Kun olet valmis, napsauta Luo.

d) Uusi luotu ämpäri näkyy kojelaudassa.

Vaihe 5: DynamoDB -taulukon ja -sääntöjen luominen

DynamoDB -taulukon ja -sääntöjen luominen
DynamoDB -taulukon ja -sääntöjen luominen
DynamoDB -taulukon ja -sääntöjen luominen
DynamoDB -taulukon ja -sääntöjen luominen
DynamoDB -taulukon ja -sääntöjen luominen
DynamoDB -taulukon ja -sääntöjen luominen
DynamoDB -taulukon ja -sääntöjen luominen
DynamoDB -taulukon ja -sääntöjen luominen

a) Siirry ensin AWS -palveluihin napsauttamalla

palvelut, sitten DynamoDB. Napsauta Luo taulukko.

b) Kirjoita taulukon nimi "iotdata" ja ensisijainen avain "deviceid" lajittelunäppäimellä "datetimes" ja napsauta sitten sivun alareunassa Luo.

c) Siirry sen jälkeen takaisin IoT Core -sivulle. Napsauta Act ja sitten Luo uusi sääntö.

d) Luo sääntö nimellä”MyDynamoDBRule”. Kirjoita säännön kyselylausekkeen aiheen alle "anturit/valo".

e) Napsauta Aseta yksi tai useampi toiminto -osiossa Lisää toiminto ja napsauta "Jaa viesti tietokantataulukon useaan sarakkeeseen". Napsauta määritä toiminto. Valitse taulukon nimen alta iotdata. Valitse IAM -roolin nimen alta aiemmin luomasi rooli, joka on dynamodb_role. Napsauta Lisää toiminto ja luo sääntö.

f) Napsauta Luo sääntö.

Vaihe 6: Odotettu tulos

Odotettu lopputulos
Odotettu lopputulos
Odotettu lopputulos
Odotettu lopputulos

Ulkoilu

huoneen ulkoa edustavalle pi: lle suoritetaan komentosarjat heatdetector.py ja AccessDoor.py. Jos virheellinen kortti napauttaa RFID -skanneria, hälytys soi ja keltainen LED -valo palaa edelleen. Kodin omistajan puhelimeen lähetetään tekstiviesti mahdollisesta tunkeutumisesta. Hälytys kuuluu myös. Myös kuva otetaan ja ladataan välittömästi S3 Bucketiin. Jos napautettu kortti on hyväksytty, vihreä LED -valo syttyy ja käyttäjä voi päästä sisään. Ovi lukitaan uudelleen 15 sekunnin kuluttua (vihreä LED sammuu ja keltainen LED palaa uudelleen). Jos huoneen/kodin lämpötila nousee liian korkeaksi (lämpötilaksi, jonka katsomme kodiksi/huoneeksi mahdollisesti tuleen), lähetämme tekstiviestin varoituksen kodin omistajalle. Hälytys kuuluu myös, kun punainen LED -valo palaa ulkona.

Sisätiloissa

huoneen sisätiloja edustavalle pi: lle suoritetaan komentosarjat publisHeat.py, server.py, pubsub.py, telegrambot.py. Pubsub.py tallentaa reaaliaikaiset arvot DynamoDB: hen. Kun server.py suoritetaan, kirjoita selaimeen rpi: n ip -osoite: 5000, sinut ohjataan verkkokäyttöliittymään. Meillä on kaavio, joka näyttää reaaliaikaiset valoarvot, jotka on saatu pubsub.py -antureistamme DynamoDB: hen. Lisäksi historialliset valoarvot näkyvät myös verkkokäyttöliittymässämme. publicHeat.py julkaisee lämpötila -arvot ulkoleipälevylle palotunnistimia varten. telegrambot.py avulla käyttäjä voi etäohjata huoneessa/kodissa olevan LED -valon päälle/pois päältä sekä ottaa kuvan siitä, mitä sisällä tapahtuu, ja ladata kuvan S3 -ämpäriin.

Paremman visualisoinnin siitä, miltä odotetun tuloksen pitäisi näyttää:

Vaihe 7: Lähdekoodit (Pastebin)

Lähdekoodit (Pastebin)
Lähdekoodit (Pastebin)

Napsauta linkkiä. Sisältää kaikki tarvittavat lähdekoodit:

Vaihe 8: Viitteet

Viitteet
Viitteet

Iotguider. (2019). Lähetä tekstiviesti Raspberry Pi: ltä Pythonin avulla. [verkossa] Saatavilla osoitteessa: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Käytetty 21. elokuuta 2019].

Suositeltava: