- Wymagane składniki:
- Objaśnienie robocze:
- Objaśnienie obwodu:
- Konfiguracja i programowanie Raspberry Pi Objaśnienie:
Raspberry Pi to popularna płyta rozwojowa oparta na architekturze ARM, zaprojektowana dla inżynierów elektroników i hobbystów. Dzięki szybkości przetwarzania i pamięci Raspberry Pi może być używany do wykonywania różnych funkcji jednocześnie, jak zwykły komputer, dlatego nazywa się to Mini Computer w dłoni. Stworzyliśmy serię samouczków dotyczących Raspberry Pi, aby rozpocząć od podstaw Raspberry Pi, a następnie stworzyć projekty IoT wysokiego poziomu przy użyciu Raspberry Pi.
Tym razem jesteśmy tutaj z kolejnym ciekawym projektem jakim jest System Monitorowania Odwiedzających z funkcją przechwytywania obrazu. Tutaj łączymy kamerę Pi z Raspberry Pi, aby uchwycić obraz każdego gościa, który wszedł przez bramę lub drzwi. W tym projekcie, gdy jakakolwiek osoba pojawi się pod Bramą, musi nacisnąć przycisk, aby otworzyć Bramę, a gdy tylko naciśnie przycisk, jej zdjęcie zostanie przechwycone i zapisane w systemie z Datą i czas wejścia. Może to być bardzo przydatne do celów bezpieczeństwa i nadzoru.
Ten system jest bardzo przydatny w biurach lub fabrykach, w których jest przechowywany zapis odwiedzin dla gości i rejestr obecności dla pracowników. Ten system monitorowania zdigitalizuje i zautomatyzuje wszystkie wpisy i frekwencje odwiedzających, bez konieczności ręcznej ich obsługi. Ten system może być obsługiwany przez osobę lub może być operator, który naciska przycisk dla samego gościa. To dobry projekt na rozpoczęcie pracy z kamerą Pi i połączenie jej z Raspberry Pi.
Wymagane składniki:
- Raspberry Pi
- Kamera Pi
- Wyświetlacz LCD 16x2
- Silnik prądu stałego
- IC L293D
- Brzęczyk
- DOPROWADZIŁO
- Deska do chleba
- Rezystor (1k, 10k)
- Kondensator (100nF)
- Naciśnij przycisk
- Przewody łączące
- 10k Pot
- Zasilacz
Objaśnienie robocze:
Działanie tego systemu monitorowania Raspberry Pi jest proste. W tym przypadku kamera Pi służy do przechwytywania obrazów gości po naciśnięciu lub uruchomieniu przycisku. Jako brama używany jest silnik prądu stałego. Gdy ktoś chce wejść w to miejsce, musi wcisnąć przycisk. Po naciśnięciu przycisku Raspberry Pi wysyła polecenie do Pi Camera, aby kliknąć zdjęcie i zapisać je. Po nim brama zostaje na chwilę otwarta, a następnie ponownie się zamyka. Brzęczyk służy do generowania dźwięku po naciśnięciu przycisku, a dioda LED służy do wskazania, że Raspberry Pi jest gotowe do zaakceptowania naciśnięcia przycisku, co oznacza, że gdy dioda LED jest włączona, system jest gotowy do pracy.
Tutaj zdjęcia odwiedzających są zapisywane w Raspberry Pi z nazwą, która sama zawiera godzinę i datę wejścia. Oznacza to, że nie ma potrzeby osobnego zapisywania daty i godziny w innym miejscu, ponieważ przypisaliśmy czas i datę jako nazwę przechwyconego obrazu, patrz zdjęcie poniżej. Zrobiliśmy tutaj zdjęcie pudełka jako gość, sprawdź jego pełną demonstrację w wideo na końcu.
Objaśnienie obwodu:
Obwód tego systemu nadzoru gości Raspberry Pi jest bardzo prosty. Tutaj wyświetlacz ciekłokrystaliczny (LCD) służy do wyświetlania godziny / daty wejścia gościa i niektórych innych komunikatów. LCD jest podłączony do Raspberry Pi w trybie 4-bitowym. Piny LCD czyli RS, EN, D4, D5, D6 i D7 są podłączone do pinów Raspberry Pi GPIO nr 18, 23, 24, 16, 20 i 21. Moduł kamery Pi jest podłączony do gniazda kamery Raspberry Pi. Brzęczyk jest podłączony do pinu 26 GPIO Raspberry Pi w celu wskazania. Dioda LED jest podłączona do pinu 5 GPIO poprzez rezystor 1k, a przycisk jest podłączony do pinu 19 GPIO względem masy, aby wyzwolić kamerę i otworzyć bramę. Silnik prądu stałego (jako bramka)jest połączony z pinami 17 i 27 GPIO Raspberry Pi poprzez Motor Driver IC (L293D). Pozostałe połączenia przedstawiono na schemacie połączeń.
Aby podłączyć kamerę Pi Camera, włóż kabel taśmowy Pi Camera do gniazda kamery, delikatnie pociągnij do góry wypustki złącza na płycie RPi i włóż kabel taśmowy do gniazda, a następnie delikatnie naciśnij ponownie zatrzaski, aby zamocować kabel taśmowy.
Konfiguracja i programowanie Raspberry Pi Objaśnienie:
W programie używamy języka Python. Przed kodowaniem użytkownik musi skonfigurować Raspberry Pi. Powinieneś poniżej dwa samouczki dotyczące rozpoczęcia pracy z Raspberry Pi oraz instalacji i konfiguracji systemu Raspbian Jessie w Pi:
- Pierwsze kroki z Raspberry Pi - Wprowadzenie
- Pierwsze kroki z Raspberry Pi - Konfiguracja
Po pomyślnym zainstalowaniu Raspbian OS na Raspberry Pi musimy zainstalować pliki biblioteki kamer Pi, aby uruchomić ten projekt w Raspberry pi. Aby to zrobić, musimy wykonać podane polecenia:
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
Następnie użytkownik musi włączyć kamerę Raspberry Pi za pomocą narzędzia konfiguracyjnego oprogramowania Raspberry Pi (raspi-config):
$ sudo raspi-config
Następnie wybierz Włącz kamerę i Włącz ją.
Następnie użytkownik musi zrestartować Raspberry Pi, wydając ponowne uruchomienie sudo , aby można było zastosować nowe ustawienia. Teraz Twoja kamera Pi jest gotowa do użycia.
$ sudo reboot
Program Python tego projektu odgrywa bardzo ważną rolę w wykonywaniu wszystkich operacji. Przede wszystkim dołączamy wymagane biblioteki, inicjalizujemy zmienne i definiujemy piny dla LCD, LED, silnika i innych komponentów.
import RPi.GPIO jako gpio import picamera czas importu m11 = 17 m12 = 27 led = 5 buz = 26 przycisk = 19 RS = 18……………
Funkcja def capture_image () jest tworzona w celu przechwytywania obrazu gościa wraz z datą i godziną.
def capture_image (): lcdcmd (0x01) lcdprint ("Proszę czekać.."); 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 ("Przechwycony obraz") lcdcmd (0xc0) lcdprint ("Pomyślnie") time.sleep (2)
Funkcja def gate () jest napisana do sterowania silnikiem prądu stałego, który jest tutaj używany jako bramka.
def gate (): lcdcmd (0x01) lcdprint ("Witamy") 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 ("Dziękuję") time.sleep (2)
Niektóre funkcje są zdefiniowane dla LCD, np. Funkcja def begin () służy do inicjalizacji LCD, funkcja def lcdcmd (ch) służy do wysyłania poleceń do LCD, funkcja def lcdwrite (ch) służy do wysyłania danych do LCD, a def lcdprint (Str.) służy do wysyłania ciągu danych do LCD. Wszystkie te funkcje możesz sprawdzić w podanym później kodzie.
Następnie mamy zainicjowany LCD oraz PI aparatu i ciągle czytać przycisku przy użyciu podczas pętli. Po każdym naciśnięciu przycisku, aby otworzyć bramę do wejścia, obraz gościa jest przechwytywany i zapisywany na Raspberry pi z datą i godziną, a brama zostaje otwarta. Sprawdź pełny kod i film demonstracyjny poniżej.
while 1: d = time.strftime ("% d% b% Y") t = time.strftime ("% H:% M:% S") lcdcmd (0x80) lcdprint ("Czas:% s"% t) lcdcmd (0xc0) lcdprint ("Data:% s"% d) gpio.output (led, 1) if gpio.input (przycisk) == 0: gpio.output (buz, 1) gpio.output (led, 0) time.sleep (0.5) gpio.output (buz, 0) capture_image () gate () time.sleep (0.5)
Ten system monitorowania kamery ma wiele możliwości aktualizacji, tak jak oprogramowanie może być zbudowane w wizji komputerowej lub w OpenCV, aby dopasować przechwycony obraz gościa do już zapisanych obrazów i autoryzować gościa tylko wtedy, gdy zostanie znalezione dopasowanie, będzie to tylko otworzyć bramę dla upoważnionych osób.