- Vereiste componenten:
- Werkende uitleg:
- Circuit Beschrijving:
- Raspberry Pi Configuratie en Programmering Uitleg:
In de wereld van Internet of Things (IoT), wanneer we over alle technologieën beschikken om ons leven radicaal te veranderen, is het een geweldig idee om een systeem te ontwikkelen dat vanaf elke locatie kan worden bestuurd en gecontroleerd. Er zijn veel soorten goede beveiligingssystemen en camera's voor thuisbeveiliging, maar ze zijn veel duurder, dus vandaag zullen we een goedkoop, eenvoudig, op Raspberry Pi gebaseerd indringerswaarschuwingssysteem bouwen, dat u niet alleen via een e-mail waarschuwt, maar ook de foto van Indringer wanneer het iets detecteert.
In dit op IoT gebaseerde project zullen we een huisbeveiligingssysteem bouwen met behulp van PIR-sensor en PI-camera. Dit systeem detecteert de aanwezigheid van Intruder en waarschuwt de gebruiker snel door hem een waarschuwingsmail te sturen. Deze mail bevat ook de afbeelding van de indringer, vastgelegd door de Pi-camera. Raspberry Pi wordt gebruikt om het hele systeem te besturen. Dit systeem kan bij de hoofdingang van uw huis of kantoor worden geïnstalleerd en u kunt het overal ter wereld volgen met uw e-mail via internet.
Vereiste componenten:
- Raspberry Pi
- Pi Camera
- PIR-sensor
- LED
- Broodplank
- Weerstand (1k)
- Draden aansluiten
- Stroomvoorziening
U kunt hier alle componenten kopen die in dit project worden gebruikt.
Werkende uitleg:
De werking van dit project is heel eenvoudig. Een PIR-sensor wordt gebruikt om de aanwezigheid van een persoon te detecteren en een Pi-camera wordt gebruikt om de beelden vast te leggen wanneer de aanwezigheid wordt gedetecteerd.
Wanneer iemand of een indringer binnen het bereik van de PIR-sensor komt, activeert de PIR-sensor de Pi-camera via Raspberry Pi. Raspberry pi stuurt opdrachten naar Pi-camera om op de afbeelding te klikken en deze op te slaan. Hierna maakt Raspberry Pi een e-mail en stuurt deze naar het gedefinieerde e-mailadres met recent aangeklikte afbeeldingen. De mail bevat een bericht en een foto van de indringer als bijlage. Hier hebben we het bericht "Zoek de bijlage" gebruikt, u kunt dit overeenkomstig wijzigen in de code aan het einde.
Hier worden de foto's opgeslagen in Raspberry Pi met de naam die zelf de tijd en datum van invoer bevat. Om de tijd en datum van de binnenkomst van de indringer te controleren door alleen naar de naam van de afbeelding te kijken, controleert u de onderstaande afbeeldingen. Als je nieuw bent met Pi Camera, bekijk dan onze vorige tutorial over Visitor Monitoring System met Pi Camera.
U kunt het detectiebereik of de afstand van dit systeem ook aanpassen met behulp van de potentiometers van de PIR-sensor. Lees hier meer over de PIR-sensor om het bereik aan te passen, bekijk ook het op PIR-sensor gebaseerde inbraakalarm.
Circuit Beschrijving:
In dit inbraakalarmsysteem hoeven we alleen de Pi-cameramodule en PIR-sensor aan te sluiten op Raspberry Pi 3. Pi Camera is aangesloten op het cameraslot van de Raspberry Pi en PIR is verbonden met GPIO-pin 18. Een LED is ook verbonden met GPIO-pin 17 via een 1k-weerstand.
Raspberry Pi Configuratie en Programmering Uitleg:
We gebruiken hier Python-taal voor het programma. Voordat de gebruiker kan coderen, moet hij de Raspberry Pi configureren. Je zou hieronder twee tutorials moeten volgen om aan de slag te gaan met Raspberry Pi en Raspbian Jessie OS in Pi te installeren en te configureren:
- Aan de slag met Raspberry Pi - Inleiding
- Aan de slag met Raspberry Pi - Configuratie
Na het succesvol installeren van Raspbian OS op Raspberry Pi, moeten we Pi-camerabibliotheekbestanden installeren om dit project in Raspberry Pi uit te voeren. Om dit te doen, moeten we de gegeven opdrachten volgen:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Hierna moet de gebruiker Raspberry Pi Camera inschakelen met behulp van Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-config
Selecteer vervolgens Camera inschakelen en inschakelen.
Vervolgens moet de gebruiker de Raspberry Pi opnieuw opstarten door sudo reboot uit te geven , zodat de nieuwe instelling kan duren. Nu is je Pi-camera klaar voor gebruik.
Nu na het instellen van de Pi Camera, zullen we software installeren voor het verzenden van de e-mail. Hier gebruiken we ssmtp, wat een gemakkelijke en goede oplossing is voor het verzenden van e-mail via de opdrachtregel of met Python Script. We hebben twee bibliotheken nodig om e-mails te verzenden met SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Na het installeren van bibliotheken, moet de gebruiker het bestand ssmtp.conf openen en dit configuratiebestand bewerken zoals weergegeven in de afbeelding hieronder en vervolgens het bestand opslaan. Om het bestand op te slaan en af te sluiten, drukt u op 'CTRL + x', vervolgens op 'y' en vervolgens op 'enter'.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = JA UseSTARTTLS = JA UseTLS = JA
We kunnen het ook testen door een testmail te sturen door het onderstaande commando te geven, u krijgt de mail op het genoemde e-mailadres als alles goed werkt:
echo "Hallo saddam" - mail -s "Testen…" [email protected]
Het Python-programma van dit project speelt een zeer belangrijke rol bij het uitvoeren van alle bewerkingen. Allereerst nemen we vereiste bibliotheken op voor e-mail, initialiseren we variabelen en definiëren we pinnen voor PIR, LED en andere componenten. Voor het verzenden van eenvoudige e-mail is smtplib voldoende, maar als u e-mail op een schonere manier wilt verzenden met onderwerpregel, bijlage enz., Dan moet u MIME (Multipurpose Internet Mail Extensions) gebruiken.
importeer RPi.GPIO als gpio importeer picamera importeer tijd importeer smtplib uit e-mail.MIMEMultipart importeer MIMEMultipart uit e-mail.MIMEText importeer MIMEBase uit e-mail.MIMEBase importeer MIMEBase uit e-mail importeer encoders uit email.mime.image importeer MIMEImage
Daarna hebben we e-mail geïnitialiseerd en het e-mailadres en de berichten gedefinieerd:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Bijlage" body = "Zoek de bijlage"
Vervolgens hebben we de functie sendMail (data) gemaakt voor het verzenden van e-mail:
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 (afbeelding) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (vanaddr, "uw wachtwoord") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Functie def capture_image () is gemaakt om het beeld van een indringer vast te leggen met tijd en datum.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) print data camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (data)
Vervolgens hebben we de Picamera geïnitialiseerd met enkele van zijn instellingen:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
En nu als laatste hebben we de PIR-sensoruitvoer gelezen en wanneer deze hoog wordt, roept Raspberry Pi de functie capture_image () op om het beeld van de indringer vast te leggen en een waarschuwingsbericht te sturen met de foto van de indringer als bijlage. We hebben de functie sendmail () insdie capture_image () gebruikt voor het verzenden van de e-mail.
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)
Dus zo werkt dit Raspberry Pi Beveiligingssysteem, u kunt ook een Ultrasone sensor of IR-sensor gebruiken om de aanwezigheid van inbreker of indringer te detecteren. Verder controleert de volledige code en demonstratie video hieronder.