цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Детектор движения на Raspberry Pi с фотосъемкой

Детектор движения на Raspberry Pi с фотосъемкой

Автор: Mike(admin) от 11-01-2019, 08:15

Сигнализация на Raspberry Pi с датчиком движения и автоматической съемкой


В этом проекте будет показано, как сделать некое подобие сигнализации на Raspberry Pi, которая делает фотографии при обнаружении движения. Такое устройство можно использовать в качестве детектора при проникновении грабителей, фотографировать диких животных или в других целях. Мы будем использовать камеру Raspberry Pi V2, а код будет написан на языке программирования Python.


Детектор движения на Raspberry Pi с фотосъемкой

Схема для этого проекта помимо Raspberry Pi состоит из PIR датчика движения, кнопки и модуля камеры, который вы подключите к своему Pi. Кнопка – это дополнительный компонент, который позволяет остановить скрипт Python.


Детектор движения на Raspberry Pi с фотосъемкой

Для программирования Raspberry Pi мы будем использовать код на Python и встроенную библиотеку picamera, которая упрощает управление камерой. Для управления линиями GPIO мы будем использовать библиотеку gpiozero, которая содержит классы для наиболее популярных компонентов, таких как кнопки, светодиоды, датчик движения и т. д.


Вам нужно включить программное обеспечение камеры Raspberry Pi, прежде чем вы сможете использовать модуль камеры. В среде рабочего стола перейдите в главное меню и выберите Preferences - Raspberry Pi Configuration. Выберите вкладку Interfaces, и откроется окно, как показано ниже.


Детектор движения на Raspberry Pi с фотосъемкой

Либо в окне терминала введите следующую команду: pi@raspberry:~ $ sudo raspi-config.


Вы должны увидеть инструмент настройки программного обеспечения Raspberry Pi. Выберите Interfacing Options.


Детектор движения на Raspberry Pi с фотосъемкой

Активируйте (Enable) камеру и перезагрузите Raspberry Pi.


Детектор движения на Raspberry Pi с фотосъемкой

При включенном программном обеспечении камеры выключите Raspberry Pi, а затем подключите камеру к порту CSI. Убедитесь, что камера подключена с синими буквами, направленными вверх и ориентированными, как показано на следующем рисунке. Затем снова запустите Raspberry Pi.


Детектор движения на Raspberry Pi с фотосъемкой

Когда камера подключена, следуйте приведенной ниже принципиальной схеме, чтобы подключить остальную цепь.


Детектор движения на Raspberry Pi с фотосъемкой

PIR датчик движения, который мы используем в этом проекте, должен питаться от линии 5В. Для работы других датчиков требуется 3,3 В. Прочитайте документацию вашего датчика перед подключением схемы.


Теперь настало время написать код программы. Для управления камерой вы будете использовать встроенную библиотеку Picamera. Вот обзор того, что код должен делать:


  1. Инициализировать камеру
  2. Сделать снимок, когда датчик движения PIR обнаруживает движение
  3. Сохранение фотографии в папке Desktop (Рабочий стол)
  4. Инкрементальное наименование фотографий (image_1.jpg, image_2.jpg и так далее)
  5. Остановить камеру, когда нажата кнопка

Создайте новый файл с помощью Python 3 (IDLE) и скопируйте следующий код. Затем сохраните код в папке Desktop со следующим именем: burglar_detector.py. Код хорошо документирован и довольно прост для понимания.



#импортировать необходимые пакеты
from gpiozero import Button, MotionSensor
from picamera import PiCamera
from time import sleep
from signal import pause

#создать объекты, которые ссылаются на кнопку,
#датчик движения и PiCamera
button = Button(2)
pir = MotionSensor(4)
camera = PiCamera()

#запустить камеру
camera.rotation = 180
camera.start_preview()

#Для имен изображений
i = 0

#остановить работу камеры при нажатии кнопки
def stop_camera():
    camera.stop_preview()
    #выйти из программы
    exit()

#сделать фото при обнаружении движения
def take_photo():
    global i
    i = i + 1
    camera.capture('/home/pi/Desktop/image_%s.jpg' % i)
    print('A photo has been taken')
    sleep(10)

#назначить функцию, которая запускается при нажатии кнопки
button.when_pressed = stop_camera
#назначить функцию, которая запускается при обнаружении движения
pir.when_motion = take_photo

pause()



© digitrode.ru


Теги: Raspberry Pi, датчик движения, сигнализация



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий