Stwórz wielokamerowy system CCTV z Raspberry Pi i motionEyeOS

Stwórz wielokamerowy system CCTV z Raspberry Pi i motionEyeOS

Chociaż na rynku dostępnych jest niezliczona ilość komercyjnych domowych systemów bezpieczeństwa CCTV, zbudowanie własnego systemu kamer monitorujących Raspberry Pi oferuje tę zaletę, że można go dostosować do własnych potrzeb.

Specjalna dystrybucja Linuksa o nazwie motionEyeOS ułatwia skonfigurowanie systemu bezpieczeństwa z jedną lub kilkoma kamerami. Następnie może wykrywać ruch z widoku kamery i wysyłać alerty za pośrednictwem poczty elektronicznej lub powiadomień push. Pokażemy Ci, jak wszystko uruchomić.

Co będzie potrzebne do skonfigurowania systemu kamer monitorujących

  • Raspberry Pi: każdy model będzie działał, w tym Pi Zero i moduł obliczeniowy
  • Kamera internetowa USB, moduł kamery Raspberry Pi lub moduł kamery wysokiej jakości

Dowiedz się więcej o Raspberry Pi, Pico, Arduino i innych komputerach jednopłytowych i mikrokontrolerach.

1. Zainstaluj motionEyeOS

MotionEyeOS nie jest aplikacją, ale samodzielnym systemem operacyjnym, jednym z wielu systemów operacyjnych Raspberry Pi. Najpierw musisz znaleźć odpowiednią wersję dla swojego modelu Raspberry Pi. Przejdź do listy obsługiwanych urządzeń i kliknij najnowszą wersję swojej płyty głównej, aby pobrać obraz dysku jako plik. plik xz.

Istnieją dwa główne sposoby instalacji motionEyeOS na Raspberry Pi. Witryna motionEyeOS oferuje narzędzie do zapisywania obrazów dla komputerów z systemem Linux i macOS w celu zapisania obrazu dysku na karcie microSD do użycia w Raspberry Pi. Oferuje to opcjonalną konfigurację połączenia z siecią bezprzewodową i ustawienie statycznego adresu IP. Więcej informacji można znaleźć w instrukcji instalacji .

Druga metoda – którą tutaj wykorzystamy, ponieważ działa ona również na komputerach z systemem Windows – polega na zapisie obrazu dysku za pomocą standardowego narzędzia Raspberry Pi Imager, które można pobrać ze strony Raspberry Pi .

Korzystając z wbudowanego czytnika kart lub adaptera USB, włóż kartę microSD, aby zamontować ją w komputerze i otwórz Raspberry Pi Imager. Kliknij Wybierz system operacyjny, a następnie przewiń w dół listy, aby wybrać Użyj niestandardowego .

Przejdź do pobranego wcześniej pliku motionEyeOS.xz . Teraz kliknij Wybierz kartę SD i wybierz włożoną kartę microSD, prawdopodobnie nazywaną czymś w rodzaju Generic Storage Device Media.

Napisz motionEyeOS za pomocą Raspberry Pi Imager

Na koniec kliknij Zapisz , aby zapisać obraz na karcie.

2. Wstępnie skonfiguruj połączenie bezprzewodowe

Przed użyciem karty microSD w swoim Raspberry Pi będziesz chciał wstępnie skonfigurować poświadczenia sieci bezprzewodowej.

Otwórz zwykły edytor tekstowy (taki jak Edytor tekstu w systemie macOS lub Notatnik w systemie Windows) i wprowadź następujące wiersze, zastępując wartości ssid i psk identyfikatorem SSID (nazwą) i hasłem do własnego routera bezprzewodowego. Należy również zmienić numer kierunkowy kraju na ten, w którym urządzenie będzie działać.

country=US
update_config=1
ctrl_interface=/var/run/wpa_supplicant

network={
 scan_ssid=1
 ssid="MyWiFiSSID"
 psk="MyWiFiPassword"
 }

Zapisz plik jako wpa_supplicant.conf w katalogu głównym karty microSD, gdzie powinny być widoczne inne pliki, takie jak bootcode.bin i kernel.img . Jeśli plik zostanie zapisany z rozszerzeniem . txt, usuń to, aby nazywało się po prostu wpa_supplicant.conf .

3. Konfiguracja kamery monitorującej

Jeśli używasz modułu kamery Raspberry Pi lub kamery wysokiej jakości, podłącz ją do portu kamery Raspberry Pi. Jeśli używasz kamery internetowej, podłącz ją do portu USB w Raspberry Pi.

Włóż kartę microSD do Raspberry Pi i włącz ją. Jeśli jest podłączony do monitora, zobaczysz listę uruchamianych poleceń. Po pomyślnym odczytaniu pliku wpa_supplicant.conf połączy się on z siecią i wyświetli adres IP Raspberry Pi po tym, jak interfejs wlan0 uzyska adres IP: .

Ekran startowy motionEyeOS z adresem IP

Alternatywnie, jeśli Twoje Raspberry Pi nie jest podłączone do monitora, zawsze możesz znaleźć adres IP, odwiedzając stronę ustawień routera bezprzewodowego w przeglądarce internetowej na innym urządzeniu i szukając urządzenia, którego nazwa zaczyna się od meye- .

4. Uzyskaj dostęp do interfejsu internetowego

W przeglądarce internetowej na innym komputerze lub urządzeniu wprowadź adres IP Raspberry Pi i powinieneś zobaczyć ekran logowania. Po prostu wpisz admin jako nazwę użytkownika, bez hasła.

Jeśli masz podłączony moduł kamery Raspberry Pi lub kamerę wysokiej jakości, powinien on zostać automatycznie wykryty, a widok z kamery zobaczysz w interfejsie sieciowym. Jeśli używasz kamery USB, w wyświetlonym menu Dodaj kamerę wybierz Lokalna kamera V4L2 jako Typ kamery i Kamera USB2.0: Kamera USB2.0 dla Kamera.

W przypadku konfiguracji z wieloma kamerami możliwe jest podłączenie więcej niż jednej kamery do jednego Raspberry Pi, chociaż używany model musi być wystarczająco mocny, aby obsłużyć wszystkie strumienie.

konfiguracja wielu kamer motionEyeOS
Źródło obrazu: Calin Crisan/ GitHub motionEyeOS

Alternatywnie możesz użyć wielu płyt Raspberry Pi, z których każda ma kamerę, i wyznaczyć inną Raspberry Pi jako koncentrator do obsługi ich strumieni. Jest to przydatne, jeśli chcesz ustawić kamery w różnych pokojach.

Diagram konfiguracji koncentratora motionEyeOS
Źródło obrazu: Calin Crisan/ GitHub motionEyeOS

Istnieje również opcja użycia zwykłego komputera z systemem Linux jako serwera centralnego.

5. Skonfiguruj ustawienia niestandardowe

W interfejsie internetowym kliknij ikonę trzech pionowych linii w lewym górnym rogu, aby otworzyć panel ustawień. W menu Preferencje zmień opcję Układ kolumn na 1, jeśli używasz pojedynczej kamery, aby widok wypełnił ekran.

Ustawienia panelu menu motionEyeOS

Menu Urządzenie wideo umożliwia zmianę rozdzielczości, obrotu i liczby klatek na sekundę dla aktualnie wybranej kamery. Możesz także zmienić nazwę kamery na opisową, na przykład pokój, w którym się znajduje. Po zmianie ustawień menu kliknij przycisk Zastosuj , aby je zastosować.

W przypadku konfiguracji kamery bezpieczeństwa będziesz chciał wykrywać ruch z widoku kamery. Otwórz menu Wykrywanie ruchu i włącz je. Inne opcje umożliwiają ustawienie progu zmiany ramki wymaganego do wykrycia ruchu. Ustawienie zbyt niskiego poziomu może skutkować zbyt dużą liczbą fałszywych alarmów. Opcja Motion Gap to opóźnienie przed próbą ponownego wykrycia ruchu po jego wyzwoleniu.

Aby obejrzeć filmy zrobione z detekcji ruchu, kliknij widok z kamery na żywo, a następnie wybierz trójkątną ikonę przycisku odtwarzania. Możliwe jest również przeglądanie zdjęć zrobionych przez aparat — ręcznie lub poprzez ustawienie trybu przechwytywania w menu obrazów nieruchomych na Motion Triggered .

7. Wysyłaj powiadomienia e-mail

Menu Powiadomienia o ruchu umożliwia wysłanie do siebie wiadomości e-mail po wykryciu ruchu. Po włączeniu wprowadź adres e-mail , na który chcesz wysłać powiadomienie. Będziesz musiał wprowadzić inne ustawienia dla swojego konta.

Jeśli korzystasz z Gmaila, ustaw serwer SMTP na smtp.gmail.com, port SMTP na 587, a konto SMTP na pierwszą część adresu e-mail (tj. bez @gmail.com). Hasło SMTP to hasło, którego używasz do logowania się na swoje konto Gmail. Pole Adres nadawcy można pozostawić puste lub ustawić na adres niestandardowy. Włącz TLS .

ustawienia powiadomień e-mail motionEyeOS

Na innej karcie przeglądarki przejdź do menu Zabezpieczenia swojego konta Google i włącz dostęp do mniej bezpiecznych aplikacji – po otrzymaniu alertu bezpieczeństwa potwierdź, że to Ty go zmieniłeś. Pamiętaj, że robisz to na własne ryzyko. W tym celu założyliśmy dedykowane nowe konto Gmail.

Teraz powinieneś być w stanie wysłać testową wiadomość e-mail z motionEyeOS bez wyzwalania alertu bezpieczeństwa Google. Pamiętaj, że jeśli używasz wielu kamer, musisz skonfigurować powiadomienia e-mail dla każdej z nich osobno.

Aby otrzymać obraz wraz z powiadomieniem e-mail, zaleca się ustawienie opcji Przedział czasowy dołączonych zdjęć w zakresie od 5 do 30. Należy także ustawić Tryb przechwytywania na Wyzwalany ruchem w menu Zdjęcia .

8. Dodaj powiadomienia push

Powiadomienia push można również wysyłać za pomocą opcji Uruchom polecenie w menu Powiadomienia o ruchu . Na przykład, aby skorzystać z usługi Pushover, która oferuje aplikacje na Androida, iOS i komputery stacjonarne, musisz utworzyć krótki skrypt w Pythonie, aby działał.

Zarejestruj się w Pushover . Pamiętaj, że po 30-dniowym bezpłatnym okresie próbnym będziesz musiał dokonać jednorazowego zakupu w aplikacji o wartości 5 USD, aby nadal z niej korzystać.

Następnie kliknij Utwórz token aplikacji/API . Zanotuj podany dla niego token/klucz API wraz z kluczem użytkownika z pulpitu nawigacyjnego.

Pobierz: Pushover na iOS | Android (dostępna bezpłatna wersja próbna)

Korzystając ze standardowego kodu ze strony Pushover, możesz stworzyć swój skrypt w Pythonie:

import httplib, urllib
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
  urllib.urlencode({
    "token": "abc123",
    "user": "user123",
    "title": "CCTV alert"
    "message": "Motion detected on camera 1!",
    "url": "http://IP.ADD.RE.SS",
    "url_title": "View live stream",
  }), { "Content-type": "application/x-www-form-urlencoded" })
conn.getresponse()

Zastąp abc123 tokenem API swojej aplikacji, a user123 swoim kluczem użytkownika. Zastąp IP.ADD.RE.SS adresem IP konfiguracji motionEyeOS.

Aby umieścić to w systemie motionEyeOS, musisz połączyć się przez SSH z innego komputera za pomocą aplikacji Terminal (lub WinSCP w systemie Windows), wprowadzając:

ssh admin@&IP_ADDRESS

Zamień IP_ADDRESS na adres IP twojego systemu motionEyeOS. Teraz wprowadź:

cd /data

Teraz jesteś w katalogu danych, utwórz nowy plik o nazwie pushover.py :

nano pushover.py

Wklej lub wpisz do niego swój skrypt Pythona i zapisz za pomocą Ctrl + X , a następnie Y . Teraz uczyń go wykonywalnym za pomocą:

chmod +x pushover.py

Ewentualnie w WinSCP w systemie Windows naciśnij F9 , ustaw uprawnienia na 0775 i naciśnij OK .

Przetestuj skrypt, uruchamiając:

python pushover.py

Powinieneś otrzymać powiadomienie z alarmem dźwiękowym od motionEyeOS w aplikacji Pushover.

Powiadomienia pushover z motionEyeOS

Wróć do menu Motion Notifications interfejsu sieciowego motionEyeOS, włącz opcję Uruchom polecenie i wpisz python /data/pushover.py w polu Polecenie, aby uruchomić skrypt Pythona.

Kliknij przycisk Zastosuj . Pamiętaj, że możesz zastosować inny skrypt Uruchom polecenie dla każdej kamery w swojej konfiguracji, dzięki czemu możesz utworzyć wiele skryptów Pythona, z których każdy będzie informował, która kamera wykryła ruch.

Tworzenie własnego systemu kamer monitorujących DIY

Gratulacje, skonfigurowałeś teraz własny konfigurowalny system kamer monitorujących Raspberry Pi, wraz z powiadomieniami e-mail i push, aby ostrzec Cię o obecności intruzów wykrytych przez kamerę.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *