- Απαιτούμενα στοιχεία:
- Επεξήγηση εργασίας:
- Περιγραφή κυκλώματος:
- Επεξήγηση διαμόρφωσης και προγραμματισμού Raspberry Pi:
Στον κόσμο του Διαδικτύου των πραγμάτων (IoT) όταν έχουμε όλες τις τεχνολογίες για να φέρουμε επανάσταση στη ζωή μας, είναι υπέροχη ιδέα να αναπτύξουμε ένα σύστημα που μπορεί να ελέγχεται και να παρακολουθείται από οπουδήποτε. Υπάρχουν πολλοί τύποι καλών συστημάτων ασφαλείας και κάμερες εκεί έξω για την ασφάλεια στο σπίτι, αλλά είναι πολύ ακριβοί, επομένως σήμερα θα χτίσουμε ένα απλό σύστημα συναγερμού με βάση το Raspberry Pi, το οποίο όχι μόνο θα σας ειδοποιεί μέσω email αλλά και στέλνει την εικόνα του Εισβολέας όταν εντοπίζει οποιαδήποτε.
Σε αυτό το έργο που βασίζεται στο IoT, θα δημιουργήσουμε ένα οικιακό σύστημα ασφαλείας χρησιμοποιώντας PIR Sensor και PI Camera. Αυτό το σύστημα θα εντοπίσει την παρουσία του εισβολέα και θα ειδοποιήσει γρήγορα τον χρήστη στέλνοντάς του ένα μήνυμα ειδοποίησης. Αυτό το μήνυμα θα περιέχει επίσης την εικόνα του εισβολέα, που τραβήχτηκε από την κάμερα Pi. Το Raspberry Pi χρησιμοποιείται για τον έλεγχο ολόκληρου του συστήματος. Αυτό το σύστημα μπορεί να εγκατασταθεί στην κύρια πόρτα του σπιτιού ή του γραφείου σας και μπορείτε να το παρακολουθείτε από οπουδήποτε στον κόσμο χρησιμοποιώντας το email σας μέσω διαδικτύου.
Απαιτούμενα στοιχεία:
- Raspberry Pi
- Pi κάμερα
- Αισθητήρας PIR
- LED
- Πίνακας ψωμιού
- Αντίσταση (1k)
- Σύνδεση καλωδίων
- Παροχή ηλεκτρικού ρεύματος
Μπορείτε να αγοράσετε όλα τα εξαρτήματα που χρησιμοποιούνται σε αυτό το έργο από εδώ.
Επεξήγηση εργασίας:
Η εργασία αυτού του Έργου είναι πολύ απλή. Ένας αισθητήρας PIR χρησιμοποιείται για την ανίχνευση της παρουσίας οποιουδήποτε ατόμου και μια κάμερα Pi χρησιμοποιείται για τη λήψη των εικόνων κατά την παρουσία που ανίχνευσε.
Κάθε φορά που κάποιος ή εισβολέας έρχεται σε εμβέλεια αισθητήρα PIR, ο αισθητήρας PIR ενεργοποιεί την κάμερα Pi μέσω του Raspberry Pi. Το Raspberry pi στέλνει εντολές στην κάμερα Pi για να κάνει κλικ στην εικόνα και να την αποθηκεύσει. Μετά από αυτό, το Raspberry Pi δημιουργεί ένα μήνυμα και το στέλνει στην καθορισμένη διεύθυνση αλληλογραφίας με πρόσφατα κλικ εικόνες. Το μήνυμα περιέχει ένα μήνυμα και μια εικόνα εισβολέα ως συνημμένο. Εδώ χρησιμοποιήσαμε το μήνυμα "Παρακαλώ βρείτε το συνημμένο", μπορείτε να το αλλάξετε ανάλογα στον Κωδικό που δίνεται στο τέλος.
Εδώ οι εικόνες αποθηκεύονται στο Raspberry Pi με το όνομα που περιέχει το ίδιο την ώρα και την ημερομηνία εισόδου. Για να μπορέσουμε να ελέγξουμε την ώρα και την ημερομηνία εισόδου του εισβολέα κοιτάζοντας απλώς το όνομα της εικόνας, ελέγξτε τις παρακάτω εικόνες. Εάν είστε νέοι με το Pi Camera, τότε ελέγξτε το προηγούμενο σεμινάριό μας σχετικά με το Σύστημα παρακολούθησης επισκεπτών με το Pi Camera
Μπορείτε επίσης να προσαρμόσετε το εύρος ανίχνευσης ή την απόσταση αυτού του συστήματος χρησιμοποιώντας τα ποτενσιόμετρα του αισθητήρα PIR. Μάθετε περισσότερα για τον αισθητήρα PIR εδώ για να ρυθμίσετε το εύρος και ελέγξτε επίσης τον συναγερμό Burglar που βασίζεται στον αισθητήρα PIR.
Περιγραφή κυκλώματος:
Σε αυτό το σύστημα συναγερμού εισβολέα, χρειάζεται μόνο να συνδέσουμε τη μονάδα Pi Camera και τον αισθητήρα PIR στο Raspberry Pi 3. Η κάμερα Pi είναι συνδεδεμένη στην υποδοχή κάμερας του Raspberry Pi και το PIR είναι συνδεδεμένο με τον ακροδέκτη GPIO 18. Ένα LED είναι επίσης συνδεδεμένο στον ακροδέκτη GPIO 17 μέσω μιας αντίστασης 1k.
Επεξήγηση διαμόρφωσης και προγραμματισμού Raspberry Pi:
Χρησιμοποιούμε τη γλώσσα Python εδώ για το Πρόγραμμα. Πριν από την κωδικοποίηση, ο χρήστης πρέπει να διαμορφώσει το Raspberry Pi. Θα πρέπει να ακολουθήσετε παρακάτω δύο σεμινάρια για να ξεκινήσετε με το Raspberry Pi και να εγκαταστήσετε και να ρυθμίσετε το Raspbian Jessie OS στο Pi:
- Ξεκινώντας με το Raspberry Pi - Εισαγωγή
- Ξεκινώντας με το Raspberry Pi - Διαμόρφωση
Μετά την επιτυχή εγκατάσταση του Raspbian OS στο Raspberry Pi, πρέπει να εγκαταστήσουμε αρχεία βιβλιοθήκης φωτογραφικών μηχανών Pi για την εκτέλεση αυτού του έργου στο Raspberry pi. Για να γίνει αυτό πρέπει να ακολουθήσουμε τις δοθείσες εντολές:
$ sudo apt-get εγκατάσταση python-picamera $ sudo apt-get installpython3-picamera
Μετά από αυτό, ο χρήστης πρέπει να ενεργοποιήσει το Raspberry Pi Camera χρησιμοποιώντας το Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-config
Στη συνέχεια, επιλέξτε Ενεργοποίηση κάμερας και Ενεργοποίηση.
Στη συνέχεια, ο χρήστης πρέπει να επανεκκινήσει το Raspberry Pi, εκδίδοντας την επανεκκίνηση του sudo , έτσι ώστε να χρειαστεί νέα ρύθμιση. Τώρα η κάμερα Pi είναι έτοιμη για χρήση.
Τώρα μετά τη ρύθμιση της Pi Camera, θα εγκαταστήσουμε λογισμικό για την αποστολή του ταχυδρομείου Εδώ χρησιμοποιούμε το ssmtp που είναι μια εύκολη και καλή λύση για την αποστολή αλληλογραφίας χρησιμοποιώντας τη γραμμή εντολών ή τη χρήση του Python Script. Πρέπει να εγκαταστήσουμε δύο βιβλιοθήκες για την αποστολή μηνυμάτων χρησιμοποιώντας SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Μετά την εγκατάσταση βιβλιοθηκών, ο χρήστης πρέπει να ανοίξει το αρχείο ssmtp.conf και να επεξεργαστεί αυτό το αρχείο διαμόρφωσης όπως φαίνεται στην παρακάτω εικόνα και, στη συνέχεια, να αποθηκεύσει το αρχείο. Για να αποθηκεύσετε και να βγείτε από το αρχείο, πατήστε «CTRL + x», μετά «y» και μετά πατήστε «enter»
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = ΝΑΙ ΧρήσηSTARTTLS = ΝΑΙ ΧρήσηTLS = ΝΑΙ
Μπορούμε επίσης να το δοκιμάσουμε στέλνοντας ένα δοκιμαστικό μήνυμα εκδίδοντας την παρακάτω εντολή, θα λάβετε το μήνυμα στην αναφερόμενη διεύθυνση ηλεκτρονικού ταχυδρομείου εάν όλα λειτουργούν καλά:
echo "Hello saddam" - mail -s "Δοκιμή…" [email protected]
Το πρόγραμμα Python αυτού του έργου παίζει πολύ σημαντικό ρόλο για την εκτέλεση όλων των λειτουργιών. Πρώτα απ 'όλα, συμπεριλαμβάνουμε τις απαιτούμενες βιβλιοθήκες για email, αρχικοποίηση μεταβλητών και καθορισμό ακίδων για PIR, LED και άλλα στοιχεία. Για την αποστολή απλού email, το smtplib είναι αρκετό, αλλά αν θέλετε να στείλετε αλληλογραφία με καθαρότερο τρόπο με γραμμή θέματος, συνημμένο κ.λπ. τότε πρέπει να χρησιμοποιήσετε το MIME (επεκτάσεις αλληλογραφίας πολλαπλών χρήσεων).
εισαγωγή RPi.GPIO ως gpio εισαγωγή picamera εισαγωγή χρόνου εισαγωγής smtplib από email.MIMEMultipart εισαγωγή MIMEMultipart από email.MIMEText εισαγωγή MIMEText από email.MIMEBase εισαγωγή MIMEBase από κωδικοποιητές εισαγωγής email από email.mime.image import MIMEImage
Μετά από αυτό, έχουμε προετοιμάσει την αλληλογραφία και ορίζουμε τη διεύθυνση και τα μηνύματα αλληλογραφίας:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Attachment" body = "Βρείτε το συνημμένο"
Στη συνέχεια, έχουμε δημιουργήσει τη λειτουργία def sendMail (data) για την αποστολή αλληλογραφίας:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read) ()) attachment.close () mail.attach (image) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "your password") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Η συνάρτηση def capture_image () δημιουργείται για τη λήψη της εικόνας του εισβολέα με την ώρα και την ημερομηνία.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) δεδομένα εκτύπωσης camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (δεδομένα)
Στη συνέχεια, αρχικοποιήσαμε το Picamera με ορισμένες από τις ρυθμίσεις του:
κάμερα = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Και τώρα στο τελευταίο, έχουμε διαβάσει την έξοδο του αισθητήρα PIR και όταν το υψηλό του Raspberry Pi καλεί τη λειτουργία capture_image () για να τραβήξει την εικόνα του εισβολέα και να στείλει ένα μήνυμα ειδοποίησης με την εικόνα του εισβολέα ως συνημμένο. Χρησιμοποιήσαμε τη λειτουργία sendmail () insdie capture_image () για την αποστολή της αλληλογραφίας.
ενώ 1: if gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () while (gpio.input (pir) == 1): time.sleep (1) άλλο: gpio.output (led, LOW) χρόνος. ύπνος (0,01)
Έτσι, έτσι λειτουργεί αυτό το σύστημα ασφαλείας Raspberry Pi, μπορείτε επίσης να χρησιμοποιήσετε αισθητήρα υπερήχων ή αισθητήρα υπερύθρων για να εντοπίσετε την παρουσία διαρρήκτη ή εισβολέα. Δείτε παρακάτω τον Πλήρες κώδικα και το βίντεο επίδειξης παρακάτω.