Πίνακας περιεχομένων:

IOT CA2 Secure Smart Home/Room: 8 Βήματα
IOT CA2 Secure Smart Home/Room: 8 Βήματα

Βίντεο: IOT CA2 Secure Smart Home/Room: 8 Βήματα

Βίντεο: IOT CA2 Secure Smart Home/Room: 8 Βήματα
Βίντεο: 10 Coolest Smart Home Gadgets That Will Take Your Home to The Future 2024, Ιούλιος
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

Πίνακας περιεχομένων

1 Επισκόπηση του Smart Secure Home

2 Απαιτήσεις υλικού + Ρύθμιση

3 Απαιτήσεις λογισμικού + Ρύθμιση

4 Καταχωρίστε το raspberrypi ως αντικείμενο

5 Δημιουργήστε έναν κάδο S3

6 Ρύθμιση DynamoDB + Κανόνες

7 Αναμενόμενο αποτέλεσμα

8 κωδικοί (από το Pastebin)

9 Παραπομπές

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Καλως ΗΡΘΑΤΕ! Αυτό το έργο Raspberry Pi είναι ένα σύστημα διαχείρισης "έξυπνου σπιτιού", με ορισμένες δυνατότητες ασφαλείας. Το έργο είναι σε θέση να μετρήσει διάφορες τιμές όπως θερμοκρασία και φως. Το τμήμα ασφαλείας αποτελείται από ένα Buzzer, ένα σύστημα σάρωσης καρτών (Authorizes card), μια εσωτερική και εξωτερική κάμερα καθώς και ένα σύστημα ειδοποίησης SMS. Οι παρακάτω οδηγίες θα καλύψουν τη ρύθμιση ολόκληρου του έργου.

Βασικά, έχουμε μια αντίσταση διόδου φωτός και έναν αισθητήρα DHT11 για να λάβουμε τη θερμοκρασία καθώς και τις τιμές φωτός. Στη συνέχεια, οι τιμές θα δημοσιευτούν στο «έξυπνο δωμάτιο/αισθητήρες/τιμές» και θα υπάρχει μια συνδρομή στο θέμα για να ελέγξετε εάν οι τιμές δημοσιεύονται. Μόλις δημοσιευτούν τιμές, οι τιμές θα σταλούν επίσης στον πίνακα DynamoDB. Οι τιμές που είναι αποθηκευμένες στο DynamoDB μπορούν να εξαχθούν και να γραφτούν σε ένα γράφημα που εμφανίζει τιμές πραγματικού χρόνου στη διεπαφή ιστού μας. (Γράφημα φωτός) Εκτός από τη χρήση των αισθητήρων για τη λήψη τιμών για την απεικόνιση του γραφήματος μας για σκοπούς ανάλυσης, ο αισθητήρας dht11 χρησιμοποιείται επίσης ως πιθανός ανιχνευτής "πυρκαγιάς". Όταν χτυπήσει μια ορισμένη θερμοκρασία που μπορεί να είναι πυρκαγιά, έχουμε ένα σενάριο που ονομάζεται publ. Heat.py που θα δημοσιεύει τη θερμοκρασία σε ένα θέμα «έξυπνο δωμάτιο/αισθητήρας/φωτιά», το ψωμί που συμβολίζει το εξωτερικό του διαμερίσματος θα εγγραφεί στη συνέχεια σε αυτό θέμα και ανάψτε μια λυχνία LED για να δείξει ότι μπορεί να υπάρχει πιθανή πυρκαγιά. Ο συναγερμός θα χτυπήσει επίσης καθώς και ένα SMS για να ειδοποιήσετε τον ιδιοκτήτη του σπιτιού όταν μπορεί να προκληθεί πυρκαγιά.

Για να εισέλθει στο σπίτι/δωμάτιο, ο χρήστης θα πρέπει να πατήσει την κάρτα του στο σαρωτή RFID. Εάν η κάρτα που χτυπήθηκε είναι λανθασμένη, ο συναγερμός θα ηχήσει μέχρι να ακουστεί μια κάρτα με τα σωστά διαπιστευτήρια. Επιπλέον, όταν ακουστεί μια λανθασμένη κάρτα, η κάμερα παρακολούθησης έξω θα τραβήξει μια φωτογραφία του χρήστη που πάτησε την κάρτα και θα ανεβάσει την εικόνα στον κάδο S3. Ο ιδιοκτήτης του σπιτιού θα λάβει επίσης ένα SMS που δηλώνει ότι κάποιος προσπάθησε να εισέλθει στο σπίτι του. Το δωμάτιο διαθέτει επίσης μια ενδεικτική λυχνία LED έξω για να επισημάνει εάν η πόρτα είναι ξεκλείδωτη/κλειδωμένη. Όταν η πόρτα είναι κλειδωμένη, ανάβει η κίτρινη λυχνία LED. Όταν ξεκλειδωθεί, θα ανάψει η πράσινη λυχνία LED. Όταν πατήσετε μια εξουσιοδοτημένη κάρτα, η πόρτα θα ξεκλειδωθεί για 15 δευτερόλεπτα και με το πράσινο LED αναμμένο, στη συνέχεια θα επιστρέψετε σε λειτουργία ξεκλειδώματος με το κίτρινο LED αναμμένο.

Οι χρήστες μπορούν να δουν τα δεδομένα που συλλέγονται μέσω ενός Πίνακα ελέγχου σε Κόμβο-Κόκκινο που δείχνει τις τρέχουσες τιμές μέτρησης εκτός από μια γραφική αναπαράσταση ενός μετρητή και ενός ιστορικού γραφήματος. Ο Πίνακας ελέγχου περιλαμβάνει επίσης πρόσθετες δυνατότητες, όπως ρολόι που εμφανίζει τα τρέχοντα δεδομένα και χρόνο και αλλάζει για τον τηλεχειρισμό διαφόρων ηλεκτρικών συσκευών, οι οποίες αναπαρίστανται ως LED και βομβητής.

Τέλος, έχουμε επίσης μια δυνατότητα bot telegram. Το bot telegram είναι σε θέση να τραβήξει φωτογραφίες από οτιδήποτε συμβαίνει μέσα στο δωμάτιο και να το αποθηκεύσει στον κάδο S3. Αυτές οι εικόνες θα επισημαίνονται με ένα φάκελο με το όνομα Homed/User Το τηλεγράφημα bot θα μπορεί να ελέγχει εξ αποστάσεως τη λυχνία LED και στο δωμάτιο.

Βήμα 1: Απαιτήσεις υλικού + Ρύθμιση

Απαιτήσεις υλικού + Ρύθμιση
Απαιτήσεις υλικού + Ρύθμιση
Απαιτήσεις υλικού + Ρύθμιση
Απαιτήσεις υλικού + Ρύθμιση

Συνδέστε τα ακόλουθα συστατικά με το πιπί 2 βατόμουρου όπως φαίνεται στα παραπάνω διαγράμματα ψεκασμού.

2 x Raspberry Pi

3 x Breadboard

1 x MCP3008 ADC

1 x αισθητήρας DhT 11

1 x LDR

1 x Αναγνώστης καρτών RFID/NFC MFRC522

4 x LED

1 x οθόνη LCD

Αντίσταση 3 x 10k

4 x 220/330 Αντίσταση

1 x κουμπί

1 x Buzzer

34 x Καλώδια αρσενικά έως αρσενικά

11 x Καλώδια αρσενικά έως θηλυκά

Βήμα 2: Απαιτήσεις λογισμικού + Ρύθμιση

Απαιτήσεις λογισμικού + Ρύθμιση
Απαιτήσεις λογισμικού + Ρύθμιση
Απαιτήσεις λογισμικού + Ρύθμιση
Απαιτήσεις λογισμικού + Ρύθμιση
Απαιτήσεις λογισμικού + Ρύθμιση
Απαιτήσεις λογισμικού + Ρύθμιση

Πληκτρολογήστε τις ακόλουθες εντολές στο τερματικό raspberry pi για να βεβαιωθείτε ότι είναι εγκατεστημένες.

Εάν κάποιο από τα παρακάτω λογισμικά έχει ήδη ληφθεί στο pi σας, το sudo pip install (Όνομα λογισμικού) -η αναβάθμιση θα κάνει το κόλπο της ενημέρωσής του.

- sudo pip install gevent

- φιάλη εγκατάστασης sudo pip

- sudo pip install nexmo

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

-sudo pip install AWSIoTPythonSDK-αναβάθμιση-disable-pip-version-check

-sudo pip install -αναβάθμιση pip

-sudo apt-get install python-dev

- sudo pip install boto3

- sudo pip install botocore

- sudo pip install numpy

- cd

git clone

cd ~/SPI-Py

sudo python setup.py install"

- cd

git clone

cd ~/MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, ελέγξτε αν οι γραμμές device_tree_param = spi = on

dtoverlay = spi-bcm2835 είναι μέσα, αλλιώς προσθέστε.

Βήμα 3: Εγγραφή ενός πράγματος

Εγγραφή ενός Πράγματος
Εγγραφή ενός Πράγματος
Εγγραφή ενός Πράγματος
Εγγραφή ενός Πράγματος
Εγγραφή ενός Πράγματος
Εγγραφή ενός Πράγματος
Εγγραφή ενός Πράγματος
Εγγραφή ενός Πράγματος

α) Πρώτα, μεταβείτε στο IoT Core στον ιστότοπο του AWS κάνοντας κλικ στις υπηρεσίες και, στη συνέχεια, στο IoT Core.

β) Στη γραμμή πλοήγησης κάτω από τη διαχείριση, επιλέξτε πράγματα και επιλέξτε καταχώριση αντικειμένου.

γ) Επιλέξτε Δημιουργία ενός μόνο πράγματος.

δ) Εισαγάγετε ένα όνομα για το πράγμα σας, για παράδειγμα, MyRaspberryPi2. Αφήστε τα υπόλοιπα πεδία με τις προεπιλεγμένες τιμές τους. Κάντε κλικ στο επόμενο στο κάτω μέρος της σελίδας.

ε) Κάντε κλικ στη δημιουργία πιστοποιητικού. Κατεβάστε και τα τέσσερα αρχεία. Για το ριζικό αρχείο CA, κατεβάστε το Amazon Root CA 1 και αποθηκεύστε το σε ένα σημειωματάριο.

στ) Μόλις τελειώσετε, μετακινήστε τα τέσσερα αρχεία σε έναν κατάλογο στο raspberry pi.

ζ) Κάντε κλικ στην επιλογή ενεργοποίηση.

η) Αφού κάνετε κλικ στην πολιτική επισύναψης, θα μεταφερθείτε στην ακόλουθη σελίδα. Κάντε κλικ στην επιλογή εγγραφή, η πολιτική θα δημιουργηθεί αργότερα.

θ) Στον πίνακα ελέγχου iot, μεταβείτε στις πολιτικές στην ασφαλή ενότητα. Κάντε κλικ στη δημιουργία πολιτικής.

ι) Εισαγάγετε ένα όνομα για την πολιτική σας, για αυτό το παράδειγμα θα είναι MyRaspberryPiSecurityPolicy και θα είναι το κλειδί στα ακόλουθα στην ενότητα Προσθήκη δηλώσεων. Στη συνέχεια, κάντε κλικ στο Δημιουργία.

ια) Στον πίνακα ελέγχου iot, μεταβείτε στα πιστοποιητικά στην ασφαλή ενότητα. Επιλέξτε το πιστοποιητικό που δημιουργήσατε προηγουμένως και κάντε κλικ στην επισύναψη πολιτικής από το αναπτυσσόμενο μενού ενεργειών. Επισυνάψτε την πολιτική που δημιουργήσατε προηγουμένως.

ιβ) Επιλέξτε ξανά το πιστοποιητικό που δημιουργήσατε προηγουμένως και κάντε κλικ στο στοιχείο επισύναψη. Επισυνάψτε την πολιτική που δημιουργήσατε προηγουμένως. Συνδέστε το πράγμα που δημιουργήσατε προηγουμένως.

Βήμα 4: Δημιουργία κάδου S3

Δημιουργία κάδου S3
Δημιουργία κάδου S3
Δημιουργία κάδου S3
Δημιουργία κάδου S3
Δημιουργία κάδου S3
Δημιουργία κάδου S3
Δημιουργία κάδου S3
Δημιουργία κάδου S3

α) Θα ξεκινήσουμε με τη χρήση της λειτουργίας αναζήτησης στην κονσόλα διαχείρισης AWS και την αναζήτηση του "s3".

β) Κάντε κλικ στη δημιουργία κάδου.

γ) Πληκτρολογήστε ένα όνομα για τον κάδο. Για αυτό το παράδειγμα, θα χρησιμοποιήσουμε το όνομα "sp-p1703263". Θα επιλέξουμε την περιοχή "US EAST (N. VIRGINIA)" που είναι us-east-1. Αφού γίνει αυτό, κάντε κλικ στο Δημιουργία.

δ) Ο νέος κάδος που δημιουργήθηκε θα εμφανιστεί στο ταμπλό.

Βήμα 5: Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων

Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων
Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων
Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων
Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων
Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων
Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων
Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων
Δημιουργία πίνακα DynamoDB και ρύθμιση κανόνων

α) Πρώτα, μεταβείτε στις υπηρεσίες AWS κάνοντας κλικ στο

υπηρεσίες και μετά DynamoDB. Κάντε κλικ στη δημιουργία πίνακα.

β) Εισαγάγετε το όνομα του πίνακα "iotdata" και το κύριο κλειδί "deviceid" με ένα κλειδί ταξινόμησης "datetimeid" και, στη συνέχεια, κάντε κλικ στη δημιουργία στο κάτω μέρος της σελίδας.

γ) Μετά από αυτό, επιστρέψτε στη σελίδα IoT Core. Κάντε κλικ στην επιλογή Πράξη και, στη συνέχεια, κάντε κλικ στη δημιουργία νέου κανόνα.

δ) Δημιουργήστε έναν κανόνα με το όνομα "MyDynamoDBRule". Κάτω από το θέμα δήλωσης ερωτήματος κανόνα, εισαγάγετε "αισθητήρες/φως".

ε) Στην ενότητα Ορισμός μιας ή περισσοτέρων ενεργειών, κάντε κλικ στην προσθήκη ενέργειας, κάντε κλικ στην επιλογή "διαίρεση μηνύματος σε πολλές στήλες ενός πίνακα βάσης δεδομένων". Κάντε κλικ στη ρύθμιση παραμέτρων ενέργειας. Κάτω από το όνομα του πίνακα, επιλέξτε τα iotdata. Κάτω από το όνομα ρόλου του IAM, επιλέξτε τον ρόλο που δημιουργήσατε προηγουμένως και είναι "dynamodb_role". Κάντε κλικ στην προσθήκη ενέργειας και, στη συνέχεια, δημιουργήστε κανόνα.

στ) Κάντε κλικ στη δημιουργία κανόνα.

Βήμα 6: Αναμενόμενο αποτέλεσμα

Αναμενόμενο αποτέλεσμα
Αναμενόμενο αποτέλεσμα
Αναμενόμενο αποτέλεσμα
Αναμενόμενο αποτέλεσμα

ΕΞΩΤΕΡΙΚΟΥ ΧΩΡΟΥ

για το pi που αντιπροσωπεύει το εξωτερικό του δωματίου, τα σενάρια heatdetector.py και AccessDoor.py θα εκτελεστούν. Εάν μια λανθασμένη κάρτα χτυπήσει στο σαρωτή RFID, ο συναγερμός θα σβήσει, με την κίτρινη λυχνία LED να είναι ακόμα αναμμένη. Ένα SMS θα σταλεί στο τηλέφωνο του ιδιοκτήτη του σπιτιού για να ειδοποιηθεί για μια πιθανή εισβολή. Ο συναγερμός θα είναι επίσης ήχος. Μια φωτογραφία θα τραβηχτεί επίσης και θα μεταφορτωθεί αμέσως στον κάδο S3. Εάν η κάρτα που χτυπήθηκε είναι εξουσιοδοτημένη, η πράσινη λυχνία LED θα ανάψει και ο χρήστης θα μπορέσει να εισέλθει. Η πόρτα θα κλειδώσει ξανά μετά από 15 δευτερόλεπτα (η πράσινη λυχνία LED σβήνει και η κίτρινη λυχνία ανάβει ξανά). Εάν η θερμοκρασία στο εσωτερικό του δωματίου/του σπιτιού γίνει πολύ υψηλή (Σε θερμοκρασία που θεωρούμε ότι το σπίτι/το δωμάτιο ενδέχεται να έχει πάρει φωτιά), θα στείλουμε μια ειδοποίηση SMS στον ιδιοκτήτη του σπιτιού. Ο συναγερμός θα είναι επίσης ήχος με την κόκκινη λυχνία LED έξω αναμμένη.

Μέσα

για το pi που αντιπροσωπεύει το εσωτερικό του δωματίου, θα εκτελεστούν τα σενάρια δημοσίευσηςHeat.py, server.py, pubsub.py, telegrambot.py. Το Pubsub.py θα αποθηκεύσει τις τιμές πραγματικού χρόνου στο DynamoDB. όταν εκτελείται το server.py, πληκτρολογήστε τη διεύθυνση IP του rpi: 5000 στο πρόγραμμα περιήγησης, θα οδηγηθείτε στη διεπαφή ιστού μας. Έχουμε ένα γράφημα που εμφανίζει τιμές φωτός σε πραγματικό χρόνο που λαμβάνονται από τους αισθητήρες μας στο pubsub.py στο DynamoDB. Επιπλέον, οι ιστορικές τιμές φωτός θα εμφανίζονται επίσης στη διεπαφή ιστού μας. Το PublishHeat.py θα δημοσιεύσει τιμές θερμοκρασίας στο εξωτερικό ψωμί για σκοπούς αισθητήρα πυρκαγιάς. Το telegrambot.py θα επιτρέψει στον χρήστη να ελέγχει από απόσταση την ενεργοποίηση/απενεργοποίηση της λυχνίας LED στο δωμάτιο/το σπίτι, καθώς και να τραβήξει μια εικόνα του τι συμβαίνει μέσα και να ανεβάσει την εικόνα στον κάδο S3.

Για καλύτερη απεικόνιση του πώς υποτίθεται ότι θα μοιάζει το αναμενόμενο αποτέλεσμα:

Βήμα 7: Κωδικοί πηγής (Pastebin)

Κωδικοί πηγής (Pastebin)
Κωδικοί πηγής (Pastebin)

Κάντε κλικ στο σύνδεσμο. Αποτελείται από όλους τους απαιτούμενους πηγαίους κωδικούς:

Βήμα 8: Αναφορές

βιβλιογραφικές αναφορές
βιβλιογραφικές αναφορές

Iotguider. (2019). Στείλτε SMS από το Raspberry Pi χρησιμοποιώντας Python. [online] Διατίθεται στη διεύθυνση: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Πρόσβαση στις 21 Αυγούστου 2019].

Συνιστάται: