Spisu treści:

Bezpieczeństwo w domu z Raspberry Pi: 6 kroków (ze zdjęciami)
Bezpieczeństwo w domu z Raspberry Pi: 6 kroków (ze zdjęciami)

Wideo: Bezpieczeństwo w domu z Raspberry Pi: 6 kroków (ze zdjęciami)

Wideo: Bezpieczeństwo w domu z Raspberry Pi: 6 kroków (ze zdjęciami)
Wideo: Sterowanie przez Internet z dowolnego miejsca Free IoT Raspberry pi / Arduino Ethernet WiFi Zdalne 2024, Lipiec
Anonim
Bezpieczeństwo w domu z Raspberry Pi
Bezpieczeństwo w domu z Raspberry Pi

To proste rozwiązanie, które sprawi, że po wyjściu z mieszkania poczujesz się bardziej zrelaksowany - otrzymuj e-maile ze zdjęciami Twojej nieruchomości odwiedzanej przez niechcianych gości, uzbrajaj i rozbrajaj system bezpieczeństwa w najprostszy i najbardziej niezawodny sposób (naciśnij przełącznik i podejdź do znacznik RFID). A to prawie nic nie kosztuje – miesięcznie więcej płacę za dostęp do Internetu. Potrzebujesz klona Raspberry Pi, kilku części elektronicznych i… dostępu do internetu.

Należy pamiętać, że Zoneminder nie jest używany w tym przewodniku. Jeśli chcesz korzystać z Zoneminder, zajrzyj tutaj:

sites.google.com/site/boguszjelinski/home/…

Krok 1: Sprzęt, którego potrzebujesz

Sprzęt, którego potrzebujesz
Sprzęt, którego potrzebujesz

1. Raspberry Pi lub jego klon, zobacz też:

www.instructables.com/id/Home-Security-With-Orange-Pi/

Najtańszy, który dopasuje Ci dostęp do sieci i liczbę potrzebnych kamer. Nie zapomnij kupić odpowiedniego zasilacza z odpowiednim złączem

2. Czytnik RFID z anteną

3. Czujnik(i) PIR

4. wyłącznik chwilowy, który łączy obwód dopiero po jego naciśnięciu (ze sprężyną?)

5. dwie diody LED - zielona i czerwona. Albo jedna dioda RGB.

6. dwa rezystory 1k

7. Kamery USB

8. kabel UTP do podłączenia czujników PIR, włącznika, diod led i czytnika RFID (wszystko udało mi się połączyć jednym kablem z 8 przewodami lub 4 parami jak kto woli)

9. małe pudełko lub dwa, jeśli chcesz chronić swoje części elektroniczne lub nie chcesz chwalić się umiejętnościami lutowania.

10. przekaźnik do włączania źródła światła - w przypadku incydentów nocnych

Krok 2: Zainstaluj Postfix

Po zainstalowaniu Linuksa będziesz musiał zainstalować kilka komponentów oprogramowania, aby uruchomić mój przykładowy fragment kodu. Najpierw musisz zainstalować Postfix, jeśli chcesz wysyłać e-maile:

1. apt-get install postfix (zostaniesz poproszony o wybranie na przykład „tylko lokalnie”)

2. przejdź do /etc/postfix i utwórz plik sasl_passwd i umieść w nim jedną linię:

[smtp.gmail.com]:587 jan.kowalski:hasło1234

Zastąp nazwę użytkownika i hasło swoimi danymi uwierzytelniającymi; zauważyłeś, że jest to linia dla konta Google Mail. To konto służy do wysyłania powiadomień alarmowych (wysłane-z).

3. hash postmapy:/etc/postfix/sasl_passwd

4. rm /etc/postfix/sasl_passwd

5. zastąp zawartość /etc/postfix/main.cf następującymi liniami (możesz zmienić nazwę hosta):

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)

biff = nie

append_dot_mydomain = nie

readme_directory = nie

smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtp_tls_security_level = maj

smtp_use_tls = tak

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

nazwa_hosta = raspberrypi

myorigin = $mojanazwahosta

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

mydestination = raspberrypi, localhost.localdomain, localhost

host przekaźnika = [smtp.gmail.com]:587

mojesieci = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mailbox_size_limit = 0

ogranicznik_odbiorcy = +

inet_interfaces = wszystkie

smtp_sasl_auth_enable = tak

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_sasl_security_options =

smtp_sasl_tls_security_options = nieanonimowy

6. /etc/init.d/postfix restart

7. możesz przetestować konfigurację Postfixa przez sendmaila jakaś.nazwa@jakiś.adres treść testowa.

Krok 3: Przygotuj oprogramowanie

W przypadku mojego Raspberry Pi B+ i Raspbian Jessie musiałem wykonać następujące dodatkowe kroki:

1. apt-get install python-setuptools

2. easy_install pip

3. pip zainstaluj pyserial

4. apt-get install mailutils

5. wyłącz port szeregowy używany przez logowanie konsoli. Znalazłem kilka różnych sposobów:

a) raspi-config → Opcje interfejsu → Serial → Powłoka logowania NIEdostępna przez port szeregowy

b) usunięcie console=serial0, 115200 z pliku /boot/cmdline.txt

c) systemctl stop [email protected]

systemctl wyłącz [email protected]

6. apt-get zainstaluj python-opencv

7. apt-get zainstaluj imagemagick

Krok 4: Podłącz go i uruchom

Podłącz go i uruchom
Podłącz go i uruchom

Połącz swoje części dokładnie tak, jak pokazano na zdjęciu. Jeśli tego nie zrobisz, będziesz musiał wprowadzić zmiany w źródle, aby odzwierciedlić zmienione numery portów.

Ostrzeżenie! IO RPI nie akceptują 5V, należy użyć np. konwerter logiczny TTL do obniżania napięcia pochodzącego z czujników RFID lub PIR. Mój wybór padł na 74HC4050.

Ok, teoretycznie możesz teraz uruchomić rpi-alarm.py z:

nohup python rpi-alarm.py &

Ale wcześniej musisz edytować kod i zmienić identyfikatory na tagi RFID i adres e-mail. Kod dostaniesz tutaj:

github.com/boguszjelinski/rpi-alarm

Pierwsze uruchomienie rozpocznie się w trybie uczenia z miganiem zielonej i czerwonej diody LED. Jego celem jest stworzenie pliku rfid.txt z kodami RFID - zbliż swoje tagi do anteny, kilka razy dla każdej z nich, i wciskaj przełącznik, aż pojawi się dłuższe zielone światło. Następnie edytuj plik, aby sprawdzić, czy nie jest uszkodzony – powinien zawierać tyle wierszy, ile masz tagów, każdy po 10 znaków. Możesz utworzyć plik ręcznie, oczywiście tryb nauki zostanie pominięty. Należy pamiętać, że długie naciśnięcie przełącznika może spowodować uzbrojenie systemu, ponieważ po zakończeniu trybu uczenia system czeka na uzbrojenie - patrz "sygnały w użyciu".

Krok 5: Sygnały w użyciu

Sygnały w użyciu
Sygnały w użyciu

Zaktualizowana wersja kodu zawiera również „tryb uczenia” – migają naprzemiennie diody zielona i czerwona. Dłuższy zielony sygnał (po wciśnięciu przełącznika) potwierdza zakończenie trybu.

Krok 6: Kilka komentarzy na koniec

Kilka komentarzy do kodu źródłowego lub po prostu wskazówki, jak napisać własny:

- Diody LED i czujniki PIR są konfigurowane przez standardowe GPIO.setup odpowiednio GPIO. OUT i GPIO. IN

- do tego okablowania przełącznika potrzebujesz GPIO.setup (?, GPIO. IN, pull_up_down=GPIO. PUD_DOWN)

- Czytnik RFID jest podłączony do GPIO15, który jest RX płyty, można to odczytać za pomocą

ser = serial. Serial('/dev/ttyAMA0', 9600, timeout=0.1) i ser.read(12)

Działa to na Raspbian Jessie na RPI 1, ale może zostać zmienione na /dev/serial0 w innych dystrybucjach.

- Kiedyś używałem streamera do zrzucania obrazów z kamer USB:

streamer -c /dev/video0 -s 640x480 -o camdmp.jpg

i streamer -c /dev/video1 -s 640x480 -o camdmp2-j.webp

ale zepsuł się na Orange Pi, więc teraz używam CV. Aby zainstalować streamer, wpisz to:

apt-get install streamer

- zapisz niepokojący tekst budzenia do pliku alarmmsg.txt i wyślij e-mail z:

mail -s "Alarm" -t [email protected] -A camdmp-j.webp

- zmień swój adres e-mail w kodzie (linia 51)

Baw się dobrze!

Zalecana: