Использование старого ноутбука как камеры наблюдения

Встала задача сделать простое виденаблюдение из подручных средств с минимумом денежных вливаний. Решение должно быть вида «включил и забыл». В итоге остановился на следущем решении: старый ноутбук с веб-камерой и загрузочная флешка с минимальным необходимым софтом. О том что использовалось и как настроить это все и пойдет дальше речь.

Выбор железа

Ранее у меня уже использовался старый нетбук EeePC 4G Surf в качестве точки доступа. Однако аппаратная точка доступа уже давно куплена, поэтому выбор очевиден, т.к. в его составе есть все что нужно: камера, беспроводный модуль и достаточно мощный (для камеры) процессор. Процессор нужен для работы софта по определению движения. Сам нетбук очень компактный и его легко разместить с комфортом почти на любой подходящей поверхности.

Выбор софта

Из всего доступного для GNU/Linux софта по видеонаблюдению с детектированием движения motion — самый подходящий. Его возможностей достаточно для определения движения и генерации картинок и видео. Так же этот софт умеет выполнять простые действия при наступлении определенных событий, например потеря видеопотока с камеры (зависит от поддержки со стороны драйвера камеры).

Сборка системы

Для загрузочной флешки сделаем специальный дистрибутив ОС. Для этого добавим в ОС все нужное для нашей задачи и сделаем из нее загрузочный live-образ. Создание дистрибутива удобнее всего сделать с помощью debootstrap или аналогичной утилиты других вариантов GNU/Linux:

debootstrap --arch=i386 stable ./cctv http://ftp.ua.debian.org/debian/

После отработки этой команды в директории cctv получаем минимальный дистрибутив для дальнейшей настройки. Следующий шаг — это установка ПО, для чего прибегнем к смене корневой директории относительно нашего дистрибутива:

LC_ALL=C chroot . /bin/bash

Не забудьте перед этим смонтировать все необходимые файловые системы или воспользуйтесь schroot. После смены директории ставим необходимый софт:

apt install linux-image-686 linux-headers-686 aufs-tools squashfs-tools genisoimage xz-utils wireless-tools wpasupplicant motion

Поддержку aufs и squashfs добавляем для того, чтобы с в дальнейшем сгенерировать live-образ. Добавляем пользователя от имени которого будет работать motion. Так же добавляем этого пользователя в нужные группы доступа:

useradd cctv
usermod -a -G video,sudo cctv

Следующий шаг — добавляем конфигурацию motion в домашнюю директорию пользователя, от имени которого он будет работать:

cp /etc/motion/motion.conf /home/cctv/.motion/motion.conf

Конфигурационный файл motion хорошо откомментирован, поэтому настроить его не составит труда. Рекомендую только сменить директорию сохранения картинок на ту, в которую у вас есть доступ на запись.

После того, как все необходимые конфигурации пользователя сделаны — настроим систему. Включим wpasupplicant, чтобы при старте ОС смогла настроить беспроводную сеть:

systemctl enable wpa_supplicant

Если при выполнении предыдущей команды вы увидите Running in chroot, ignoring request., то используйте для входа механизм systemd-nspawn, чтобы запустить «контейнер» и сделать все необходимые настройки. Добавляем конфигурацию для беспроводного интерфейса, чтобы он включался при старте (файл /etc/network/interfaces.d/wlan0):

auto wlan0
iface wlan0 inet dhcp
    wpa-ssid mynetworkname
    wpa-psk mysecretpassphrase

Вместо wlan0 подставьте свой интерфейс.

Теперь создадим сам образ. Для этого возьмем Linux Live Kit и поместим его в директорию /tmp, как советую официальный HOWTO

cd /tmp && wget https://github.com/Tomas-M/linux-live/archive/$(VERSION).tar.gz
tar xzf $(VERSION).tar.gz
cd linux-live-$(VERSION)

Сконфигурируем Linux Live Kit, как советуют в HOWTO, т.е. сменим только название образа:

nano config
LIVEKITNAME="cctv"

Чтобы создать образ «соберем» его:

./build

После чего в директории /tmp будет видна директория $(LIVEKITNAME)-data-<time> внутри котрой наш образ. Копируем его содержимое на флешку:

cp -r $(LIVEKITNAME)-data-<time>/cctv /media/sdXY

/media/sdXY — точка монтирования вашей флешки. Чтобы сделать ее загрузочной, если она еще не является такой — перейдите в директорию /media/sdXY/cctv/boot и выполните скрипт bootinst.sh

Эксплуатация

Получившуюся в предыдущем пункте флешку вставляем в нетбук и грузимся с нее. После окончания загрузки входим от имени нашего пользователя и запускаем наш софт:

motion

Дождитесь, когда загорится светодиод на камере — это будет означать, что камера включилась и motion уже работает. Если все сделано правильно, то в директории, куда у вас настроено сохранение картинок или видео они будут появляться как только motion детектирует движение. Опционально можно настроить копирование этих картинок куда-то на удаленный сервер или например на Dropbox. Так же опционально можно настроить автоматический запуск motion путем правки файла /etc/defaults/motion и глобального когфига motion /etc/motion/motion.conf

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.