- Nødvendige komponenter:
- Arbejdsforklaring:
- Forklaring af kredsløb:
- Raspberry Pi Konfiguration og programmering Forklaring:
Raspberry Pi er et ARM cortex-baseret populært udviklingskort designet til elektroniske ingeniører og hobbyister. Med behandlingshastigheden og hukommelsen kan Raspberry Pi bruges til at udføre forskellige funktioner ad gangen, som en normal pc, og derfor kaldes den Mini Computer i din håndflade. Vi har oprettet en række Raspberry Pi-tutorials for at starte med Raspberry Pi fra bunden og derefter oprette IoT-projekter på højt niveau ved hjælp af Raspberry Pi.
Denne gang er vi her med vores næste interessante projekt, som er Besøgsovervågningssystem med billedoptagelsesfunktionalitet. Her grænseflader vi Pi-kamera med Raspberry Pi for at fange billedet af enhver besøgende, der er kommet ind gennem porten eller døren. I dette projekt, når en person ankommer til porten, skal han trykke på en knap for at åbne porten, og så snart han / hun trykker på knappen, bliver hans / hendes billede taget og gemt i systemet med datoen og tidspunkt for indgangen. Dette kan være meget nyttigt til sikkerhed og overvågning.
Dette system er meget nyttigt i kontorer eller fabrikker, hvor besøgspost registreres for besøgende, og fremmøde registreres for ansatte. Dette overvågningssystem digitaliserer og automatiserer hele besøgendeindgange og fremmøde, og der er ikke behov for at vedligeholde dem manuelt. Dette system kan enten betjenes af personen selv, eller der kan være operatør til at trykke på knappen for meget besøgende. Dette er et godt projekt til at komme i gang med Pi-kamera og interface det med Raspberry Pi.
Nødvendige komponenter:
- Hindbær Pi
- Pi kamera
- 16x2 LCD
- DC-motor
- IC L293D
- Summer
- LED
- Brødbræt
- Modstand (1k, 10k)
- Kondensator (100nF)
- Trykknap
- Tilslutning af ledninger
- 10k pot
- Strømforsyning
Arbejdsforklaring:
Arbejdet med dette Raspberry Pi- overvågningssystem er enkelt. I dette bruges et Pi-kamera til at tage billeder af besøgende, når der trykkes på eller trykkes på en trykknap. En jævnstrømsmotor bruges som port. Når nogen ønsker at komme ind på stedet, skal han / hun trykke på knappen. Efter at have trykket på knappen sender Raspberry Pi kommando til Pi Camera for at klikke på billedet og gemme det. Derefter åbnes porten et stykke tid og lukkes derefter igen. Summeren bruges til at generere lyd, når der trykkes på knappen, og LED bruges til at indikere, at Raspberry Pi er klar til at acceptere trykknap, betyder, at når LED er tændt, er systemet klar til drift.
Her gemmes billederne af besøgende i Raspberry Pi med navnet, der selv indeholder tidspunkt og dato for indrejsen. Det betyder, at der ikke er behov for at gemme dato og tid separat et andet sted, da vi har tildelt tid og dato som navnet på det optagne billede, se billedet nedenfor. Vi har her taget billedet af en kasse som besøgende, og tjek dens fulde demonstration i videoen i slutningen.
Forklaring af kredsløb:
Kredsløbet til dette Raspberry Pi Visitor Surveillance System er meget simpelt. Her bruges et LCD-display (Liquid Crystal Display) til visning af tid / dato for besøgsindgang og nogle andre meddelelser. LCD er forbundet til Raspberry Pi i 4-bit-tilstand. Stifter på LCD, nemlig RS, EN, D4, D5, D6 og D7, er forbundet til Raspberry Pi GPIO-pin nummer 18, 23, 24, 16, 20 og 21. Pi-kameramodul er tilsluttet i Raspberry Pi-kameraport. En summer er tilsluttet GPIO-pin 26 i Raspberry Pi til indikationsformål. LED er forbundet til GPIO pin 5 gennem en 1k modstand, og en trykknap er forbundet til GPIO pin 19 i forhold til jorden for at udløse kameraet og åbne porten. DC-motor (som port)er forbundet med Raspberry Pi GPIO pin 17 og 27 via Motor Driver IC (L293D). Resten af forbindelser er vist i kredsløbsdiagrammet.
For at tilslutte Pi Camera skal du indsætte Pi Camera-båndkablet i kameraslotten, trække tappene på stikket lidt op på RPi-kortet og indsætte Ribbon-kablet i slotten og derefter forsigtigt trykke tappene ned igen for at fastgøre båndkablet.
Raspberry Pi Konfiguration og programmering Forklaring:
Vi bruger Python-sprog her til programmet. Før kodning skal brugeren konfigurere Raspberry Pi. Du skal nedenfor to vejledninger til Kom godt i gang med Raspberry Pi og installation og konfiguration af Raspbian Jessie OS i Pi:
- Kom godt i gang med Raspberry Pi - Introduktion
- Kom godt i gang med Raspberry Pi - Konfiguration
Efter succesfuld installation af Raspbian OS på Raspberry Pi, skal vi installere Pi-kamerabiblioteksfiler for at køre dette projekt i Raspberry pi. For at gøre dette skal vi følge de givne kommandoer:
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
Efter det skal brugeren aktivere Raspberry Pi Camera ved hjælp af Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-config
Vælg derefter Aktivér kamera, og Aktiver det.
Derefter skal brugeren genstarte Raspberry Pi ved at udstede sudo-genstart , så den nye indstilling kan tage. Nu er dit Pi-kamera klar til brug.
$ sudo genstart
Python-programmet for dette projekt spiller en meget vigtig rolle for at udføre alle operationer. Først og fremmest inkluderer vi krævede biblioteker, initialiserer variabler og definerer ben til LCD, LED, Motor og andre komponenter.
importer RPi.GPIO som gpio import picamera importtid m11 = 17 m12 = 27 led = 5 buz = 26 knap = 19 RS = 18……………
Funktion def capture_image () oprettes for at tage billedet af den besøgende med tid og dato.
def capture_image (): lcdcmd (0x01) lcdprint ("Vent venligst.."); data = time.strftime ("% d_% b_% Y \% H:% M:% S") camera.start_preview () time.sleep (5) print data camera.capture ('/ home / pi / Desktop / Besøg /%s.jpg'%data) camera.stop_preview () lcdcmd (0x01) lcdprint ("Image Captured") lcdcmd (0xc0) lcdprint ("Successfully") time.sleep (2)
Funktion def gate () er skrevet til kørsel af DC-motoren, der bruges som en gate her.
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 ("Thank You") time.sleep (2)
Nogle funktioner er defineret for LCD som def start () funktion bruges til at initialisere LCD, def lcdcmd (ch) funktion bruges til at sende kommando til LCD, def lcdwrite (ch) funktion bruges til at sende data til LCD og def lcdprint (Str) -funktion bruges til at sende datastreng til LCD. Du kan kontrollere alle disse funktioner i kode, der er angivet bagefter.
Derefter har vi initialiseret LCD- og Pi-kameraet og læser kontinuerligt trykknappen ved hjælp af mens loop. Hver gang der trykkes på trykknappen, for at åbne porten til indrejse, fanges billedet af den besøgende og gemmes på Raspberry pi med dato og tid, og porten åbnes. Tjek den fulde kode og demonstrationsvideo nedenfor.
mens 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)
Dette kameraovervågningssystem har masser af muligheder for at opgradere, ligesom en software kan bygges i Computer Vision eller i OpenCV for at matche det fangede billede af den besøgende med de allerede gemte billeder og kun autoriseret besøgende, hvis der er fundet noget match, dette åbn porten for autoriserede personer.