Raspberry Pi 3 имеет встроенный модуль Wi-Fi, благодаря этому микрокомпьютер не привязан кабелем к роутеру. Конструкция небольшая по размерам и ее можно установить в любом удобном месте, где есть питание и связь с роутером по Wi-Fi.
Конструкция осталась прежней, т.е. как у видеорегистратора http://linux.cpms.ru/?p=7774, только PIR сенсор (датчик движения) пришлось подключить к другим контактам. Это связано с тем, что PI 3 имеет 40 контактов GPIO, а Raspberry Pi всего 26. Схема подключения датчика движения показана на рисунке.
Установите FTP сервер proftpd. Как это сделать, описано в статье Как установить и использовать FTP сервер на Raspberry Pi
В параметрах proftpd.conf укажите DefaultRoot /srv/ftp, также смените владельца и права доступа к этому каталогу командами:
sudo chown -R pi /srv/ftp
sudo chmod -R 777 /srv/ftp
Иногда может понадобиться дать команду
sudo chgrp -R pi /srv/ftp
В отличие от проекта http://linux.cpms.ru/?p=7774 при срабатывании датчика движения видео будет писаться не в подмонтированный каталог, а в домашний каталог FTP сервера /srv/ftp в папку video на самом Raspberry Pi 3. Надобность в монтировании каталога отпадает, так как он смонтирован по определению, т.е. при загрузке системы.
Затем вы можете подключаться по FTP с любого компьютера локальной сети, скачивать и просматривать видеофайлы. Для просмотра можно использовать медиаплеер VLC. Чтобы файлы h264 увидеть в окне медиафайлов, в поле Тип файла выберите Все файлы.
Скрипт wideo-service.py следит за работой датчика движения и при его срабатывании включает Pi камеру на запись. Видеофайл в формате h264 пишется в каталог /srv/ftp/video. Имя файла - это дата и время записи.
Длительность записи можно изменить. На скриншоте длительность 20000 мс, т.е. 20 секунд. Вы можете отредактировать по своему усмотрению.
Старые видеофайлы также будут автоматически удаляться через сутки. Скрипт inspect.sh удаляет старые видеофайлы за более чем один день назад.
Скачать скрипты
Эти скрипты находятся в каталоге файлов.
Запомните каталог, в который скопировали файлы.
Установите файловый менеджер Midnight Commander (аналог Total Commander в Windows). В терминале дайте команду
sudo apt-get install mc
Для удобства работы в mc установите русскую локаль. Как это сделать, описано в статье Как установить и настроить Raspbian версии Jessie и Stretch. Для работы как обычный пользователь pi, дайте команду mc. Если необходимы права root, используйте команду sudo mc.
Перейдите в каталог, в котором сохранили файлы скриптов. Скопируйте скрипты в каталог /usr/local/sbin командой
sudo cp inspect.sh wideo-service.py /usr/local/sbin
Для того, чтобы скрипты мог запускать пользователь pi, измените владельца и права доступа командами
sudo chown -R pi /usr/local/sbin
sudo chmod -R 755 /usr/local/sbin
Иногда может понадобиться дать команду
sudo chgrp -R pi /usr/local/sbin
Скрипты должны запускаться при загрузке системы, поэтому команды запуска добавим в файл rc.local перед строкой exit 0.
sudo nano /etc/rc.local
Проверьте датчик движения. Выполните команды
cd /usr/local/sbin
./wideo-service.py
Зайдите в зону действия датчика. Вы увидите сообщение Motion detected! (Движение обнаружено!). Нажмите Ctrl+C для выхода.
Осталось отредактировать crontab, чтобы inspect.sh запускался каждый час и удалял старые видеофайлы, если таковые будут. Дайте команду
crontab -e
и добавьте строку
0 * * * * /usr/local/sbin/inspect.sh
и сохраните файл.
Перезагрузите систему.
Проект рассчитан на относительно редкое срабатывание датчика, у меня за сутки видеофайлы занимают объем около 5-6 Гбайт, а SD-карта на 32 Гбайт. Если запись идет почти без перерывов, то объема карты может не хватить. В этом случае проект linux.cpms.ru/?p=7774 предпочтительнее, там запись идет в подмонтированный каталог на другом компьютере сети.
Если что-то не работает, то проверьте владельцев и права доступа к файлам.
Если при работе с компьютером, Pi камерой, Wi-Fi возникают проблемы, то попробуйте увеличить ток на портах USB. По умолчению максимальный ток потребления на всех USB портах составляет 600mA. Вы можете увеличить ток на всех четырех портах до 1.2 А, добавив параметр max_usb_current = 1 в файл /boot/config.txt. Естественно, блок питания компьютера должен обеспечивать возросшее потребление тока.
После корректировки файла не забудьте перезагрузить Raspberry Pi.
Использованные ресурсы
http://linux.cpms.ru/?p=7774
http://robocraft.ru/blog/electronics/3158.html
http://ur7hbq.blogspot.ru/2015/06/usb.html
|