Видеонаблюдение на orange pi zero — дешево и совсем не сердито

в 9:57, , рубрики: wi-fi, видеонаблюдение, одноплатный компьютер, Работа с видео

Недавно поставил себе задачу реализовать видеонаблюдение со следующими характеристиками:

  1. Минимальное энергопотребление
  2. Минимальный размер устройства, которое будет принимать видео с камеры (или нескольких камер). С таким небольшим размером, чтобы можно было его, к примеру, запихать в монтажную коробочку 10-10 см или вовсе спрятать в широком кабель-канале (!)
  3. IP-камеры будут подключены по wi-fi, то есть невозможно определить, кто с них смотрит/пишет видео. Запитать их можно от общей сети, будь то подъездное освещение или розетки в офисе
  4. Обязательно должна быть запись видео (в моем случае — на microsd карту), обязательно должна быть возможность просматривать видео через интернет с любой точки мира а также через мобильное приложение
  5. Само собой, должна быть возможность удаленно настраивать и всю систему — добавлять новые камеры, копировать-удалять записи, иметь доступ ко всем настройкам
  6. Минимальная стоимость! А как же? Без этого никуда

Для реализации данной идеи выбор пал на следующие компоненты:

1) Самый дешевый одноплатный компьютер с вай-фаем на борту, на который можно накатить какой-нибудь arm linux дистрибутив — например, мой любимый дебиан. Малинка стоит дороговато, а вот orange pi zero на ebay вам обойдется всего лишь в 900 рублей (еще несколько месяцев назад я покупал ее вообще за 700 рублей). Вот ссылочка на ebay — здесь.

image

2) Собственно, wifi ip-камеры — без них никуда. Маленькая, купольная, потолочная. И хотя бы 720p — обычно для видеонаблюдения в условиях офиса-подъезда более и не требуется. Цена вопроса — около 1500 рублей за камеру. Что далеко ходить, вот здесь на алиэкспрессе — тут

image

3) MicroSD-карточка на 32 гб. Почему на 32, а не больше или меньше? Потому что для моего случая надо иметь возможность отматать видео с двух камер на несколько дней назад. Ну, стало быть, еще 300-400 рублей.

4) Адаптеры питания для одноплатника и для камер.

Итак, что было проделано. Получив заветную посылку на почте, я извлек оттуда апельсиновый одноплатник, осмотрел его и первым делом подумал — черт возьми, а ведь тут нету видеовыхода. Как ставить debian и ПО для видеонаблюдения и производить первичные настройки? Сразу вспомнил, что на малинке всегда был обычный композитный AV, а тут его нет. Ну не может быть, чтобы производитель не оставил такой возможности, как подключиться по композиту — подумал я, и ушел в гугл смотреть распиновку GPIO. Ага, второй пин — это земля, а 9ый это tv-out.

Припаиваем av-гнездо. Теперь воспользуемся адаптером AV->VGA (как вы догадались, его тоже можно купить на алиэкспрессе, полезная вещь) и подключимся к нашему монитору. Но включать еще ничего не будем — ведь мы еще не подготовили карточку microsd.

Идем на сайт www.orangepi.org и качаем дистрибутив Debian xfce desktop, записываем его на карту программой win32 disk imager или etcher. Втыкаем флешку в нашу апельсинку, включаем монитор, подключаем адаптер питания и… ничего. Именно с этим чаще всего сталкиваются новички — одноплатный компьютер не загружается никоим образом, а только издевательски светится желтым диодом. Что это? Неправильно записанная карта (может быть), нерабочий одноплатник (вряд ли, ведь мы его только что распаковали), нет сигнала с видеовыхода? Чаще всего проблема заключается в питании. Orange pi, как и малинки и другие одноплатники, очень придирчивы к питанию — адаптер должен быть 5 В / 2 A, если адаптер слабый и питание проседает в первые секунды включения одноплатника, то он не годится и так дело не пойдет. Так что используйте хороший мощный блок питания, а не зарядку от своего старого андроида.

Подключаем хороший адаптер питания, видим, как пошла загрузка debian. Видим рабочий стол — прекрасно! Теперь надо настроить девайс таким образом, чтобы он работал через вай-фай. Заходим в сетевые подключения, создаем новое вай-фай подключение, вводим наши логин-пароль от домашнего-офисного вай-фая — теперь устройство в нашей локальной сети и имеет выход в интернет! Теперь нам надо избавиться от монитора.

Для того, чтобы иметь возможность видеть рабочий стол удаленно, нам поможет программа vnc viewer, а одноплатнике — vnc server. Обычно эта штука уже встроена в тот дебиан, который распространяет производитель данных одноплатников, необходимо лишь настроить ее — ввести параметры авторизации и т.д. Убедившись, что мы теперь имеем доступ к рабочему столу внутри нашей локальной сети, убираем монитор, прячем устройство в коробочку/кабель канал/еще куда-нибудь и настраиваем все остальное через vnc viewer, находясь за привычным компьютером.

В качестве ПО для видеонаблюдения был выбран zoneminder. Почему именно он? Бесплатный, гибкий, легко настраивается, доступен и в arm-варианте для нашего одноплатника с debian. Данный софт работает на php/mysql, поэтому первым делом нужно установить необходимые пакеты:

sudo apt-get install php5 mysql-server php-pear php5mysql php5-gd

Далее нам необходимо в /etc/apt/sources.list добавить строчку:

deb http://ftp.debian.org/debian jessie-backports main

Выполняем апдейт:

sudo apt-get update

И, наконец, то, ради чего мы это все затевали:

sudo apt-get install zoneminder

Когда консолька сообщила нам, что zoneminder установлен, перейдем к его настройке. Подробно процесс настройки описан на официальном сайте zoneminder, перечислять все его пункты в данной статье смысла нет, поэтому решим, что уважаемый читатель справился с этим, и теперь, если мы наберем в браузере на компьютере адрес_нашего_одноплатника/zm мы попадем в веб-админку видеонаблюдения. Здесь нам нужно добавить ip-адреса камер, задать параметры записи видео и прочее.

image

Теперь мы можем из внутренней сети смотреть видео с камер через браузер, причем как через проводную сеть, так и по вай-фаю.

image

Но задача то стояла смотреть видео через интернет с любой точки планеты — а это мы еще не реализовали. Так давайте реализуем! В голову приходят как минимум два варианта:

  1. Заходить через remote desktop наподобие тимвьювера. Увы, тимьювер более-менее корректно работает только на «малинках», здесь даже с бубном и заклинаниями ничего не добиться
  2. У нас есть выделенный ip, идем в настройки роутера, пробрасываем необходимые порты, настраиваем virtual server, теперь мы можем видеть админку zoneminder, к примеру, по адресу наш_белый_ip:123. Это хорошо, но что делать, если нет выделенного ip?
  3. Если выделенного ip нет, то вcпомним про vpn и dyndns. Этому посвящено большое кол-во статей, в том числе и на Хабре, ищите и найдете информацию

Теперь осталось добавить возможность смотреть видео с телефона. Качаем для нашего андроида приложение zoneminder client mobile (легко гуглится), а для iphone — Surveillance Pro.

image

image

Итого, за несколько тысяч рублей мы получаем собственный мини-сервер видеонаблюдения, который можно легко спрятать в кабель-канале и который потребляет электричества на сущие копейки, пару беспроводных камер, и возможность всегда с компьютера или телефона из любого места, где есть интернет, посмотреть что происходит в вашем офисе/гараже/подъезде.

Автор: mavpa1

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js