Съдържание:

Домашна сигурност с Raspberry Pi: 6 стъпки (със снимки)
Домашна сигурност с Raspberry Pi: 6 стъпки (със снимки)

Видео: Домашна сигурност с Raspberry Pi: 6 стъпки (със снимки)

Видео: Домашна сигурност с Raspberry Pi: 6 стъпки (със снимки)
Видео: ❤️ Моята формула за щастие в 6 стъпки 2024, Ноември
Anonim
Домашна сигурност с Raspberry Pi
Домашна сигурност с Raspberry Pi

Това е просто решение, което може да ви накара да се почувствате по -спокойни, когато напускате апартамента си - получавайте имейли със снимки на вашия имот, посещаван от нежелани гости, активирайте и дезактивирайте вашата система за сигурност по най -лесния и надежден начин (натиснете превключвател и се приближете до RFID етикет). И не струва почти нищо - плащам повече месечно за достъп до интернет. Имате нужда от клон на Raspberry Pi, няколко електронни части и … достъп до интернет.

Моля, обърнете внимание, че Zoneminder не се използва в това ръководство. Ако искате да използвате Zoneminder, погледнете тук:

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

Стъпка 1: Хардуер, от който се нуждаете

Хардуер, от който се нуждаете
Хардуер, от който се нуждаете

1. Raspberry Pi или негов клон, вижте също:

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

Най -евтиният, който ще ви осигури достъп до мрежата и броя на камерите, от които се нуждаете. Не забравяйте да закупите подходящо захранване с подходящ конектор

2. RFID четец с антена

3. PIR сензор (и)

4. моментен превключвател, който свързва верига само когато натиснете върху нея (с пружина?)

5. два светодиода - зелен и червен. Или един RGB светодиод.

6. два 1k резистора

7. USB камера (и)

8. UTP кабел за свързване на PIR сензори, превключвателя, светодиодите и RFID четеца (успях да свържа всички с един кабел с 8 проводника или 4 двойки, ако желаете)

9. малка или две кутии, ако искате да защитите електронните си части или не искате да се похвалите с уменията си за запояване.

10. реле за включване на източник на светлина - за инциденти през нощта

Стъпка 2: Инсталирайте Postfix

След като сте инсталирали Linux, ще трябва да инсталирате няколко софтуерни компонента, за да изпълните моя примерен фрагмент. Първо трябва да инсталирате Postfix, ако искате да изпращате имейли:

1. apt-get install postfix (ще бъдете помолени да изберете например „само локално“)

2. отидете на /etc /postfix и създайте файл sasl_passwd и поставете един ред в него:

[smtp.gmail.com]: 587 john.smith: pass1234

Заменете потребителското име и паролата с вашите идентификационни данни; забелязахте, че това е ред за акаунт в Google Mail. Този акаунт се използва за изпращане на алармени известия (изпратени от).

3. хеш на пощенска карта:/etc/postfix/sasl_passwd

4. rm/etc/postfix/sasl_passwd

5. заменете съдържанието на /etc/postfix/main.cf със следните редове (може да искате да коригирате името на хоста):

smtpd_banner = $ myhostname ESMTP $ mail_name (Ubuntu)

biff = не

append_dot_mydomain = не

readme_directory = не

smtp_tls_session_cache_database = btree: $ {data_directory}/smtp_scache

smtp_tls_security_level = май

smtp_use_tls = да

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

myhostname = raspberrypi

myorigin = $ myhostname

alias_maps = хеш:/etc/aliases

alias_database = hash:/etc/aliases

mydestination = raspberrypi, localhost.localdomain, localhost

relayhost = [smtp.gmail.com]: 587

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

mailbox_size_limit = 0

разделител на получател = +

inet_interfaces = всички

smtp_sasl_auth_enable = да

smtp_sasl_password_maps = хеш:/etc/postfix/sasl_passwd

smtp_sasl_security_options =

smtp_sasl_tls_security_options = noanonymous

6. /etc/init.d/postfix рестартиране

7. може да тествате конфигурацията на Postfix чрез sendmail [email protected] тестово съдържание.

Стъпка 3: Подгответе софтуера

За моите Raspberry Pi B+ и Raspbian Jessie трябваше да премина през следните допълнителни стъпки:

1. apt-get install python-setuptools

2. easy_install pip

3. pip install pyserial

4. apt-get инсталирайте mailutils

5. забранете използването на сериен код чрез конзолно регистриране. Открих няколко различни начина:

а) raspi-config → Опции за взаимодействие → Сериен → Обшивка за вход НЕ достъпна през сериен

б) премахване на конзола = serial0, 115200 от файл /boot/cmdline.txt

в) systemctl stop [email protected]

systemctl деактивирайте [email protected]

6. apt-get install python-opencv

7. apt-get install imagemagick

Стъпка 4: Свържете го и го стартирайте

Свържете го и го стартирайте
Свържете го и го стартирайте

Свържете частите си точно както е представено на снимката. Ако не го направите, ще трябва да направите промени в източника, за да отразят променените номера на портовете.

Внимание! RPI IO не приемат 5V, трябва да използвате напр. логически преобразувател TTL за намаляване на напрежението, идващо от RFID или PIR сензори. Моят избор беше 74HC4050.

Добре, теоретично сега бихте могли да стартирате rpi-alarm.py с:

nohup python rpi-alarm.py &

Но преди това трябва да редактирате кода и да промените идентификационните номера на вашите RFID тагове и имейл адрес. Можете да получите кода тук:

github.com/boguszjelinski/rpi-alarm

Първото стартиране ще започне с режим на обучение с мигащи зелени и червени светодиоди. Неговата цел е да създаде rfid.txt файл с RFID кодове - приближете маркерите си до антена, няколко пъти за всеки един, и натиснете превключвателя, стига да получите по -дълга зелена светлина. След това редактирайте файла, за да видите дали не е повреден - той трябва да съдържа толкова редове, колкото имате тагове, по 10 знака всеки. Можете да създадете файла ръчно, разбира се, режимът на обучение ще бъде пропуснат. Обърнете внимание, че продължителното натискане на превключвателя може да доведе до активиране на системата, тъй като след завършване на режима на обучение системата изчаква да бъде активирана - вижте „използвани сигнали“.

Стъпка 5: Използвани сигнали

Използвани сигнали
Използвани сигнали

Актуализираната версия на кода съдържа и „режим на обучение“- зеленият и червеният светодиод мигат последователно. По -дълъг зелен сигнал (след натискане на превключвателя) потвърждава завършването на режима.

Стъпка 6: Няколко коментара в края

Няколко коментара към изходния код или просто намеци да напишете свой собствен:

- Светодиодите и PIR сензорите се конфигурират от стандартни GPIO.setup GPIO. OUT и GPIO. IN съответно

- за това окабеляване на превключвателя се нуждаете от GPIO.setup (?, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)

- RFID четецът е свързан към GPIO15, който е RX на платката, с това може да се чете

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

Това работи на Raspbian Jessie на RPI 1, но може да бъде променено на /dev /serial0 с други дистрибуции.

- Използвах стример за изхвърляне на изображения от USB камери:

стример -c /dev /video0 -s 640x480 -o camdmp.jpg

и стриймър -c /dev /video1 -s 640x480 -o camdmp2-j.webp

но се разби на Orange Pi, така че сега използвам CV. За да инсталирате стример, въведете следното:

apt-get инсталирайте стример

- напишете тревожен текст за събуждане във файла alarmmsg.txt и изпратете имейл с:

поща -s "Аларма" -t [email protected] -A camdmp-j.webp

- променете имейл адреса си в кода (ред 51)

Забавлявай се!

Препоръчано: