- Erforderliche Komponenten:
- Arbeitserklärung:
- Schaltungsbeschreibung:
- Raspberry Pi Konfiguration und Programmierung Erläuterung:
In der Welt des Internet der Dinge (IoT), in der wir über alle Technologien verfügen, um unser Leben zu revolutionieren, ist es eine großartige Idee, ein System zu entwickeln, das von überall aus gesteuert und überwacht werden kann. Es gibt viele Arten von guten Sicherheitssystemen und Kameras für die Sicherheit zu Hause, aber sie sind sehr teuer. Daher werden wir heute ein kostengünstiges, einfaches, auf Raspberry Pi basierendes Intruder Alert System bauen, das Sie nicht nur per E-Mail benachrichtigt, sondern auch das Bild von sendet Eindringling, wenn er welche entdeckt.
In diesem IoT-basierten Projekt werden wir ein Haussicherungssystem mit PIR-Sensor und PI-Kamera bauen. Dieses System erkennt die Anwesenheit von Eindringlingen und alarmiert den Benutzer schnell, indem es ihm eine Benachrichtigungsmail sendet. Diese Mail enthält auch das Bild des Eindringlings, das von der Pi-Kamera aufgenommen wurde. Raspberry Pi wird verwendet, um das gesamte System zu steuern. Dieses System kann an der Haupttür Ihres Hauses oder Büros installiert werden und Sie können es von überall auf der Welt mithilfe Ihrer E-Mail über das Internet überwachen.
Erforderliche Komponenten:
- Himbeer-Pi
- Pi Kamera
- PIR-Sensor
- LED
- Brotbrett
- Widerstand (1k)
- Kabel anschließen
- Energieversorgung
Hier können Sie alle in diesem Projekt verwendeten Komponenten kaufen.
Arbeitserklärung:
Die Arbeit an diesem Projekt ist sehr einfach. Ein PIR-Sensor wird verwendet, um die Anwesenheit einer Person zu erfassen, und eine Pi-Kamera wird verwendet, um die Bilder zu erfassen, wenn die Anwesenheit erkannt wird.
Immer wenn jemand oder Eindringling in Reichweite des PIR-Sensors kommt, löst der PIR-Sensor die Pi-Kamera über Raspberry Pi aus. Raspberry pi sendet Befehle an die Pi-Kamera, um auf das Bild zu klicken und es zu speichern. Danach erstellt Raspberry Pi eine E-Mail und sendet sie mit kürzlich angeklickten Bildern an die definierte E-Mail-Adresse. Die Mail enthält eine Nachricht und ein Bild des Eindringlings als Anhang. Hier haben wir die Meldung "Bitte finden Sie den Anhang" verwendet, die Sie im Code am Ende entsprechend ändern können.
Hier werden die Bilder in Raspberry Pi mit dem Namen gespeichert, der selbst die Uhrzeit und das Datum der Eingabe enthält. Um die Uhrzeit und das Datum des Eindringlingseintritts durch Betrachten des Bildnamens zu überprüfen, überprüfen Sie die folgenden Bilder. Wenn Sie mit Pi Camera noch nicht vertraut sind, lesen Sie unser vorheriges Tutorial zum Besucherüberwachungssystem mit Pi Camera.
Sie können den Erfassungsbereich oder die Entfernung dieses Systems auch mithilfe der Potentiometer des PIR-Sensors einstellen. Erfahren Sie hier mehr über den PIR-Sensor, um den Bereich anzupassen. Überprüfen Sie auch den PIR-Sensor-basierten Einbruchalarm.
Schaltungsbeschreibung:
In diesem Intruder Alert System müssen wir nur das Pi-Kameramodul und den PIR-Sensor an Raspberry Pi 3 anschließen. Die Pi-Kamera ist am Kamera-Steckplatz des Raspberry Pi und der PIR an den GPIO-Pin 18 angeschlossen. Eine LED ist auch über einen 1k-Widerstand mit dem GPIO-Pin 17 verbunden.
Raspberry Pi Konfiguration und Programmierung Erläuterung:
Wir verwenden hier die Python-Sprache für das Programm. Vor dem Codieren muss der Benutzer Raspberry Pi konfigurieren. Im Folgenden finden Sie zwei Tutorials für die ersten Schritte mit Raspberry Pi und das Installieren und Konfigurieren von Raspbian Jessie OS in Pi:
- Erste Schritte mit Raspberry Pi - Einführung
- Erste Schritte mit Raspberry Pi - Konfiguration
Nach der erfolgreichen Installation von Raspbian OS auf Raspberry Pi müssen wir Pi-Kamerabibliotheksdateien installieren, um dieses Projekt in Raspberry Pi ausführen zu können. Dazu müssen wir die angegebenen Befehle befolgen:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Danach muss der Benutzer die Raspberry Pi-Kamera mithilfe des Raspberry Pi-Softwarekonfigurationstools (raspi-config) aktivieren:
$ sudo raspi-config
Wählen Sie dann die Kamera aktiviert und es aktiviert.
Anschließend muss der Benutzer Raspberry Pi neu starten, indem er einen Sudo-Neustart ausgibt , damit neue Einstellungen vorgenommen werden können. Jetzt ist Ihre Pi-Kamera einsatzbereit.
Nachdem wir die Pi-Kamera eingerichtet haben, installieren wir eine Software zum Senden der E-Mails. Hier verwenden wir ssmtp , eine einfache und gute Lösung zum Senden von E-Mails über die Befehlszeile oder über Python Script. Wir müssen zwei Bibliotheken installieren, um E-Mails über SMTP zu senden:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Nach der Installation der Bibliotheken muss der Benutzer die Datei ssmtp.conf öffnen und diese Konfigurationsdatei wie in der Abbildung unten gezeigt bearbeiten und dann die Datei speichern. Um die Datei zu speichern und zu beenden, drücken Sie 'STRG + x', dann 'y' und dann die Eingabetaste.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = YES UseTLS = YES
Wir können es auch testen, indem wir eine Test-Mail senden, indem wir den folgenden Befehl eingeben. Sie erhalten die Mail an die angegebene E-Mail-Adresse, wenn alles einwandfrei funktioniert:
echo "Hallo saddam" - mail -s "Testen…" [email protected]
Das Python-Programm dieses Projekts spielt eine sehr wichtige Rolle bei der Ausführung aller Operationen. Zunächst enthalten wir die erforderlichen Bibliotheken für E-Mails, initialisieren Variablen und definieren Pins für PIR, LED und andere Komponenten. Für das Senden einfacher E-Mails reicht smtplib aus. Wenn Sie jedoch E-Mails mit Betreffzeile, Anhang usw. sauberer senden möchten, müssen Sie MIME (Multipurpose Internet Mail Extensions) verwenden.
RPi.GPIO als GPIO importieren Picamera importieren Importzeit importieren smtplib aus E-Mail importieren.MIMEMultipart MIMEMultipart aus E-Mail importieren.MIMEText MIMEText aus E-Mail importieren.MIMEBase MIMEBase aus E-Mail importieren Encoder aus E-Mail importieren
Danach haben wir Mail initialisiert und Mailadresse und Nachrichten definiert:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Anhang" body = "Bitte finden Sie den Anhang"
Dann haben wir die Funktion def sendMail (data) zum Senden von E-Mails erstellt:
def sendMail (Daten): mail.attach (MIMEText (body, 'plain')) Druckdaten dat = '% s.jpg'% Daten Druckdaten Anhang = open (dat, 'rb') image = MIMEImage (Anhang.read ()) attachment.close () mail.attach (image) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "Ihr Passwort") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Die Funktion def capture_image () wird erstellt, um das Bild des Eindringlings mit Uhrzeit und Datum zu erfassen.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) Daten drucken camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (data)
Dann haben wir den Picamera mit einigen seiner Einstellungen initialisiert:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Und jetzt haben wir als letztes die PIR-Sensorausgabe gelesen und wenn sie hoch geht, ruft Raspberry Pi die Funktion capture_image () auf, um das Bild des Eindringlings zu erfassen und eine Warnmeldung mit dem Bild des Eindringlings als Anhang zu senden. Wir haben die Funktion sendmail () insdie capture_image () zum Senden der E-Mail verwendet.
while 1: if gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () while (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (LED, LOW) time.sleep (0.01)
So funktioniert dieses Raspberry Pi-Sicherheitssystem. Sie können auch einen Ultraschallsensor oder einen IR-Sensor verwenden, um die Anwesenheit eines Einbrechers oder Eindringlings zu erkennen. Prüfen weiterhin den vollständigen Code und Demonstration Video unten.