Система домашней безопасности на Raspberry Pi: обнаружение движения PIR + камера с email-уведомлениями
Компоненты оборудования
- Модуль камеры Raspberry Pi
- PIR-датчик движения (разъём JST)
- Raspberry Pi 3 Model B
Программное обеспечение и сервисы
- Учётная запись Gmail (отправитель и получатель)
- SSH-доступ для удалённой настройки
Обзор проекта
В этом проекте Raspberry Pi 3 Model B работает в паре с модулем камеры и PIR-датчиком движения. При обнаружении движения камера делает снимок, а система отправляет его на заданный email-адрес через Gmail.
Схема подключения
Подключите вывод 5V датчика к пину 3 (5 V) Raspberry Pi, вывод GND — к пину 5 (GND), а выходной сигнал (OUT) — к GPIO 23. При необходимости можно использовать другой GPIO-пин, но тогда нужно обновить Python-код соответственно.
Программная реализация на Python
Ниже приведён основной скрипт. Перед запуском замените адреса электронной почты и пароль Gmail на свои.
from picamera import PiCamera
from time import sleep
import smtplib
import time
from datetime import datetime
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
import RPi.GPIO as GPIO
TO_EMAIL = 'TO_EMAIL'
FROM_EMAIL = 'FROM_EMAIL'
PASSWORD = 'PASSWORD' # Пароль Gmail или пароль приложения
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN)
camera = PiCamera()
camera.resolution = (1024, 768)
camera.start_preview()
while True:
if GPIO.input(23):
print("Движение обнаружено...")
time.sleep(2) # Разогрев камеры
camera.capture('movement.jpg')
time.sleep(10) # Пауза для предотвращения повторных срабатываний
msg = MIMEMultipart()
msg['Subject'] = 'Тревога безопасности'
msg['From'] = FROM_EMAIL
msg['To'] = TO_EMAIL
with open('movement.jpg', 'rb') as fp:
img = MIMEImage(fp.read())
msg.attach(img)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(FROM_EMAIL, PASSWORD)
server.send_message(msg)
server.quit()
Подробную инструкцию см. в полном руководстве: Raspberry Pi Home Security System with Camera and PIR Sensor.
Производственный процесс
- Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
- Домашний монитор температуры и влажности на Raspberry Pi с веб-дашбордом — удаленный трекинг в реальном времени
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Как подключить однопроводный датчик температуры DS1820 к Raspberry Pi через GPIO
- Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
- Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
- Надёжный домашний мониторинг с Home Assistant на Raspberry Pi: движение, алермы и видеозахват
- Создание умного домашнего контроллера 433 МГц с Sensorflare и Raspberry Pi
- Raspberry Pi: логирование фоторезистора и система оповещений — низкопотребительный световой датчик на Python
- Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20