13 заметок с тегом

камера

Добавляем камеру в Domoticz

Небольшая правка

Была куча нюансов в работе камер с системой «умного дома». Например, не отображались скриншоты и «живое» видео при нажатии на соответствующие пункты. Сегодня удалось это победить. Как я уже ранее писал, камеры у меня китайские, от Xiong Mai. Ну вот так получилось...
Чуть отступлю от темы. На днях разобрал обе камеры и припаял к ним выходы для внешних микрофонов. Нашелся штекер чуть больше размером, но, после доработки напильником, он четко встал на положенное место (обе камеры были с нужными разъемами, но не выведенными наружу). В итоге вывел три контакта: питание, землю и контакт микрофона. Остальные пока что остались в камере, при желании их можно за короткое время тоже начать использовать. Например, для подключения аудиоколонок. Микрофоны оказались ОЧЕНЬ чувствительными, спокойно ловят звук открывающейся двери на первом этаже. Или звук отъезжающего с другой стороны дома автомобиля. Один «минус» — звук как из бочки, глухой. Я бы подумал, что это просто неисправный микрофон, но он такой не один. Очень надеюсь побороть этот дефект.
Но вернемся к нашим баранам. Поиск в интернете навёл меня на одну страницу, с которой я перепробовал несколько ссылок. Одна из них оказалась вполне себе рабочей, но недокументированной. Выглядела она таким образом:

http://192.168.1.15/webcapture.jpg?command=snap&channel=1?

Используя эту ссылку (IP камеры, конечно, нужно изменить на нужный), можно получить текущий скриншот с камеры.
Вторая часть, которая дала мне понимание почему Domoticz так плохо работает с камерами, нашлась на официальном форуме. Суть состоит в том, что «домик» не берет поток с камер как таковой, а использует систему ежесекундных скриншотов. Именно поэтому для так важен адрес их получения. Да, изображение получается дерганым, но с этим, похоже, ничего не сделать. По крайней мере, пока что.
Еще один «минус», который всплыл после этой перенастройки — мобильная версия Domoticz плевать хотела на них и просто не отображает видеопоток. Также, если настроить отправку скриншотов при обнаружении движения, они отправляются только на электронную почту. В тот же Telegram отправки нет. Почему?

Модификация камеры

Как уже писал ранее, в коридоре у меня висит камера, записывающая все события, происходящие в нем. Но, как обычно, хочется же большего. Например, также записывать и звук. Но увы, такой функционал эта камера не предоставляет. Поискав камеры с записью звука в городе, немного взгрустнулось — такую цену за нее я отдать не готов. Как финансово, так и морально.
Попробовал отдельно подключить микрофон к аудиовходу регистратора — оказалось, что он работает только в «гибридном» режиме или в аналоговом. В режиме NVR — увы. Хотя чувствительность микрофона оказалась очень высокой — он слышал речь жены, когда она находилась в зале, через закрытую входную дверь. Мою речь он почему-то не слышал. Видимо, более низкие частоты не проходят через дверь. В итоге пришел к выводу, что микрофон нужно подключать непосредственно к камере.
Какое-то время спустя попытался поискать варианты подключения. И наткнулся на одно любопытное видео, где было показано как это сделать. Снимать установленную камеру и разбирать её мне не хотелось, поэтому решил купить еще одну такую же. Всё равно хотел расставить еще несколько по квартире.
Итак, сегодня забрал камеру, вернулся на рабочее место и разобрал её. По коду на наклейке нашел документацию. Оказалось, что это одна из 2.0M Hi3518EV200 Network Camera Module. Но в документации не оказалось распиновки заинтересовавших меня разъемов. На самой плате оказался еще один код, который и привел меня к нужной информации. Любопытно, что она оказалась на известном мне форуме и притом только там. Больше ни одна ссылка не пригодилась.
Изучая описание, пришлось воспользоваться переводчиком с китайского. И вот тут меня ожидал небольшой сюрприз. Дело в том, что по указанной выше ссылке, человек пытался подключить к камере хоть какой-то накопитель (USB-флэшку, SD-карту и т. п.), чтобы записывать видео на него. А я для себя обнаружил не только вход микрофона, но также и выход на динамики. Иными словами, при помощи одного разъема я могу организовать двухстороннюю связь через камеру, а при помощи второго — использовать ее как полноценный видеорегистратор.

«Умный» дом

Добавляем камеру в Domoticz

Во-первых, почему Domoticz? Мне он показался намного более простым по сравнению с Majordomo и другими системами. Во-вторых, этот пакет присутствует в репозитории на роутере (с установленным OpenWrt). С одной стороны ставить такую программу я предпочел бы на сервер, с другой — именно роутер является точкой, соединяющей все сетевые устройства в квартире. Поэтому пусть пока будет так.
Так как камера у меня — «чистый» китаец, то просто так добавить ее в систему не получится. По крайней мере, мне это не удалось. Пришлось идти обходным путем.
Строка подключения к камере выглядит примерно так:

rtsp://192.168.1.12:554/user=admin&password=&channel=1&stream=0.sdp?real_stream

Открыв этот адрес, например, через плеер VLC, можно увидеть основной поток камеры. В принципе, строку можно чуть-чуть сократить, убрав всё после sdp. В любом случае, Domoticz такое не понимает. Поэтому нам понадобится пакет под названием motion. У меня он уже установлен и отправляет мне в Telegram фото событий. Камера у меня пока что одна, но в будущем планируется еще несколько, поэтому все настройки, отличающиеся от настроек по умолчанию, я вынес в отдельный файл, который подключил в motion.conf. Там нам понадобятся несколько параметров, перечисленных ниже.

netcam_url rtsp://192.168.1.12:554/user=admin&password=&channel=1&stream=1.sdp?real_stream
netcam_keepalive on
width 704
height 576
stream_port 8091
on_event_start /root/motion/actions/on_event_start
on_event_end /root/motion/actions/on_event_end

Первая строка — подключение к самой камере на вторичный поток. Вторая — поддержка подключения, можно пропустить. Третья и четвертая — размеры кадра вторичного потока, у меня они такие. Можно выбрать, конечно, и основной, но это повлечет за собой увеличение трафика в сети и времени подключения. Самая «интересная» строка — следующая. Она указывает motion через какой порт выводить картинку. И последние две строки — пути к скриптам, которые будут выполняться при возникновении и завершении события. У скриптов должны быть установлены права на выполнение.
Запускаем motion и первым делом проверяем наличие потока, просто открыв ссылку в браузере. Например, motion у нас будет установлен на компьютер с адресом 192.168.1.10. Тогда в браузере набираем:

http://192.168.1.10:8091/

Вы должны увидеть видеопоток с камеры. Если его нет — придется разбираться что не так. Чаще всего просто не открыт указанный порт на компьютере. Если картинка есть — идем дальше.
Открываем Domoticz и пробуем добавить камеру.

Нужное меню в Domoticz Добавляем камеру в Domoticz
Добавляем камеру в Domoticz

Протокол оставляем HTTP, в качестве IP-адреса указываем адрес компьютера, куда установили motion. Порт указываем тот же самый, что и в файле настроек motion. Имя пользователя и пароль заполняем в том случае, если для просмотра камеры нужна авторизация. Ну и в ImageURL забиваем полный путь к потоку, тот же самый, который вбивали в браузере при проверке потока камеры. Нажимаем «Тест соединения» и надеемся, что картинка появится. Обычно на это нужно до 10 секунд. Если картинки нет, значит что-то пошло не так и придется всё проверять. В моем случае картинка нормально появляется когда я работаю в домашней сети. Если я запускаю Domoticz с рабочего компьютера, то она не показывается.
Нажимаем кнопку «Add», чтобы добавить камеру в список. И тут тоже есть нюанс. В строке с камерой тоже есть предварительный просмотр, но в моем случае он не работает. Также не работают кнопки «Сделать снимок» и «Stream video». Но это не важно, камера работает.
Не зря же мы это все делали? Пусть теперь камера работает датчиком движения — нечего ей просто так висеть на потолке. Например, включает освещение в коридоре, когда обнаружит движение.
В качестве выключателя с удаленным доступом у меня стоит простой Sonoff Basic, подключенный к моей сети через WiFi. Идем в настройки Domoticz, выбираем «Оборудование». В выпадающем списке ищем пункт «Dummy (Does nothing, use for virtual switches only)», называем его как-нибудь и нажимаем кнопку добавить. Теперь в списке чуть выше нажимаем кнопку «Создать виртуальные датчики», вводим название выключателя (придумываем сами) и указываем тип «Переключатель». Жмем «ОК». Всё, мы создали виртуальное устройство, которое будет управлять освещением в коридоре. Остается теперь соединить между собой камеру и выключатель.
Вспоминаем, что у нас есть два скрипта от motion, которые выполняются при возникновении и завершении события, в данном случае — в коридоре. Добавляем в каждый из скриптов по одной строке. В  /root/motion/actions/on_event_start добавляем

/usr/bin/curl -s "http://api_username:api_password@domoticz_server:domoticz_port/json.htm?
type=command&param=switchlight&idx=your_ID&switchcmd=On"

а в  /root/motion/actions/on_event_end такую строку:

/usr/bin/curl -s "http://api_username:api_password@domoticz_server:domoticz_port/json.htm?
type=command&param=switchlight&idx=your_ID&switchcmd=Off"

Теперь разберем, что это за бред.
curl — программа, позволяющая выполнить те или иные действия по указанному адресу, используя только командную строку.
api_username и api_password — имя пользователя и пароль, которые вы установили для доступа к Domoticz. Если не устанавливали, то эту часть «api_username:api_password@» можно не вводить.
domoticz_server и domoticz_port — IP-адрес и порт компьютера, где у вас установлен Domoticz. В качестве порта нужно указать стандартный 8080, если, конечно, вы не делали перенаправления портов.
idx=your_ID — в качестве your_ID нужно указать значение выключателя из колонки Idx таблицы устройств. У меня это значение равно «1».

Таблица устройств
Таблица устройств

Ну и последний параметр switchcmd может принимать значения On или Off, в зависимости от того, хотите ли вы включить освещение или выключить соответственно. Подозреваю, что можно также указать «1» и «0» соответственно, но, если честно, лень проверять :-)
Должен также отметить, что в Sonoff установлена не стандартная прошивка с привязкой к китайскому облаку (и возможностью потерять доступ к своему выключателю из-за рвения Роскомнадзора заблокировать всех и вся), а Tasmota. Возможностей у нее немного, но лично мне хватит с избытком. Не будет же выключатель вещать радио, когда мне скучно? :-)
Теперь почему мы используем такой сложный способ включения/выключения? Просто при таком способе состояние выключателя будет корректно отображаться в Domoticz в случае возникновения или завершения движения в коридоре.

Эксперименты с видеонаблюдением

Небольшое отступление.
Посмотрел дату последней заметки — оказалось, что ничего не писал уже около полугода. Работа со «странным» заказом, затем предновогодняя суета, потом другие дела. Порой хотелось поделиться событиями из жизни, но то забудешь, то времени нет, то желания. А потом вроде как и поздновато уже.
Если вкратце, то события последнего времени такие. Работу в «Балансе» закончили, москвичи полностью расплатились с нашим куратором еще в декабре, но полного расчета от последнего мы так и не получили. «Минус» ему в карму. Договоров в письменном виде никаких не было, поэтому увы и ах. Подождем еще немного.
Три дня подряд корпоративов — это тяжело. Очень тяжело. Из них вынес для себя, что водку и самогон лучше не пить, только вино. Или это старость ко мне так подкрадывается?

Ну и хватит, ближе к делу.
Ну не могу я несколько дней ничего не делать и сидеть дома. Руки начинают «чесаться». В итоге, вспомнив, что у меня домашний видеорегистратор является гибридным, прикупил IP-камеру попробовать. Брал без особых наворотов типа PTZ, распознавания лиц и т. д. Обычную Full HD камеру с инфракрасной подсветкой. Заодно перевесил ее со стены в центр потолка в тамбуре. Особых различий в картинке между предыдущей аналоговой и новой IP я не заметил. Хотя нет, обманываю, одно различие все же было — в цветах. У аналоговой камеры тамбур был намного более синим из-за того, что в этот цвет покрашены стены в нем. «Цифра» более точно передает цвета. Плюс к этому всякие «примочки» в виде автобаланса цветов, антиблика и т. п.
Кстати, в таблице переключения режимов работы регистратора указано, что он поддерживает 4 аналоговых канала или 8 цифровых в формате Full HD. Или 2 аналоговых и 2 цифровых, но в 720p. После недолгих размышлений пришел к выводу, что не хочу совмещать аналоговые и IP-камеры. Пусть лучше будут только последние.
Потратив примерно месяц на «любование» новой камерой, снова заскучал. Пришлось купить себе пару Sonoff Basic для экспериментов — это реле управления нагрузкой с возможностью доступа к нему через WiFi. Поставил программу для управления на телефон, запустил и... Ненавижу управлять устройством через чье-то облако. В данном случае, конечно же, китайское. Недавно только читал пару статей о том, как два человека не могли получить доступ к технике: один к водонагревателю, другой к пылесосу. И все потому, что РКН (не к ночи будет помянут) заблокировал серверы Amazon, где располагались эти облака. Открыл 4pda, почитал, посмотрел на скриншоты и залил стороннюю прошивку Tasmota. Мне лично ее возможностей пока хватает.
Итак, проблема с облаком решена, теперь устройства ни к чему не привязаны, кроме моего роутера. Отлично! Зарезервировал для них IP-адреса, немного поигрался и стал думать куда их поставить.
Тут нужно упомянуть, что чуть раньше прикупил себе в «Леруа» датчик движения с реле. Вот вроде такого:

Датчик движения с реле

Но он меня немного разочаровал — достаточно медленно, на мой взгляд, реагирует на движение, несмотря на выкрученную на максимум чувствительность. Хотелось все же чего-то побыстрей. Вроде такого: ты только начинаешь открывать дверь из подъезда/квартиры, а датчик уловил движение и включил освещение в тамбуре.
И вот на этой почве у меня родилась идея по замене установленного датчика движения на этот самый Sonoff. А в качестве первого будет выступать новая IP-камера — у нее-то чувствительность можно регулировать. Если быть совсем точным, то не в ней, а в программе motion, которая рассылает мне оповещения и шлет кадр с камеры с фото человека, движущегося в тамбуре. Но тут произошел небольшой казус с motion. Оказалось, что для программы выключение света — тоже движение. А значит его нужно записать. И включить свет — ведь есть «движение»! Мать его!!! Бесит!
Пока что нашел только один выход из этой ситуации, «костыль» — свет выключается через 58 секунд после обнаружения движения, за 2 секунды до окончания события. За это время человек гарантированно пройдет тамбур. Надо будет, кстати, попробовать находиться в нем более 1 минуты и посмотреть выключиться свет или нет. Попробую еще покопаться в настройках камеры и видеорегистратора — возможно, что найду что-то полезное для данного случая.
В целях решения этой проблемы в голову пришла мысль прикупить еще PIR-сенсор и прикрепить его к Sonoff. Правда получится почти такой же датчик, как и тот, который я брал в «Леруа», но размеры явно будут поменьше. Дома еще уже много лет валяется «объемник», тоже с PIR-сенсором, но как его связать с реле — пока непонятно.
В общем, пока что с выключением света думаю, рассматриваю разные варианты. Как все получится — отпишусь что получилось и к чему я пришел. И хочется, наконец-то, сделать распознавание лиц.

Ложная тревога

Отступление
Видеонаблюдение у меня настроено следующим образом. Регистратор постоянно пишет данные данные с камеры. Программа, установленная на сервере, берет поток данных с регистратора и, если есть какое-то движение, делает снимок и отправляет его мне.

В последнее время начал получать пустые снимки. Такое бывает редко, я списывал это на глюк программы. Но тут снимков стало слишком много. Было интересно почему так, но понять в чем причина не мог. В какой-то момент сгорела ночью лампочка в тамбуре, а на снимках было кое-что интересно.

Непонятное пятно Непонятное пятно Непонятное пятно

Поначалу подумал, что это просто пылинка. Но третий снимок заставил меня засомневаться. Чтобы пылинка полетела вверх, должен быть какой-то ток воздуха, а его однозначно нет. Потом в голову полезли дурацкие мысли о мистике, душе человека и прочий бред. Показал жене, озвучил свои размышления. Она, в свою очередь, попросила в ближайшее время никуда не уезжать :-)
Позднее оказалось, что такое происходит и при наличии света.

Непонятное пятно Непонятное пятно

Но один из снимков расставил все по своим местам.

Гребаная муха

Гребаная муха заставляла камеру реагировать на ее движение! Это все, что вам нужно знать о том, как выглядит муха в полете. освещенная инфракрасным светом.

Съемка в темноте

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

Это я пошел на работу
Это я пошел на работу
А это жена выходит из дома
А это жена выходит из дома

Добавляем каналы для ТВ

Смотреть торренты научился. Но человеку же всегда мало того, что он уже имеет. И мне захотелось увеличить список доступных каналов, желательно в HD качестве. И просматривать подключенные камеры видеонаблюдения. Чем и занимаюсь последнее время когда есть желание и время.
С дополнительными каналами оказалось все как-то просто: установил пару пакетов udpxy и xupnpd на роутер. Первый пакет конвертирует udp трафик в http, второй позволяет открывать плейлисты m3u на телевизоре или любом другом устройстве. Например, на смартфоне или компьютере. Но, как обычно, не обошлось без ложки дегтя — достаточно неудобно переключать каналы на телевизоре. Хотелось бы, чтобы работало как с обычными — нажал кнопку «Канал+» и переключился на следующий. Сейчас же приходится нажимать на «Ввод», переходить на кнопку «Далее» и снова нажимать «Ввод». Возможно, что найду в списке доступных приложений какое-нибудь с более удобным переключением.
С видеокамерой не так все просто — на любую попытку подсунуть телевизору поток он отвечает, что не может его воспроизвести. Что я только не делал... Видеорегистратор отдает RTSP-поток через порт 554, причем нестандартного разрешения. При этом еще требуется указать логин и пароль, чтобы подключиться к потоку. На сервере установлена программа motion, которая у меня занимается рассылкой оповещений и фото, сделанных камерой во время обнаружения движения. Но, даже указав данные потока, которые она выдает в сеть, не получилось заставить ТВ отображать его — снова получил ошибку. Возможно, что после приведения разрешения к стандартному FullHD и смены кодека, и получится показать картинку с камеры на телевизоре. Но для этого нужно заставить сервер перекодировать сигнал, то есть создаем дополнительную нагрузку на сервер.

Апгрейд видеонаблюдения

Позавчера нашел на аукционе неплохой видеорегистратор по приемлемой цене. В тот же день выкупил и забрал. На следующий день, в субботу, подключил его к сети и провел первоначальную настройку. При подключении пришлось внести некоторые изменения в топологию локальной сети, так как все порты в роутере были уже заняты: три компьютера и телевизор. Добавил 8-мипортовый хаб и занял последние две розетки в «пилоте». Старая камера показала изображение сразу, но стало очевидно, что картинка у нее никакая — много шумов и полосы горизонтальной развертки. Кабель идущий к ней пришлось разрезать, чтобы подключить сигнальную часть к регистратору, а питание — к компьютеру. Затем заменил собственно камеру. И вот тут начались проблемы — картинки нет. После нескольких тестов стало понятно, что не приходит питание, причем на входе оно есть. Любопытно, что при тестах контакты питания несколько раз замыкались, но блок питания компьютера на это никак не отреагировал и продолжал работать, как ни в чем не бывало. По итогу пришел к выводу, что где-то перебит кабель, потому что камера в какой-то момент заработала и выдала картинку — цветную и намного более качественную. Но что-то все равно меня смущало в ней...
Регистратор установил какой-то не совсем понятный режим для камеры, пришлось искать описание в интернете. Оказалось, что картинка идет не FullHD, как должно, по идее, быть, а этакий half-FullHD. Разница в том, что по горизонтали разрешение меньше почти в два раза. При просмотре плеер выставляет свое соотношение сторон, приходится выставлять его вручную в 16:9, тогда все нормально.
Камера, кстати, прекрасно показывает при полном отсутствии света. Отключил освещение в коридоре, услышал щелчок переключения режима камеры и засветились светодиоды инфракрасной подсветки. Картинка пошла, конечно, черно-белая, но все отлично видно. Это порадовало.
Над чем стоит поработать? Так как регистратор не умеет слать оповещений в мессенджеры типа Telegram, только на почту, то придется что-то придумывать. Первая мысль, которая пришла мне в голову — копировать фото или видео на ftp-сервер, брать данные оттуда и обрабатывать их. В первую очередь интересует распознавание лиц. В таком случае можно четко писать: «пришла жена», «пришел сосед Женя» и т. п. Если не получится, то придется мониторить появление новых файлов на сервере и тогда отсылать сообщение, что было движение в коридоре.

Выбор камеры видеонаблюдения

Небольшое отступление.
В субботу для одной знакомой устанавливал камеру с регистратором, так как конкурирующая фирма присылает к ним разных неадекватных товарищей и хотелось бы как-то обезопасить сотрудников офиса. Поискав в интернете, нашел готовый комплект: камера, регистратор, микрофон, набор кабелей и разъемов. Купили, установили, настроили. Больше всего сомнений вызвал микрофон, просто из-за своих размеров. Но при просмотре записи оказалось, что он достаточно чувствительный и свои функции выполняет хорошо.
После этого захотелось поменять установленную у меня в коридоре камеру, ибо не дает мне покоя идея распознаванием лиц и добавлением некоторых «плюшек». Поначалу ориентировался на простую мегапиксельную цветную камеру. IP-камеры по прочтении нескольких статей отбросил в сторону, стал ориентироваться на аналоговые и AHD (аналог повышенного качества). Отобрал в 2ГИС фирмы, занимающиеся розничной продажей и у которых есть сайт, и начал просматривать ассортимент. По итогу оказалось, что есть несколько более выгодные предложения, чем то, которым я воспользовался в субботу. Например, 2 Мп камера формата FullHD с инфракрасной подсветкой и углом обзора 94 градуса стоит примерно 1500 рублей. Единственный нюанс, который меня смущает — она белая, в то время как хотелось бы черную — она будет менее заметна в моем случае. В другом магазине камера с похожими характеристиками, но меньшим углом обзора (около 70 градусов) и некоторыми «плюшками» в виде улучшения картинки — 1200 рублей. И, увы, снова белого цвета. Хоть самому крась в черный!
В принципе, выбор уже сделан. Завтра с утра заберу на почте пришедшую мне USB-зажигалку (попробуем что это за зверь и как она будет работать в условиях зимних холодов), а после работы заеду за камерой. И на выходных будем все это устанавливать.

Ранее Ctrl + ↓