- Komponenter som krävs:
- Arbetsförklaring:
- Kretsförklaring:
- Raspberry Pi Konfiguration och programmering Förklaring:
Raspberry Pi är ett ARM-cortexbaserat populärt utvecklingskort utformat för elektroniska ingenjörer och hobbyister. Med processhastigheten och minnet kan Raspberry Pi användas för att utföra olika funktioner åt gången, som en vanlig dator, och därför kallas det Mini-dator i din handflata. Vi har skapat en serie Raspberry Pi-handledning för att börja med Raspberry Pi från grunden och sedan skapa IoT-projekt på hög nivå med Raspberry Pi.
Den här gången är vi här med vårt nästa intressanta projekt som är Visitor Monitoring System med Image capture-funktionalitet. Här gränssnitt vi Pi kamera med Raspberry Pi för att fånga bilden av varje besökare som har gått in genom porten eller dörren. I det här projektet, när någon person anländer till porten, måste han trycka på en knapp för att öppna porten, och så snart han / hon trycker på knappen kommer hans / hennes bild att fångas och sparas i systemet med datumet och tid för inträde. Detta kan vara mycket användbart för säkerhets- och övervakningssyfte.
Detta system är mycket användbart på kontor eller fabriker där besökarnas post för besökare upprätthålls och närvaroposten för de anställda upprätthålls. Detta övervakningssystem kommer att digitalisera och automatisera hela besökarnas inlägg och närvaro, och det kommer inte att behövas underhållas manuellt. Detta system kan antingen manövreras av personen själv eller så kan det finnas operatör för att trycka på knappen för mycket besökare. Detta är ett bra projekt för att komma igång med Pi-kamera och gränssnitt med Raspberry Pi.
Komponenter som krävs:
- Raspberry Pi
- Pi-kamera
- 16x2 LCD
- Likströmsmotor
- IC L293D
- Summer
- LED
- Brödbräda
- Motstånd (1k, 10k)
- Kondensator (100nF)
- Tryckknapp
- Anslutande ledningar
- 10k Pot
- Strömförsörjning
Arbetsförklaring:
Att arbeta med detta Raspberry Pi- övervakningssystem är enkelt. I detta används en Pi-kamera för att fånga besökarnas bilder när en tryckknapp trycks in eller utlöses. En likströmsmotor används som grind. När någon vill komma in på platsen måste han / hon trycka på knappen. Efter att ha tryckt på knappen skickar Raspberry Pi kommando till Pi Camera för att klicka på bilden och spara den. Efter det öppnas porten ett tag och stängs sedan igen. Summern används för att generera ljud när knappen trycks in och lysdioden används för att indikera att Raspberry Pi är redo att acceptera tryckknappstryck, betyder att när lysdioden lyser är systemet klart för drift.
Här sparas bilderna av besökare i Raspberry Pi med namnet som i sig innehåller tid och datum för inresan. Det betyder att du inte behöver spara datum och tid separat någon annanstans eftersom vi har tilldelat tid och datum som namnet på den tagna bilden, se bilden nedan. Vi har här tagit bilden av en låda som besökare, kolla dess fullständiga demonstration i videon i slutet.
Kretsförklaring:
Kretsloppet för detta Raspberry Pi Visitor Surveillance System är mycket enkelt. Här används en LCD- skärm (Liquid Crystal Display) för visning av tid / datum för besökarens inträde och några andra meddelanden. LCD är ansluten till Raspberry Pi i 4-bitars läge. LCD-stift, nämligen RS, EN, D4, D5, D6 och D7, är anslutna till Raspberry Pi GPIO-stift nummer 18, 23, 24, 16, 20 och 21. Pi-kameramodul är ansluten till Raspberry Pi-kameraplatsen. En summer är ansluten till GPIO-stift 26 på Raspberry Pi för indikationsändamål. LED är ansluten till GPIO-stift 5 via ett 1k-motstånd och en tryckknapp är ansluten till GPIO-stift 19 i förhållande till marken, för att utlösa kameran och öppna grinden. DC-motor (som grind)är ansluten med Raspberry Pi GPIO-stift 17 och 27 via Motor Driver IC (L293D). Resten av anslutningarna visas i kretsschemat.
För att ansluta Pi-kameran, sätt in Pi-kamerans bandkabel i kameraplatsen, dra upp flikarna på kontakten vid RPi-kortet och sätt in bandkabeln i kortplatsen och tryck sedan försiktigt ner flikarna igen för att fixera bandkabeln.
Raspberry Pi Konfiguration och programmering Förklaring:
Vi använder Pythonspråk här för programmet. Innan kodning måste användaren konfigurera Raspberry Pi. Du bör nedan två handledning för att komma igång med Raspberry Pi och installera och konfigurera Raspbian Jessie OS i Pi:
- Komma igång med Raspberry Pi - Introduktion
- Komma igång med Raspberry Pi - Konfiguration
Efter att ha lyckats installera Raspbian OS på Raspberry Pi, måste vi installera Pi-kamerabiblioteksfiler för att köra detta projekt i Raspberry pi. För att göra detta måste vi följa givna kommandon:
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
Efter det måste användaren aktivera Raspberry Pi Camera med hjälp av Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-config
Välj sedan Aktivera kamera och Aktivera den.
Då måste användaren starta om Raspberry Pi, genom att utfärda sudo-omstart , så att den nya inställningen kan ta. Nu är din Pi-kamera redo att användas.
$ sudo omstart
Python-programmet för detta projekt spelar en mycket viktig roll för att utföra alla operationer. Först och främst inkluderar vi nödvändiga bibliotek, initierar variabler och definierar stift för LCD, LED, Motor och andra komponenter.
importera RPi.GPIO som gpio importera picamera importtid m11 = 17 m12 = 27 led = 5 buz = 26 knapp = 19 RS = 18……………
Funktion def capture_image () skapas för att fånga bilden av besökaren med tid och datum.
def capture_image (): lcdcmd (0x01) lcdprint ("Please Please.."); data = time.strftime ("% d_% b_% Y \% H:% M:% S") camera.start_preview () time.sleep (5) skriv ut data camera.capture ('/ home / pi / Desktop / Besökare /%s.jpg'%data) camera.stop_preview () lcdcmd (0x01) lcdprint ("Image Captured") lcdcmd (0xc0) lcdprint ("Successfully") time.sleep (2)
Funktion def gate () är skriven för att driva DC-motorn som används som en gate här.
def gate (): lcdcmd (0x01) lcdprint ("Welcome") 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 ("Tack") time.sleep (2)
Vissa funktioner definieras för LCD som def start () -funktionen används för att initialisera LCD, def lcdcmd (ch) -funktionen används för att skicka kommando till LCD, def lcdwrite (ch) -funktionen används för att skicka data till LCD och def lcdprint (Str) -funktionen används för att skicka datasträng till LCD. Du kan kontrollera alla dessa funktioner i koden som ges efteråt.
Då har vi initierat LCD och Pi kamera, och kontinuerligt läser tryckknapp med hjälp av medan slinga. När tryckknappen trycks in, för att öppna grinden för inresa, fångas bilden av besökaren och sparas på Raspberry pi med datum och tid och grinden öppnas. Kontrollera hela koden och demonstrationsvideon nedan.
medan 1: d = time.strftime ("% d% b% Y") t = time.strftime ("% H:% M:% S") lcdcmd (0x80) lcdprint ("Time:% s"% t) lcdcmd (0xc0) lcdprint ("Date:% s"% d) gpio.output (led, 1) if gpio.input (button) == 0: gpio.output (buz, 1) gpio.output (led, 0) time.sleep (0.5) gpio.output (buz, 0) capture_image () gate () time.sleep (0.5)
Det här kameraövervakningssystemet har mycket utrymme att uppgradera, som om en programvara kan byggas i Computer Vision eller i OpenCV för att matcha den tagna bilden av besökaren med de redan sparade bilderna och endast godkänt besökaren om någon matchning har hittats, detta kommer bara öppna grinden för auktoriserade personer.