Innehållsförteckning:

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

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

Video: IOT CA2 Secure Smart Home/Room: 8 steg
Video: My Smart Home Tour (2021) 2024, November
Anonim
IOT CA2 Secure Smart Home/Room
IOT CA2 Secure Smart Home/Room
IOT CA2 Secure Smart Home/Room
IOT CA2 Secure Smart Home/Room

Innehållsförteckning

1 Översikt över Smart Secure Home

2 Hårdvarukrav + installation

3 Programvarukrav + installation

4 Registrera raspberrypi som en sak

5 Skapa en S3 -hink

6 DynamoDB -inställning + regler

7 Förväntat utfall

8 koder (från Pastebin)

9 Referenser

Översikt

Välkommen! Detta Raspberry Pi -projekt är ett "smart home" -hanteringssystem med vissa säkerhetsfunktioner. Projektet kan mäta olika värden som temperatur och ljus. Säkerhetsdelen består av en summer, ett kortskannersystem (Auktoriserar kort), en inomhus- och utomhuskamera samt ett SMS -varningssystem. Följande instruktioner kommer att täcka uppläggningen av hela projektet.

I grund och botten har vi ett ljusdiodmotstånd och en DHT11 -sensor för att få såväl temperatur som ljusvärden. Värdena publiceras sedan till ‘smartroom/sensorer/värden’ och det kommer att prenumerera på ämnet för att kontrollera om värdena publiceras. När värden har publicerats kommer värdena också att skickas till vår DynamoDB -tabell. De värden som lagras i DynamoDB kan extraheras och plottas in i en graf som visar realtidsvärden i vårt webbgränssnitt. (Ljusgraf) Förutom att använda sensorerna för att få värden att plotta vårt diagram för analysändamål, används vår dht11 -sensor också som en potentiell "brand" -detektor. När det träffar en viss temperatur som kan vara en brand har vi ett manus som heter publishHeat.py som publicerar temperaturen till ett ämne 'smartroom/sensor/fire', brödbrädan som symboliserar utsidan av lägenheten kommer sedan att prenumerera på det ämnet och ha en LED -lampa tänd för att indikera att det kan finnas en potentiell brand. Larmet går också, liksom ett SMS för att varna husägaren när det kan uppstå en brand.

För att komma in i hemmet/rummet måste användaren knacka på sitt kort i RFID -skannern. Om det avlyssnade kortet är felaktigt ljuder larmet tills ett kort med rätt inloggningsuppgifter är avtryckt. Dessutom, när ett felaktigt kort trycks, kommer övervakningskameran utanför att ta en bild av användaren som knackade på kortet och ladda upp bilden till S3 -hinken. Husägaren får också ett SMS om att någon försökte komma in i hans/hennes hem. Rummet har också en LED -indikator utanför för att märka om dörren är olåst/låst. När dörren är låst lyser den gula lysdioden. När den är upplåst tänds den gröna lysdioden. När ett auktoriserat kort knackas på kommer dörren att låsas upp i 15 sekunder och med den gröna lysdioden tänd och sedan återgå till upplåst läge med den gula lysdioden tänd.

Användare kan se data som samlats in via en instrumentpanel i Node-Red som visar de aktuella mätvärdena utöver en grafisk representation av en mätare och en historisk graf. Instrumentpanelen innehåller också ytterligare funktioner som en klocka som visar aktuell data och tid och växlar för att fjärrstyra olika elektriska apparater, som representeras som lysdioder och en summer.

Slutligen har vi också en telegram bot -funktion. Telegramboten kan på distans ta bilder av allt som händer i rummet och lagra det i S3 -hinken. Dessa bilder kommer att märkas med en mapp med namnet “Hemma/användare Telegramboten kommer också att kunna fjärrstyra LED -lampan i rummet.

Steg 1: Maskinvarukrav + installation

Maskinvarukrav + installation
Maskinvarukrav + installation
Maskinvarukrav + installation
Maskinvarukrav + installation

Anslut följande komponenter med dina 2 hallonpisar som visas i fritzdiagrammen ovan.

2 x hallon Pi

3 x brödbräda

1 x MCP3008 ADC

1 x DhT 11 -sensor

1 x LDR

1 x RFID/NFC MFRC522 kortläsare

4 x LED

1 x LCD -skärm

3 x 10k motstånd

4 x 220/330 motstånd

1 x knapp

1 x summer

34 x Man till han kabel

11 x Man till honkablar

Steg 2: Programvarukrav + installation

Programvarukrav + installation
Programvarukrav + installation
Programvarukrav + installation
Programvarukrav + installation
Programvarukrav + installation
Programvarukrav + installation

Skriv följande kommandon i din hallon Pi -terminal för att säkerställa att de är installerade.

Om någon av följande programvara redan har laddats ner till din pi kommer sudo pip install (programvarunamn) -uppgraderingen att göra tricket med att uppdatera den.

- sudo pip installera gevent

- sudo pip installera kolv

- sudo pip installera nexmo

-sudo pip installera-uppgradera-tvinga ominstallera pip == 9.0.3

-sudo pip installera AWSIoTPythonSDK-uppgradera --disable-pip-version-check

-sudo pip install -uppgradera pip

-sudo apt-get install python-dev

- sudo pip installera boto3

- sudo pip installera botocore

- sudo pip installera numpy

- cd ~

git-klon

cd ~/SPI-Py

sudo python setup.py installera"

- cd ~

git-klon

cd ~/MFRC522-python

sudo python setup.py installera"

- sudo nano /boot/config.txt, kontrollera om rader device_tree_param = spi = på

dtoverlay = spi-bcm2835 är inuti, annars lägg till.

Steg 3: Registrera en sak

Registrera en sak
Registrera en sak
Registrera en sak
Registrera en sak
Registrera en sak
Registrera en sak
Registrera en sak
Registrera en sak

a) Navigera först till IoT Core inom AWS -webbplatsen genom att klicka på tjänster och sedan på IoT Core.

b) I navigeringsfältet under hantera, välj saker och välj registrera en sak.

c) Välj Skapa en enda sak.

d) Ange ett namn på din sak, till exempel MyRaspberryPi2. Lämna resten av fälten med sina standardvärden. Klicka på nästa längst ner på sidan.

e) Klicka på skapa certifikat. Ladda ner alla fyra filerna. För root -CA -filen, ladda ner Amazon Root CA 1 och spara den i en anteckningsblock.

f) När du är klar flyttar du de fyra filerna till en katalog i hallon pi.

g) Klicka på aktivera.

h) Efter att ha klickat på bifoga -policyn kommer du till följande sida. Klicka på registrera sak, policyn skapas senare.

i) På iot -instrumentpanelen navigerar du till policyer under det säkra avsnittet. Klicka på skapa en policy.

j) Ange ett namn för din policy, för detta exempel kommer det att vara MyRaspberryPiSecurityPolicy och ange följande under Lägg till uttalanden. Klicka sedan på Skapa.

k) Navigera till certifikat under säkerhetsavsnittet på iot -instrumentpanelen. Välj det certifikat du skapade tidigare och klicka på bifoga policy från rullgardinsmenyn. Bifoga policyn du skapade tidigare.

l) Välj det certifikat du skapade tidigare igen och klicka på bifoga sak. Bifoga policyn du skapade tidigare. Bifoga det du skapade tidigare.

Steg 4: Skapa en S3 -hink

Skapa en S3 -hink
Skapa en S3 -hink
Skapa en S3 -hink
Skapa en S3 -hink
Skapa en S3 -hink
Skapa en S3 -hink
Skapa en S3 -hink
Skapa en S3 -hink

a) Vi börjar med att använda sökfunktionen i AWS -hanteringskonsolen och söker efter “s3”.

b) Klicka på skapa hink.

c) Skriv in ett namn för skopan. I det här exemplet kommer vi att använda namnet "sp-p1703263". Vi kommer att välja regionen "US EAST (N. VIRGINIA)" som är us-east-1. När det är klart klickar du på Skapa.

d) Den nya skapade hinken visas i instrumentpanelen.

Steg 5: Skapa DynamoDB -tabell och ställ in regler

Skapa DynamoDB -tabell och ställ in regler
Skapa DynamoDB -tabell och ställ in regler
Skapa DynamoDB -tabell och ställ in regler
Skapa DynamoDB -tabell och ställ in regler
Skapa DynamoDB -tabell och ställ in regler
Skapa DynamoDB -tabell och ställ in regler
Skapa DynamoDB -tabell och ställ in regler
Skapa DynamoDB -tabell och ställ in regler

a) Navigera först till AWS -servicer genom att klicka på

tjänster, sedan DynamoDB. Klicka på skapa tabell.

b) Ange tabellnamnet "iotdata" och huvudnyckeln "deviceid" med en sorteringsnyckel "datetimeid", klicka sedan på skapa längst ner på sidan.

c) Därefter navigerar du tillbaka till IoT Core -sidan. Klicka på Act och klicka sedan på skapa en ny regel.

d) Skapa en regel med namnet “MyDynamoDBRule”. Under ämnet regelfrågeställning anger du "sensorer/ljus".

e) Under Ange en eller flera åtgärder, klicka på lägg till åtgärd, klicka på "dela meddelande i flera kolumner i en databastabell". Klicka på konfigurera åtgärd. Välj tabellnamn iotdata. Under IAM -rollnamn väljer du den roll du skapade tidigare som är "dynamodb_role". Klicka på lägg till åtgärd och skapa sedan regel.

f) Klicka på skapa regel.

Steg 6: Förväntat resultat

Förväntat resultat
Förväntat resultat
Förväntat resultat
Förväntat resultat

Utomhus

för pi som representerar utomhus i rummet kommer scripten heatdetector.py och AccessDoor.py att köras. Om ett felaktigt kort knackar på RFID -skannern går larmet ut och den gula lysdioden lyser fortfarande. Ett SMS kommer att skickas till husägarens telefon för att meddela om ett eventuellt intrång. Larmet hörs också. En bild kommer också att tas och laddas upp direkt till S3 Bucket. Om det avlyssnade kortet är godkänt tänds den gröna lysdioden och användaren kan gå in. Dörren låses igen efter 15 sekunder (grön lysdiod släcks och gul lysdiod lyser igen). Om temperaturen inne i rummet/hemmet blir för hög (till en temperatur som vi anser vara hemma/rum som potentiellt brinner) skickar vi ett SMS -meddelande till husägaren. Larmet kommer också att höras när den röda lysdioden lyser utanför.

Inomhus

för pi som representerar inomhus i rummet kommer scripten publishHeat.py, server.py, pubsub.py, telegrambot.py att köras. Pubsub.py lagrar realtidsvärdena i DynamoDB. När server.py körs, skriv in rpi: s ip -adress: 5000 i webbläsaren, du kommer att skickas till vårt webbgränssnitt. Vi har en graf som visar ljusvärden i realtid från våra sensorer i pubsub.py till DynamoDB. Dessutom kommer historiska ljusvärden också att visas i vårt webbgränssnitt. publishHeat.py kommer att publicera temperaturvärden till utomhusbrödbrädan för brandsensorändamål. telegrambot.py gör det möjligt för användaren att fjärrstyra på/av LED -lampan i rummet/hemmet samt ta en bild av vad som händer inuti och ladda upp bilden till S3 -hinken.

För bättre visualisering av hur det förväntade resultatet ska se ut:

Steg 7: Källkoder (Pastebin)

Källkoder (Pastebin)
Källkoder (Pastebin)

Klicka på länken. Består av alla nödvändiga källkoder:

Steg 8: Referenser

Referenser
Referenser

Iotguider. (2019). Skicka SMS från Raspberry Pi med Python. [online] Tillgänglig på: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Åtkomst 21 augusti 2019].

Rekommenderad: