- Wymagane składniki:
- Objaśnienie robocze:
- Opis obwodu:
- Konfiguracja i programowanie Raspberry Pi Objaśnienie:
W świecie Internetu rzeczy (IoT), kiedy mamy wszystkie technologie, które zrewolucjonizują nasze życie, dobrym pomysłem jest opracowanie systemu, który można kontrolować i monitorować z dowolnego miejsca. Istnieje wiele rodzajów dobrych systemów bezpieczeństwa i kamer do ochrony domu, ale są one bardzo drogie, więc dziś zbudujemy tani, prosty system ostrzegania o włamaniach oparty na Raspberry Pi, który nie tylko ostrzega za pośrednictwem wiadomości e-mail, ale także wysyła obraz Intruz, gdy wykryje jakiekolwiek.
W ramach tego projektu opartego na IoT zbudujemy system ochrony domu przy użyciu czujnika PIR i kamery PI. System ten wykryje obecność intruza i szybko zaalarmuje użytkownika, wysyłając mu wiadomość e-mail z ostrzeżeniem. Ta wiadomość będzie zawierała również zdjęcie intruza zrobione kamerą Pi. Raspberry Pi służy do sterowania całym systemem. Ten system można zainstalować przy głównych drzwiach domu lub biura i można go monitorować z dowolnego miejsca na świecie za pomocą poczty e-mail przez Internet.
Wymagane składniki:
- Raspberry Pi
- Kamera Pi
- Czujnik PIR
- DOPROWADZIŁO
- Deska do chleba
- Rezystor (1k)
- Przewody łączące
- Zasilacz
Tutaj możesz kupić wszystkie komponenty użyte w tym projekcie.
Objaśnienie robocze:
Działanie tego projektu jest bardzo proste. Czujnik PIR służy do wykrywania obecności jakiejkolwiek osoby, a kamera Pi służy do przechwytywania obrazów po wykryciu obecności.
Za każdym razem, gdy ktoś lub intruz znajdzie się w zasięgu czujnika PIR, czujnik PIR wyzwala kamerę Pi przez Raspberry Pi. Raspberry pi wysyła polecenia do kamery Pi, aby kliknąć zdjęcie i zapisać je. Następnie Raspberry Pi tworzy wiadomość i wysyła ją na zdefiniowany adres e-mail z ostatnio klikniętymi obrazami. Wiadomość zawiera wiadomość i zdjęcie intruza jako załącznik. Tutaj użyliśmy komunikatu „Proszę znaleźć załącznik”, możesz go odpowiednio zmienić w kodzie podanym na końcu.
Tutaj zdjęcia są zapisywane w Raspberry Pi pod nazwą, która sama zawiera godzinę i datę wejścia. Abyśmy mogli sprawdzić godzinę i datę wejścia intruza, po prostu patrząc na nazwę zdjęcia, sprawdź poniższe obrazy. Jeśli nie masz doświadczenia z kamerą Pi, sprawdź nasz poprzedni samouczek dotyczący systemu monitorowania gości za pomocą kamery Pi.
Możesz również ustawić zasięg wykrywania lub odległość tego systemu za pomocą potencjometrów czujnika PIR. Dowiedz się więcej o czujniku PIR tutaj, aby wyregulować zasięg, sprawdź również alarm antywłamaniowy oparty na czujniku PIR.
Opis obwodu:
W tym systemie ostrzegania przed włamaniem musimy tylko podłączyć moduł kamery Pi i czujnik PIR do Raspberry Pi 3. Kamera Pi jest podłączona do gniazda kamery Raspberry Pi, a PIR jest podłączony do pinu 18 GPIO. Dioda LED jest również podłączona do pinu 17 GPIO przez rezystor 1k.
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 installpython3-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.
Teraz po skonfigurowaniu kamery Pi zainstalujemy oprogramowanie do wysyłania poczty. Tutaj używamy ssmtp, które jest łatwym i dobrym rozwiązaniem do wysyłania poczty za pomocą wiersza poleceń lub skryptu Python. Musimy zainstalować dwie biblioteki do wysyłania wiadomości e-mail przy użyciu SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Po zainstalowaniu bibliotek użytkownik musi otworzyć plik ssmtp.conf i edytować ten plik konfiguracyjny, jak pokazano na poniższym obrazku, a następnie zapisać plik. Aby zapisać i wyjść z pliku, naciśnij „CTRL + x”, następnie „y”, a następnie naciśnij „enter”.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = YES UseTLS = YES
Możemy to również przetestować wysyłając maila testowego wydając poniższą komendę, otrzymasz maila na podany adres email, jeśli wszystko działa poprawnie:
echo "Witaj saddam" - mail -s "Testowanie…" [email protected]
Program Python tego projektu odgrywa bardzo ważną rolę w wykonywaniu wszystkich operacji. Przede wszystkim dołączamy wymagane biblioteki do poczty elektronicznej, inicjalizujemy zmienne i definiujemy piny dla PIR, LED i innych komponentów. Do wysyłania prostych wiadomości e-mail wystarczy smtplib, ale jeśli chcesz wysyłać pocztę w bardziej przejrzysty sposób z tematem, załącznikiem itp., Musisz użyć MIME (Multipurpose Internet Mail Extensions).
importuj RPi.GPIO jako gpio importuj picamera czas importu importuj smtplib z e-maila.MIMEMMultipart importuj MIMEMultipart z e-maila.MIMEText importuj MIMEText z e-maila.MIMEBase importuj MIMEBase z e-maili importuj kodery z e-mail.mime.image import MIMEImage
Następnie zainicjowaliśmy pocztę i zdefiniowaliśmy adres pocztowy oraz wiadomości:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Załącznik" body = "Proszę znaleźć załącznik"
Następnie stworzyliśmy funkcję def sendMail (dane) do wysyłania poczty:
def sendMail (dane): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attach = open (dat, 'rb') image = MIMEImage (attach.read ()) załącznik.close () mail.attach (obraz) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "twoje hasło") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Funkcja def capture_image () została utworzona w celu przechwycenia obrazu intruza wraz z datą i godziną.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) drukuj dane camera.capture ('% s. jpg '% data) kamera.stop_preview () time.sleep (1) sendMail (dane)
Następnie zainicjowaliśmy Picamera z niektórymi ustawieniami:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Na koniec przeczytaliśmy dane wyjściowe czujnika PIR, a gdy jego wartość jest wysoka, Raspberry Pi wywołuje funkcję capture_image (), aby uchwycić obraz intruza i wysłać wiadomość ostrzegawczą ze zdjęciem intruza jako załącznikiem. Do wysłania poczty użyliśmy funkcji sendmail () insdie capture_image () .
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) czas snu (0,01)
Więc tak działa ten system bezpieczeństwa Raspberry Pi, możesz również użyć czujnika ultradźwiękowego lub czujnika podczerwieni do wykrywania obecności włamywacza lub intruza. Sprawdź pełny kod i film demonstracyjny poniżej.