Делаем своими руками видеорегистратор из Raspberry Pi
"Raspberry Pi - это одноплатный компьютер, созданный
для обучения базовым компьютерным наукам в школах, позиционируется как
дешёвое решение для начинающих разработчиков. Выпускается в двух
версиях: «A», стоимостью $25, и «B» ($35, с ethernet). Разрабатывается Raspberry Pi Foundation." - Википедия.
Как это будет работать?
Задача Raspberry Pi оборудованной камерой и датчиком движения,
записать видео на подмонтированный ресурс файл-сервера. В качестве
файл-сервера подойдет любой компьютер на базе Linux или маздая с
расшаренным Samba-ресурсом. Если у вас более одного Raspberry Pi
используемого в качестве камеры, то на расшаренном ресурсе есть смысл
создать каталоги с названием помещений, где будут работать камеры на
базе Rasberyy Pi.
Название файлов будут содержать дату и время создания (это просто
удобнее чем в виде порядкового номера). Чтобы хранилище не
переполнялось, в Cron на одной из камер будет запущен скрипт, который
будет удалять старые файлы. События будут писаться после того, как
отработает датчик движения, и продолжаться еще какое-то время, которое
вы определите сами. Для просмотра видеоинформации можно использовать
любой плейер понимающий кодек H264. Так же можно смотреть все на другом
Raspberry Pi, с помощью omxplayer, или я предполагаю, что можно
использовать дистрибутивы с XBMC.
Конечно это не может сравниться с промышленными образцами
видеорегистраторов, но учитывая их стоимость, и стоимости всех лицензий,
включая лицензии на камеры - это не плохое решение! Обуревшие до
предела производители софта не оставляют нам шансов!
Преступим:
- Детали:
- Raspberry Py
- Корпус для Raspberry Ry
Датчик движения (PIR Motion sensor) HC-SR501 (подробнее тут):
Камера для Raspberry Pi:
Конструкция
Собираем конструкцию как показанно на рисунках:
Камера
Подсоедините камеру к разъему возле ethernet синей ленточкой к
ethernet. Просверлите в корпусе отверстие для вывода камеры и для ее
крепежа! Будьте внимательны! При креплении камеры её плату нельзя
перегибать, даже слабо! Потому, что тогда из неё выпадает передний
разъем!
Датчик движения
Датчик движения крепится с наружной стороны корпуса для Raspberry Pi двумя длинными винтами м2.5 и гайками м2.5.
Далее подъсоедините датчик к назъему GPIO как показанно на схемах (Расположение контактов датчика смотрите выше):
Всё! С железом мы справились! Теперь пишем рабочие скрипты:
Софт
Создадим скрипт на питоне, как показанно тут
http://www.raspberrypi-spy.co.uk/archive/python/pir_1.py и немного его доработаем. Суть доработки, это запуск камеры в режиме записи.
Скачать скрипт
Теперь создадим точку монтирования и напишем скрипт для монтирования и очистки просроченных записей видео-событий.
vi /usr/local/bin/inspect.sh
#!/bin/bash
if [ -d /mnt/video/VIDEO ];then
echo "Сервер замонтирован"
else
echo "Монтируем сервер"
mount.cifs //SERVER/SHARE/ /mnt/video/ -o username=username,password=passwd,domain=DOMAIN
fi
# очистка старых файлов
# +1 один день на зад
day=1
echo "Очищаем старые файлы за ${day} дней"
find /mnt/video/VIDEO/ -type f -mtime +${day} -delete
Тут подразумевается, что на сервере есть каталог VIDEO. Я рекомендую его назвать по имени охраняемого помещения.
Теперь осталось позаботиться о том, чтобы скрипт запустился при
загрузке и в Cron. Почему в Cron? А, чтобы постоянно проверял наличие
замонтированного каталога и чистил старые файлы.
...
/usr/local/bin/inspect.sh
/usr/local/bin/wideo-service.py
exit 0
* */1 * * * /usr/local/bin/inspect.sh
Что можно добавить? Я рекомендую в кроме запуска камеры посылать на
пост охраны по Jabber или Winpopup сообщения о наличии движения в
помещении. Это не сложно и я описывать это не буду, всё можно сделать по
аналогии с запуском камеры.
Оригинал статьи. http://linuxcenter.kz/page/%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC-%D1%81%D0%B2%D0%BE%D0%B8%D0%BC%D0%B8-%D1%80%D1%83%D0%BA%D0%B0%D0%BC%D0%B8-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80-%D0%B8%D0%B7-raspberry-pi
|