- Необходимые компоненты:
- Рабочее объяснение:
- Описание схемы:
- Объяснение конфигурации и программирования Raspberry Pi:
В мире Интернета вещей (IoT), когда у нас есть все технологии, которые революционизируют нашу жизнь, отличной идеей является разработка системы, которой можно будет управлять и контролировать из любого места. Существует много типов хороших систем безопасности и камер для домашней безопасности, но они очень дороги, поэтому сегодня мы создадим недорогую простую систему оповещения о вторжении на базе Raspberry Pi, которая не только предупреждает вас по электронной почте, но и отправляет изображение Злоумышленник при обнаружении любого.
В этом проекте, основанном на IoT, мы построим систему домашней безопасности с использованием датчика PIR и камеры PI. Эта система обнаружит присутствие Злоумышленника и быстро предупредит пользователя, отправив ему письмо с предупреждением. Это письмо также будет содержать изображение нарушителя, снятое камерой Pi. Raspberry Pi используется для управления всей системой. Эта система может быть установлена у входной двери вашего дома или офиса, и вы можете контролировать ее из любой точки мира, используя свою электронную почту через Интернет.
Необходимые компоненты:
- Raspberry Pi
- Pi камера
- Датчик PIR
- СВЕТОДИОД
- Хлебная доска
- Резистор (1к)
- Соединительные провода
- Источник питания
Здесь вы можете купить все компоненты, используемые в этом проекте.
Рабочее объяснение:
Работа с этим проектом очень проста. Датчик PIR используется для обнаружения присутствия любого человека, а камера Pi используется для захвата изображений при обнаружении присутствия.
Каждый раз, когда кто-либо или злоумышленник подходит к датчику PIR, датчик PIR запускает камеру Pi через Raspberry Pi. Raspberry Pi отправляет команды на камеру Pi, чтобы щелкнуть изображение и сохранить его. После этого Raspberry Pi создает письмо и отправляет его на указанный адрес электронной почты с недавно нажатыми изображениями. Письмо содержит сообщение и фотографию злоумышленника в качестве вложения. Здесь мы использовали сообщение «Найдите вложение», вы можете изменить его соответствующим образом в Коде, приведенном в конце.
Здесь изображения сохраняются в Raspberry Pi с именем, которое само содержит время и дату входа. Чтобы мы могли проверить время и дату проникновения злоумышленника, просто взглянув на имя изображения, проверьте изображения ниже. Если вы новичок в Pi Camera, ознакомьтесь с нашим предыдущим руководством по системе мониторинга посетителей с Pi Camera.
Вы также можете настроить диапазон обнаружения или расстояние этой системы с помощью потенциометров датчика PIR. Узнайте больше о датчике PIR здесь, чтобы настроить диапазон, а также проверьте охранную сигнализацию на основе датчика PIR.
Описание схемы:
В этой системе оповещения о вторжении нам нужно только подключить модуль камеры Pi и датчик PIR к Raspberry Pi 3. Камера Pi подключается к разъему камеры Raspberry Pi, а PIR подключается к контакту 18 GPIO. Светодиод также подключен к контакту 17 GPIO через резистор 1 кОм.
Объяснение конфигурации и программирования Raspberry Pi:
Здесь для Программы мы используем язык Python. Перед кодированием пользователю необходимо настроить Raspberry Pi. Ниже вы найдете два руководства по началу работы с Raspberry Pi и установке и настройке ОС Raspbian Jessie в Pi:
- Начало работы с Raspberry Pi - Введение
- Начало работы с Raspberry Pi - конфигурация
После успешной установки ОС Raspbian на Raspberry Pi нам необходимо установить файлы библиотеки камеры Pi для запуска этого проекта в Raspberry pi. Для этого нам нужно выполнить данные команды:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
После этого пользователю необходимо включить камеру Raspberry Pi с помощью инструмента настройки программного обеспечения Raspberry Pi (raspi-config):
$ sudo raspi-config
Затем выберите « Включить камеру» и «Включить».
Затем пользователю необходимо перезагрузить Raspberry Pi, выполнив sudo reboot , чтобы новые настройки могли быть приняты. Теперь ваша камера Pi готова к использованию.
Теперь, после настройки Pi Camera, мы установим программное обеспечение для отправки почты. Здесь мы используем ssmtp, который является простым и хорошим решением для отправки почты с использованием командной строки или Python Script. Нам нужно установить две библиотеки для отправки писем по SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
После установки библиотек пользователю необходимо открыть файл ssmtp.conf и отредактировать этот файл конфигурации, как показано на рисунке ниже, а затем сохранить файл. Чтобы сохранить и выйти из файла, нажмите «CTRL + x», затем «y» и затем нажмите «ввод».
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = ДА UseSTARTTLS = ДА UseTLS = ДА
Мы также можем протестировать его, отправив тестовое письмо, выполнив команду ниже, вы получите письмо на указанный адрес электронной почты, если все работает нормально:
эхо "Привет, Саддам" - почта -s "Тестирование…" [email protected]
Программа Python этого проекта играет очень важную роль для выполнения всех операций. Прежде всего, мы включаем необходимые библиотеки для электронной почты, инициализируем переменные и определяем контакты для PIR, светодиода и других компонентов. Для отправки простой электронной почты достаточно smtplib, но если вы хотите отправлять почту более чистым способом, с темой, вложениями и т. Д., Вам необходимо использовать MIME (многоцелевые расширения почты Интернета).
import RPi.GPIO as gpio import picamera import time import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText from email.MIMEBase import MIMEBase из электронной почты импортировать кодировщики из электронной почты.mime.image импортировать MIMEImage
После этого мы инициализировали почту и определяем почтовый адрес и сообщения:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Attachment" body = "Найдите вложение"
Затем мы создали функцию def sendMail (data) для отправки почты:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (изображение) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "ваш пароль") text = mail. as_string () server.sendmail (fromaddr, toaddr, текст) server.quit ()
Функция def capture_image () создана для захвата изображения злоумышленника с указанием времени и даты.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) данные печати camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (данные)
Затем мы инициализировали Picamera с некоторыми его настройками:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
И, наконец, мы прочитали выходные данные датчика PIR, и когда он становится высоким, Raspberry Pi вызывает функцию capture_image () для захвата изображения злоумышленника и отправки предупреждающего сообщения с изображением злоумышленника в качестве вложения. Мы использовали функцию sendmail () insdie capture_image () для отправки почты.
в то время как 1: если gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () while (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (светодиод, НИЗКИЙ) time.sleep (0,01)
Таким образом, как работает эта система безопасности Raspberry Pi, вы также можете использовать ультразвуковой датчик или ИК-датчик для обнаружения присутствия грабителя или злоумышленника. Далее проверьте полный код и демонстрационное видео ниже.