- Минимальное энергопотребление
- Минимальный размер устройства, которое будет принимать видео с камеры (или нескольких камер). С таким небольшим размером, чтобы можно было его, к примеру, запихать в монтажную коробочку 10-10 см или вовсе спрятать в широком кабель-канале (!)
- IP-камеры будут подключены по wi-fi, то есть невозможно определить, кто с них смотрит/пишет видео. Запитать их можно от общей сети, будь то подъездное освещение или розетки в офисе
- Обязательно должна быть запись видео (в моем случае — на microsd карту), обязательно должна быть возможность просматривать видео через интернет с любой точки мира а также через мобильное приложение
- Само собой, должна быть возможность удаленно настраивать и всю систему — добавлять новые камеры, копировать-удалять записи, иметь доступ ко всем настройкам
- Минимальная стоимость! А как же? Без этого никуда
Для реализации данной идеи выбор пал на следующие компоненты:
1) Самый дешевый одноплатный компьютер с вай-фаем на борту, на который можно накатить какой-нибудь arm linux дистрибутив — например, мой любимый дебиан. Малинка стоит дороговато, а вот orange pi zero на ebay вам обойдется всего лишь в 900 рублей (еще несколько месяцев назад я покупал ее вообще за 700 рублей). Вот ссылочка на ebay — здесь.
2) Собственно, wifi ip-камеры — без них никуда. Маленькая, купольная, потолочная. И хотя бы 720p — обычно для видеонаблюдения в условиях офиса-подъезда более и не требуется. Цена вопроса — около 1500 рублей за камеру. Что далеко ходить, вот здесь на алиэкспрессе — тут
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-адреса камер, задать параметры записи видео и прочее.
Теперь мы можем из внутренней сети смотреть видео с камер через браузер, причем как через проводную сеть, так и по вай-фаю.
Но задача то стояла смотреть видео через интернет с любой точки планеты — а это мы еще не реализовали. Так давайте реализуем! В голову приходят как минимум два варианта:
- Заходить через remote desktop наподобие тимвьювера. Увы, тимьювер более-менее корректно работает только на «малинках», здесь даже с бубном и заклинаниями ничего не добиться
- У нас есть выделенный ip, идем в настройки роутера, пробрасываем необходимые порты, настраиваем virtual server, теперь мы можем видеть админку zoneminder, к примеру, по адресу наш_белый_ip:123. Это хорошо, но что делать, если нет выделенного ip?
- Если выделенного ip нет, то вcпомним про vpn и dyndns. Этому посвящено большое кол-во статей, в том числе и на Хабре, ищите и найдете информацию
Теперь осталось добавить возможность смотреть видео с телефона. Качаем для нашего андроида приложение zoneminder client mobile (легко гуглится), а для iphone — Surveillance Pro.
Итого, за несколько тысяч рублей мы получаем собственный мини-сервер видеонаблюдения, который можно легко спрятать в кабель-канале и который потребляет электричества на сущие копейки, пару беспроводных камер, и возможность всегда с компьютера или телефона из любого места, где есть интернет, посмотреть что происходит в вашем офисе/гараже/подъезде.
Комментарии (49)
Sdima1357
30.05.2019 15:15На картинке у Вас c процессором H5 (Cortex-A53), а по ссылке H2(Cortex-A7), который вдвое дешевле.
zedroid
30.05.2019 15:49+1Втыкаем флешку в нашу апельсинку, включаем монитор, подключаем адаптер питания и… ничего.
В таких случаях рекомендую вам пользоваться uart интерфейсом, в него передаются все параметры загрузки, и кроме того через него можно войти в системуvladkorotnev
31.05.2019 05:35Правда толку, если как выяснилось в статье, проблема была с питанием :-)
jaiprakash
30.05.2019 16:01Если выделенного ip нет, то вcпомним про vpn и dyndns.
Разве для dyndns не нужен внешний ip, хоть и динамический?Delion
30.05.2019 23:41Угу. Сколько уж лет прошло, а до сих пор наблюдаю иногда путаницу в понятиях «выделенный» и «статический/динамический».
Разве для dyndns не нужен внешний ip
Строго говоря, нет :) Но тогда и dyndns едва ли нужен (:
VPN другое дело.jaiprakash
31.05.2019 10:03Вы имеете ввиду через VPS? Тогда не в счёт, действительно.
Или что другое?Delion
31.05.2019 17:18Я имею в виду, во-первых, что DDNS при желании можно использовать и для серого айпи в локальной сети.
Вопрос доступности сервера извне совсем другое дело, во-вторых.
В-третих, в прошлом я часто встречался с синонимичностью понятий "выделенный" и "статический", а это всё равно что смартфон называть айфоном.nitro80
02.06.2019 05:28Я имею в виду, во-первых, что DDNS при желании можно использовать и для серого айпи в локальной сети.
Простите, но не могу понять, для чего это может быть нужно.
У провайдеров сети разбиты по районам vlan'ами, и часто, даже зная серый адрес — никакой пользы имхо вы не извлекётеDelion
02.06.2019 15:20Вестимо, для красоты.
У моего провайдера одно время серые адреса из разных районов имели возможность соединения. Потом серые IP отменили и выдали всем внешние динамические, и так по сей день.
Для тех, кто держал свои ресурсы в локалке провайдера, но не покупал собственный домен, определённо был смысл использовать DDNS.
Delion
31.05.2019 17:25Почему-то не могу поправить свой коммент.
Таки да, упоминание DDNS в контексте статьи ошибочно.
may-cat
30.05.2019 16:16В таких «не сердитых» решениях больше всего заставляет грустить питание. В средней квартире нет столько розеток в такой доступности, а штробить стены ради камер и новых розеток повсюду — такое себе решение.
rPman
31.05.2019 08:07А по мне так заранее нужно озаботиться о проводке по стенам, как раз ради розеток.
зы. если потолки натяжные, то там полно места для почти любой проводки, бывает даже сильно долбить стены не придется.
nitro80
31.05.2019 11:57Во время ремонта в квартире озаботились именно большим кол-вом эл-ких и сетевых розеток — очень оправдало себя, теперь к проводной сети я могу любое железо подключить. Очень удобно. Правда забыли к ТВ подтянуть коаксиал, но позже поняли, что IPTV с головой хватает.
may-cat
31.05.2019 13:12а как принимали решение — куда ставить их и в каком количестве?
rPman
31.05.2019 14:50Например я заранее спланировал наполнение комнат (мебель, столы, назначение), пару мест даже на будущее под перепланировку (большая комната будет зонироваться под две либо шкафом либо фальшстеной, будут переставляться кровати и столы), т.е. в одной комнате сразу заложил две ethernet розетки в тех местах где возможно будет стоять компьютер лет через 5-10.
nitro80
31.05.2019 16:35Примерно так:
а) тут будет висеть ТВ, значит надо:
1 тв
2 приставка
3 raspberry pi
4 что-то еще
б) под ТВ ближе к полу:
1 Sony PS3
2 Sony PS4
3-4 мало ли что
в) по периметру комнаты розетки эл. и ethernet для подключения ноутбука, системника (иногда работу домой приношу, системник ставлю в гостинной и из кабинета на нем работаю).
Как-то такksenobayt
03.06.2019 08:35Любопытства ради: вы это имплементировали в доме какой свежести?
Я давно задумываюсь о серьёзном ремоделинге проводки, но не уверен, что в моей панельке это проканает.nitro80
03.06.2019 08:40Дом 70х годов постройки.
Просто делали ремонт основательный, с заменой проводки в половине квартиры.
jackes
30.05.2019 20:05Совсем бюджетный вариант получится, если к одноплатнику подключить USB web-камеру.
Naves
31.05.2019 01:03+2А теперь делаем ставки, через сколько месяцев сдохнет сд-карточка. Жаль нигде на скринах не видно итоговый битрейт от камеры.
И хотя бы 720p — обычно для видеонаблюдения в условиях офиса-подъезда более и не требуется.
Если потом внезапно надо будет увидеть лицо, то будет типичный фоторобот в кепке.nitro80
31.05.2019 04:24А ещё, сама апельсина очень греется
chicago1
31.05.2019 06:33Да и случись что в шахте где провода, то и пожаром может ведь закончиться (хотя не в курсе горят они открытым пламенем или нет). Я бы в короб под ключ спрятал от греха подальше.
rPman
31.05.2019 08:10Кабельканалы и изоляция проводов давным давно не горючие, но да, хорошим охлаждением обзавестись придется, само собой, даже если взять пару десятков сантиметров алюминиевого профиля (L или П) и буквально приклеить к нему плату, будет огромный толк.
jaiprakash
31.05.2019 10:28С нормальными частотами (как в armbian по дефолту) — нет, это производитель баловался оверклокингом, когда они только вышли. Но радиаторы всё равно наклеил.
ksenobayt
31.05.2019 10:53А теперь делаем ставки, через сколько месяцев сдохнет сд-карточка.
Нормальным вариантом будет подцепить внешний сторадж по CIFS или самбе, с того же бытового NAS.
Если же по существу — больше двух камер подобный конфиг не утащит, SoC слабоват. И перегрев — это серьёзная проблема. Мне пришлось колхозить пассивку из старого медного радиатора времён Athlon XP, дабы не озадачиваться активным охлаждением.
Archon
31.05.2019 10:59Кто-нибудь проверял, насколько легко заглушить вайфай-камеру? Что-то подсказывает, что для этого к ней даже приближаться необязательно, можно заглушить прямо через перекрытие с другого этажа или с улицы.
В таком случае решение подойдёт только для наблюдения за какими-то не особо сопротивляющимися целями, у которых нет цели не светиться на вашей камере. Например, можно мониторить погоду или писать время выезда машин с территории. А всё, что серьёзнее, требует более надёжного подключения камер.MadLord
31.05.2019 11:40цена вопроса глушилки?.. стОит ли она того?.. да и довольно непросто определить, wi-fi это камера или нет при «правильной» ее установке…
maverickcy
31.05.2019 12:01Цена вопроса глушилки до 100 евро. А если есть мозги, можно и дешевле 50 обойтись. А уж гадать, wi-fi или нет, не будут — будут глушить. К тому же, что есть «правильная установка»? «Правильная» установка антенны подразумевает ее открытость и ничем не заслоненность, чтоб была прямая видимость и свободная зона от переотражений.
MadLord
31.05.2019 12:05«правильная установка» — имелась в виду такая установка, когда не ясно, wi-fi это камера или нет… мне все-таки кажется, что на текущий момент подавляющее большинство камер — не wi-fi… и поэтому трата 50-100 евро себя не оправдывает… проще капюшон надеть )))…
maverickcy
31.05.2019 12:25ну вот с этим я согласен. Нет ничего надежнее провода. Да и ко всему, как слабо засрут эфир 4 камеры? А если их 8?) Для общего пользования не останется, учитывая очень узкий диапазон вифи
nitro80
31.05.2019 12:00У меня одна камера из набора видеоняни глушила wifi по всем каналам, выяснилось случайно :(
Соседи наверно были «рады» такому подарку.
dizjis
03.06.2019 02:11А можно несколько вопросов?
Почему был выбран вариант ОС с графическим интерфейсом, если вся работа предполагается через веб-морду zoneminder? Чисто настроить вайфай? А как же putty, ну или как здесь предложили — uart? Использовать систему с графическим пакетом на данном одноплатнике не рационально ввиду ограниченных ресурсов самого одноплатника, а все эти свистоперделки будут потреблять озу и мучать проц. А именно эта модель очень горячая и ей нужно качественное охлаждение. 60 градусов в простое с радиатором — норма для нее.
Соответсвенно, почему не был сделан выбор в сторону armbian? Он более оптимизирован, меньше потребляет ресурсов, с обновлениями у него тоже все хорошо.
Ars-AngeL
03.06.2019 02:11ru.aliexpress.com/store/1553371?spm=a2g0o.detail.1000002.2.7a9652c6duKySe — у них на али что-то типа офф. магазина где тока оранджи. С корпусами и т.д есть ниче. Тоже думал так сделать + ивидион юзать…
но чето так и не решился. пока висит на мини-пс на атоме мииго чето там.
самый суровый метод это купить на али материнку от двр ru.aliexpress.com/item/32810273317.html?spm=a2g0s.9042311.0.0.274233edN7ppet — там и хдд есть и софт уже готовый… хотя на малиновый формат можно еще фоном чего повесить
drapass
03.06.2019 02:11Стоит добавить, что у одноплатных ПК на базе SOC от Allwinner H2+, H3, H5, H6 и т.п. есть аппаратные возможность по обработке видео (кодирование/декодирование). Для этого понадобиться ядро с BSP от Allwinner. Детали смотреть здесь -> linux-sunxi.org. Стоит еще обратить внимание на проект Armbian, ребята делают образы для одноплатников. По мне так получается хорошо, плюс у них неплохая система сборки дистрибутивов github.com/armbian/build.
jadorvski
03.06.2019 02:11Запись нужно вести на внешний жесткий диск, потому что у флешки сильно ограничен цикл записи, сам лично столкнулся с этим, систему не настраивал на Raspberry Pi, логи писались на флешку, в итоге за пару лет флешке кранты.
Рекомендую почитать мануалы как сделать флешку read-only, либо снизить запись (например — смонтировать логи на ОЗУ и т.п.).
SadLion
03.06.2019 02:11Системы видеонаблюдения на wi-fi такие забавные, с ними ничего не надо делать, что бы быть не обнаруженным, достаточно глушилки в рюкзаке! Как видео няня самое то, но не больше.
spballiance
03.06.2019 02:112 канала fullhd неужели потянет одновременную запись?
Naves
03.06.2019 09:43Для 2Мп камер обычно потока 2-3Мбита достаточно. Далее в сервере настраивается просто direct stream без какого-либо пережатия. И все упирается в скорость самой флешки.
telobezumnoe
мне кажется что если rtsp порт камеры пробросить в внешку для он лайн трансляции и сохранять записи при движении на локальный ftp поднятый на роутере с юсб и винтом (флешкой) получится ещё дешевле
Javian
Про фтп для видеонаблюдения была статья habr.com/ru/post/420005
В другой публикации был вариант сохранения на Яндекс диск habr.com/ru/post/343672