$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
Motion — весьма мощная программа для работы с видеокамерой. Кроме всего прочего, она позволяет определять движение в кадре и запускать по этому событию определенные действия. Motion также устанавливает свой веб-сервер, позволяющий удаленно контролировать настройки программы и смотреть видео.
Для установки Motion выполним команду:
sudo apt-get install motion
Перед конфигурированием веб-сервера нужно прежде всего определить порт, на котором этот сервер заработает. Для этого откроем файл конфигурации и отредактируем его:
sudo nano /etc/motion/motion.conf
Назначим порты, на которые будет выводиться поток:
webcontrol_port 8088 webcam_port 8089
Установим разрешение на удаленное администрирование и удаленный доступ:
webcam_localhost off control_localhost off
И зададим логин-пароль для доступа:
control authentication login:password
Большинство современных веб-камер поддерживают передачу сжатого видео. Для того чтобы включить этот режим, необходимо найти в файле конфигурации строчку V412_palette 8 и заменить 8 на 2. Если камера не поддерживает этот режим, Motion при запуске предупредит вас о несоответствии форматов и переключится в поддерживаемый формат.
Плюсом Motion является встроенный датчик движения. То есть нам не обязательно вести запись с камеры постоянно — пока движения в зоне наблюдения нет, запись не ведется, но как только там появится движение, Motion начнет запись:
output all off
Можно запустить Motion как сервис, для этого установим параметр:
daemon on
Для запуска Motion набираем в терминале:
sudo motion
Сохранение снимков производится в каталог /tmp/motion (рис. 4.25). Учитывая небольшой объем дискового пространства Raspberry Pi, логично переопределить каталог сохранения:
target dir /tmp/motion
Видеопоток Motion (рис. 4.26) доступен по адресу:
http://Raspberry IP: stream port
Управление Motion (рис. 4.27) доступно по адресу:
http://Raspberry IP: webcontrol port
Одной из интересных особенностей Motion является возможность установить обработчики событий: обнаружено движение — on_event_start, и картинка сохранена — on_picture_save. При обнаружении движения также можно отправлять уведомление на e-mail.
Чтобы реализовать эту возможность, установим утилиту ssmtp, которая позволяет слать почту через relay-сервер или через обычный SMTP-аккаунт на стороннем сервере:
sudo apt-get install ssmtp
параметров утилиты откроем ее конфигурационный файл:
sudo nano /etc/ssmtp/ssmtp.conf
и установим следующие параметры (листинг 4.1):
Листинг 4.1. Параметры конфигурационного файла утилиты ssmtp
* Указываем имя пользователя на smtp-сервере root=victor.petin@gmail.com
* Указываем smtp-сервер, через который будем отправлять письма mailhub=smtp.gmail.com:4 65
* Выставляем принудительное переписывание домена в поле From:
* В противном случае наше письмо не будет отправлено сторонним
* smtp-сервером rewriteDomain=gmail. com
* запрещаем скриптам "решать", с какого ящика они отправляют письмо.
* Поле From: будет выставляться самим smtp.
FromLineOverride=NO
UseTLS=YES
* логин - пароль AuthUser=victor.petin@gmail.com AuthPass=*********
Создадим скрипт send_motion.sh:
sudo touch /usr/bin/send motion.sh
и запишем в него следующий код:
#!/bin/sh
echo "motion -$(date)!!!" | ssmtp online-spravka@bk.ru
Сделаем файл исполняемым:
chmod +x /usr/bin/send motion.sh
Затем нужно вписать в файл настроек Motion следующую строку:
on event start /usr/bin/send motion.sh
Теперь при движении в зоне наблюдения камеры к вам на почту придет уведомление.