- Vereiste componenten:
- Werkende uitleg:
- Circuit uitleg:
- Raspberry Pi Configuratie en Programmering Uitleg:
Raspberry Pi is een op ARM cortex gebaseerd populair ontwikkelbord dat is ontworpen voor elektronische ingenieurs en hobbyisten. Met de verwerkingssnelheid en het geheugen kan Raspberry Pi worden gebruikt om verschillende functies tegelijk uit te voeren, zoals een normale pc, en daarom wordt het in je handpalm een minicomputer genoemd. We hebben een reeks Raspberry Pi-tutorials gemaakt, om helemaal opnieuw te beginnen met Raspberry Pi en vervolgens IoT-projecten op hoog niveau te maken met Raspberry Pi.
Deze keer zijn we hier met ons volgende interessante project: bezoekersbewakingssysteem met functionaliteit voor het vastleggen van afbeeldingen. Hier koppelen we de Pi-camera aan de Raspberry Pi om het beeld vast te leggen van elke bezoeker die door de poort of deur is binnengekomen. In dit project moet elke persoon die bij de poort is aangekomen op een knop drukken om de poort te openen, en zodra hij / zij op de knop drukt, wordt zijn / haar foto vastgelegd en opgeslagen in het systeem met de datum en tijd van binnenkomst. Dit kan erg handig zijn voor beveiligings- en bewakingsdoeleinden.
Dit systeem is erg handig in kantoren of fabrieken waar bezoekersregistratie wordt bijgehouden voor bezoekers en aanwezigheidsregistratie voor werknemers. Dit monitoringsysteem zal alle bezoekersaantallen en bezoekersaantallen digitaliseren en automatiseren, en het is niet nodig om ze handmatig bij te houden. Dit systeem kan worden bediend door de persoon zelf of er kan een operator zijn om op de knop te drukken voor elke bezoeker. Dit is een goed project om aan de slag te gaan met de Pi-camera en deze te koppelen aan Raspberry Pi.
Vereiste componenten:
- Raspberry Pi
- Pi camera
- 16x2 LCD
- DC-motor
- IC L293D
- Zoemer
- LED
- Broodplank
- Weerstand (1k, 10k)
- Condensator (100nF)
- Druk op de knop
- Draden aansluiten
- 10k pot
- Stroomvoorziening
Werkende uitleg:
De werking van dit Raspberry Pi- monitoringsysteem is eenvoudig. Hierin wordt een Pi-camera gebruikt om de afbeeldingen van bezoekers vast te leggen wanneer een drukknop wordt ingedrukt of geactiveerd. Een DC-motor wordt gebruikt als poort. Wanneer iemand de plaats wil betreden, moet hij / zij op de knop drukken. Nadat je op de knop hebt gedrukt, stuurt Raspberry Pi een opdracht naar Pi Camera om op de afbeelding te klikken en deze op te slaan. Daarna wordt het hek een tijdje geopend en daarna weer gesloten. De zoemer wordt gebruikt om geluid te genereren wanneer de knop wordt ingedrukt en de LED wordt gebruikt om aan te geven dat de Raspberry Pi klaar is om een druk op de knop te accepteren, wat betekent dat wanneer de LED AAN is, het systeem klaar is voor gebruik.
Hier worden de foto's van bezoekers opgeslagen in Raspberry Pi met de naam die zelf de tijd en datum van binnenkomst bevat. Betekent dat het niet nodig is om de datum en tijd apart op een andere plaats op te slaan, aangezien we de tijd en datum hebben toegewezen als de naam van de gemaakte foto, zie de afbeelding hieronder. We hebben hier de afbeelding van een doos als bezoeker gemaakt, bekijk de volledige demonstratie in de video aan het einde.
Circuit uitleg:
Het circuit van dit Raspberry Pi Visitor Surveillance System is heel eenvoudig. Hier wordt een Liquid Crystal Display (LCD) gebruikt voor het weergeven van tijd / datum van bezoekersinvoer en enkele andere berichten. LCD is verbonden met Raspberry Pi in 4-bit-modus. Pinnen van LCD namelijk RS, EN, D4, D5, D6 en D7 zijn verbonden met Raspberry Pi GPIO pin nummer 18, 23, 24, 16, 20 en 21. Pi camera module is aangesloten op cameraslot van de Raspberry Pi. Ter indicatie is een zoemer aangesloten op GPIO-pin 26 van Raspberry Pi. LED is verbonden met GPIO-pin 5 via een 1k-weerstand en een drukknop is verbonden met GPIO-pin 19 met betrekking tot aarde, om de camera te activeren en de poort te openen. DC-motor (als Gate)is verbonden met Raspberry Pi GPIO pin 17 en 27 via Motor Driver IC (L293D). De overige verbindingen worden weergegeven in het schakelschema.
Om de Pi-camera aan te sluiten, steekt u de lintkabel van de Pi-camera in de camerasleuf, trekt u de lipjes van de connector op het RPi-bord iets omhoog en steekt u de lintkabel in de sleuf, en drukt u de lipjes vervolgens voorzichtig weer naar beneden om de lintkabel vast te zetten.
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 install python3-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.
$ sudo herstart
Het Python-programma van dit project speelt een zeer belangrijke rol bij het uitvoeren van alle bewerkingen. Allereerst nemen we de benodigde bibliotheken op, initialiseren we variabelen en definiëren we pinnen voor LCD, LED, Motor en andere componenten.
importeer RPi.GPIO als gpio importeer picamera importtijd m11 = 17 m12 = 27 led = 5 buz = 26 button = 19 RS = 18……………
Functie def capture_image () wordt gemaakt om het beeld van de bezoeker met tijd en datum vast te leggen.
def capture_image (): lcdcmd (0x01) lcdprint ("Even geduld aub.."); data = time.strftime ("% d_% b_% Y \% H:% M:% S") camera.start_preview () time.sleep (5) print data camera.capture ('/ home / pi / Desktop / Visitors /%s.jpg'%data) camera.stop_preview () lcdcmd (0x01) lcdprint ("Image Captured") lcdcmd (0xc0) lcdprint ("Successfully") time.sleep (2)
Functie def gate () is geschreven voor het aandrijven van de gelijkstroommotor die hier als poort wordt gebruikt.
def gate (): lcdcmd (0x01) lcdprint ("Welkom") gpio.output (m11, 1) gpio.output (m12, 0) time.sleep (1.5) gpio.output (m11, 0) gpio.output (m12, 0) time.sleep (3) gpio.output (m11, 0) gpio.output (m12, 1) time.sleep (1.5) gpio.output (m11, 0) gpio.output (m12, 0) lcdcmd (0x01); lcdprint ("Bedankt") time.sleep (2)
Sommige functies zijn gedefinieerd voor LCD, zoals def begin () -functie wordt gebruikt om LCD te initialiseren, def lcdcmd (ch) -functie wordt gebruikt voor het verzenden van commando's naar LCD, def lcdwrite (ch) -functie wordt gebruikt voor het verzenden van gegevens naar LCD en def lcdprint (Str) functie wordt gebruikt om datastring naar LCD te sturen. U kunt al deze functies controleren in Code achteraf.
Vervolgens hebben we de LCD en Pi Camera geïnitialiseerd en continu de drukknop aflezen met de while- lus. Telkens wanneer de drukknop wordt ingedrukt om het hek te openen voor toegang, wordt het beeld van de bezoeker vastgelegd en opgeslagen op de Raspberry Pi met datum en tijd en wordt het hek geopend. Bekijk de volledige code en demonstratievideo hieronder.
while 1: d = time.strftime ("% d% b% Y") t = time.strftime ("% H:% M:% S") lcdcmd (0x80) lcdprint ("Time:% s"% t) lcdcmd (0xc0) lcdprint ("Datum:% s"% d) gpio.output (led, 1) if gpio.input (knop) == 0: gpio.output (buz, 1) gpio.output (led, 0) time.sleep (0,5) gpio.output (buz, 0) capture_image () gate () time.sleep (0,5)
Dit camerabewakingssysteem heeft veel mogelijkheden om te upgraden, zoals software die kan worden gebouwd in Computer Vision of in OpenCV om de gemaakte foto van de bezoeker te matchen met de reeds opgeslagen afbeeldingen en de bezoeker alleen geautoriseerd als er een overeenkomst is gevonden, dit zal alleen open de poort voor bevoegde personen.