Alfawise 1080P и интеграция IP-камер в Home Assistant

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Обзор | Видеокамеры, экшн-камеры и все для них

Здравствуйте друзья. В этом обзоре я хочу рассмотреть вопрос подключения IP камер к системе управления умным домом Home Assistant, взяв в качестве примера наружную камеру от Alfawise, которая является клоном довольно известного китайского бренда Escam. Метод показанный в обзоре можно использовать для любых IP камер с стандартными протоколами передачи видеопотока. Начнем с камеры - 

Где купить

GearBest — на момент написания обзора, распродажа по $34.99

Упаковка

Коробка ничем не примечательная, коробка из переработанного картона, надпись IP Camera — почти в традициях китайского нонейма, но все же название бренда на коробке имеется.

Привыкнув к качественной и продуманной упаковке от Xiaomi и ее суббрендов, немного странно видеть такую вот картинку, где все насыпом.

Что в коробке

Тем не менее, противоударный пакет для камеры присутствует, да и сама коробка при пересылке совершенно не пострадала. Кроме камеры в комплекте блок питания, комплект крепежа, ethernet кабель и инструкция

Блок питания с евровилкой, на 12 Вольт, максимальный ток — 1А. В ходе испытаний я фиксировал мощность не более 4 Ватт.

Камера имеет одну съемную внешнюю антенну, которая идет в комплекте, не забыл производитель и про три шурупа и дюбеля, а также шестигранник для регулировки положения камеры.

Внешний вид

Камера представляет собой классический “кирпичик” — прямоугольный  корпус влагозащищенный по стандарту IP66 и предназначенный для наружной установки.

Диапазон рабочих температур (℃): -30-60 Deg.C
Относительная влажность (%) RH: 10%-90%

Объектив камеры имеет угол обзора в 110 градусов, камера оснащена 2 МП матрицей которая снимает с разрешением 1920 * 1080 с частотой 15 кадров в секунду, используя кодек H.264. Кольцо из 18 инфракрасных светодиодов, имеют заявленную дальность подсветки в 15 метров. Подсветка хорошо видна невооруженным глазом.

Размер камеры — 20см * 6 см * 6 см, она довольно компактная, что хорошо видно в сравнении со спичечным коробком.

В нижней части камеры находится металлическая крышка, которая крепится на два винта.  Крышка изнутри имеет резиновую прокладку, для защиты от влаги.

Открыв крышку — получаем вид на электронную начинку камеры и слот для  Micro SD карты.

Под объективом камеры находится датчик освещенности. Кабель камеры — разделяется на три части.  Один конец — это порт Ethernet, для проводного подключения к сети, если есть такая возможность. Второй — разъем для подключения блока питания и третий — закрытая крышкой кнопка сброса.

Подключение

Для подключения камеры, используется приложение CamHi, тоже самое что применяется для работы камер EsCam и некторых других. Перед подключением нужно найти сеть с названием IPCAM — цифры и подключится к ней, используя пароль 01234567.

После этого, запускаем ранее установленное приложение, нажимаем добавить камеру, запускаем мастер поиска в сети с логином и паролем admin / admin, и соединяемся с камерой.

После того, как с камерой установлено соединение, нужно перейти в настройки камеры, нажав на шестеренку справа, там выбрать настройки wi-fi, и запустить поиск wi-fi сетей.

Далее — выбираем нужную wi-fi сеть, подключаемся к ней введя пароль и получаем онлайн доступ к камере, который доступен из любой точки мира, где есть интернет.

Картинка с камеры — довольно неплохая, данные передаются практически без таймлага, сверху и снизу опции, например качество видео потока, SD или HD. Если у вас нормальный канал с интернет, то разницы в скорости между SD и HD не будет, а вот в качестве картинке — она будет существенно лучше. Так же имеются опции по перевороту и зеркалированию изображения в кадре.  Приложение универсальное, и имеет возможность подключения разных камер, поэтому есть опции зуммирования и фокуса. Опции сохранения точек поворота и наклона головки камеры — что в данной модели конечно не работает. Есть опция управления съемкой, например можно принудительно отключить съемку в ИК освещении для получения цветной картинки.

В приложении имеется режим обнаружения движения в кадре, причем область кадра можно задавать. По факту обнаружения — есть выбор опций — отправка пуш уведомления, запись видео на карту памяти — пишется 15 секунд, отправка 1,2 или 3 фото на e-mail или ftp, сохранение на внешний ftp видео фрагмента.

В приложение можно настроить битрейт для основного и дополнительного видеопотока. Включить постоянную запись видео с камеры — любого из потоков, ролики длительностью от 15 секунд до 15 минут. Можно просмотреть занятое место и отформатировать карту памяти.

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

Камера имеет встроенный веб сервер, для корректного получения видеопотока надо будет скачать и установить по компонент, по ссылке на приветственной странице.  Язык по умолчанию китайский — переключается на английский.  Здесь есть все те же настройки что и в приложении, но в более расширенном виде. Вот так выглядит страница настройки видеопотоков.  Для камеры можно установить фиксированный IP адрес, что сбережет место в пуле статических адресов роутера. На этой странице задаются порты для веб сервера и стандартных видеопотоков. Имеется страница настройки видеопотока в стандарте onvif.

На карту памяти камера пишет файлы с расширением .264, но такой способ передачи данных — вряд ли будет востребован, учитывая то, что карта памяти скрыта за металлической крышкой на винтах.  После преобразования в приложении, получаются видеофайлы разрешением 1920*1080 и частотой 18 кадров в секунду. Микрофона в камере нет, видео без звука.

Видео как по мне — довольно не плохое как для бюджетной камеры. Достаточная детализация и скорость, видно по экрану телевизора.  Режим в ИК подсветке — похуже, но в целом тоже вполне достаточный. Примеры съемки — смотрите в видеоверсии обзора, в конце статьи.

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

Интеграция

Если с протоколом onvif особенных трудностей нет, порт можно настроить в приложении, то адрес для rtsp и mjpeg — нужно поискать. Я для этого использую сайт ispyconnect — где есть большая база производителей. Нужные строки я нашел в разделе камер от Escam — клоном которого является эта камера Alfawise. Нужная строка генерируется на сайте по исходным параметрам.

Для проверки корректности подключения я использовал плагин для hassio — который называется motioneye. Сначала нашел адрес обновляемой картинки в jpg.  Потом подобрал параметры потока rtsp. Здесь это удобно делать просто на лету, можно использовать метод проб и ошибок.

Параметры камеры прописываются в разделе camera, основного конфига системы, или, как в моем примере — в отдельно вынесенном файле. Вот так выглядят три варианта для платформ mjpeg, ffmpeg для потока rtsp и onvif.

- platform: onvif<br />name: Alfawiseonvif<br />host: 192.168.0.190<br />username: admin<br />password: admin<br />port: 8080
- platform: mjpeg<br />mjpeg_url: http://192.168.0.190/snap.jpg<br />name: Alfawisejpeg<br />username: admin<br />password: admin
- platform: ffmpeg<br />name: Alfawisertsp<br />input: -rtsp_transport tcp -i rtsp://admin:admin@192.168.0.190/11

Особой разницы при использовании в Home Assistant — я не увидел, так выглядит основное окно системы с тремя подключенными камерами.

Пример сценария

Рассмотрим пример сценария в котором по однократному нажатию на беспроводную кнопку — бинарный датчик с событием клик

Запускается действие — camera.snapshot, указываем ID нужной камеры и путь куда сохранять файл. Папки создаются один раз вручную. При необходимости имя может быть динамическое — например с указанием времени используя сенсор time.  После этого, я даю 5 секунд, с запасом, для сохранения файла, и используя службу notify отправляю снимок в телеграмм. Аналогично можно отправлять на email.

- alias: photo_alfawise<br />trigger:<br />- platform: event<br />event_type: click<br />event_data:<br />entity_id: binary_sensor.switch_158d0001e8a244<br />click_type: single <br />action: <br />- delay: 00:00:01<br />- service: camera.snapshot<br />data:<br />entity_id: camera.alfawise<br />filename: "/config/www/cam_captures/alfawise.jpg"<br />- delay: 00:00:05<br />- service: notify.telegram<br />data:<br />title: "Alfawise"<br />message: "Фотография" <br />data:<br />photo:<br />- file: /config/www/cam_captures/alfawise.jpg

А это мой реальный, рабочий скрипт, который запускается из сценария по открытию входной двери — три фотографии с трех камер время задержек выставлено экспериментально.

photo_door_t:<br />sequence:<br />- service: camera.snapshot<br />data:<br />entity_id: camera.alfawise<br />filename: "/config/www/cam_captures/alfawise.jpg"<br />- delay: 00:00:01<br />- service: camera.snapshot<br />data:<br />entity_id: camera.xiaofang<br />filename: "/config/www/cam_captures/xiaofang.jpg"<br />- service: camera.snapshot<br />data:<br />entity_id: camera.reolink<br />filename: "/config/www/cam_captures/reolink.jpg"<br />- delay: 00:00:05<br />- service: notify.telegram<br />data:<br />title: "Дверь"<br />message: "Фотография" <br />data:<br />photo:<br />- file: /config/www/cam_captures/xiaofang.jpg<br />- file: /config/www/cam_captures/reolink.jpg<br />- file: /config/www/cam_captures/alfawise.jpg

Вот мой рабочий сценарий, который по событию открытия двери, генерирует сообщение с датой и временем события, потом запускает скрипт который делает фото, а далее — запуск трехминутного таймера и отключение самого себя.

- alias: enter_photo<br />initial_state: true<br />trigger:<br />platform: state<br />entity_id: binary_sensor.door_window_sensor_158d000119378d<br />from: 'off'<br />to: 'on'<br />action:<br />- service: notify.telegram<br />data:<br />title: "Дверь"<br />message: "Входная дверь открыта в {{ states('sensor.time__date') }}" <br />- service: script.turn_on<br />entity_id: script.photo_door_t<br />- service: timer.start<br />entity_id: timer.camphoto<br />- service: automation.turn_off<br />entity_id: automation.enter_photo

Чтобы не генерить мусорные сообщения, если дверь открывается несколько раз, сценарий работает не чаще одного раза в три минуты, по таймеру, который по завершению включает сценарий обратно.

- alias: enter_photo_on<br />initial_state: true<br />trigger:<br />- platform: event<br />event_type: timer.finished<br />event_data:<br />entity_id: timer.camphoto<br />action:<br />- service: automation.turn_on<br />entity_id: automation.enter_photo

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

Используя шаги описанные в этом обзоре, аналогично можно интегрировать практически любую IP камеру с стандартными протоколами, для работы в системе Home Assistant.

Видеоверсия обзора:

На этом все, спасибо за внимание

5 комментариев

A
Добрый день. Я заранее извиняюсь за возможно глупый вопрос, просто для меня это будет первый опыт использования данной программы и мне многое не понятно. В частности, пытаюсь подключить ip камеру, вернее камеру подключил, она работает, все ок. В настоящий момент пытаюсь настроить отправку картинки в telegramпри нажатии кнопки aqara, по аналогии как у вас.
Вызывают вопросы следующие моменты:
— как вы вынесли отдельный Вы отдельно вынесли настройки камеры в отдельный файл? Что указали в configuration.yaml, чтобы они работали. Я все настройки сразу прописал configuration.yaml. Хочу реализовать по аналогии как у Вас.
— не могу понять, как запускается действие — camera.snapshot, вернее куда вносить настройки? Можете указать путь?
— также непонятно куда вносятся настройки скрипта.
Насколько я понял действие и скрипт, явно не связаны с файлом configuration.yaml?
Извините, мне просто негде больше спросить.
1507278702933555@facebook
Здравствуйте.

Ответ Alieksandr_h на комментарий
отдельно вынесли настройки камеры


В файле configuration.yaml в разделе camera: — где вы прописывали камеру, я прописал путь к файлу —
camera: !include includes/camera.yaml
Создал папку include (вложенную в папку /config/ где находится configuration.yaml) и в ней создал camera.yaml — в нем уже и прописывал камеры — это позволяет не загромождать configuration.yaml

Ответ Alieksandr_h на комментарий
как запускается действие — camera.snapshot


Как и любое другое действие — в разделе action: сценария или в скрипте — я сдела в скрипте мне так удобнее

Ответ Alieksandr_h на комментарий
также непонятно куда вносятся настройки скрипта


Скрипт — по сути это просто отдельно вынесенный action сценария, просто с возможностью ручного запуска и вызова из разных сценариев, так удобнее. Изначально путь к ним прописан в configuration.yaml —
script: !include scripts.yaml — т.е. в отдельный файл scripts.yaml в папке /config/. У меня скриптов много, и одним файлом не обойтись, я изменил путь на папку
script: !include_dir_merge_named includes/scripts
то есть все файлы .yaml находящиеся в папке /config/includes/scripts/ -распознаются системой как скрипты.
Работает все так, при открытии входной двери — автоматизация запускает скрипт
## Фото при входе
— alias: 01_enter_photo
initial_state: true
trigger:
## Открытие входной двери
platform: state
entity_id: binary_sensor.door_window_sensor_158d000119378d
from: 'off'
to: 'on'
action:
— service: script.turn_on
entity_id: script.01_photo_door_t
А скрипт — запускает фотографии с камер (с трех сразу) и отправку их в телеграмм —
01_photo_door_t:
sequence:
— service: notify.telegram
data:
title: «Дверь»
message: «Входная дверь открыта в {{ states('sensor.time_date') }}»
— service: camera.snapshot
data:
entity_id: camera.alfawise
filename: "/config/www/cam_captures/alfawise.jpg"
— delay: 00:00:01
— service: camera.snapshot
data:
entity_id: camera.xiaofang
filename: "/config/www/cam_captures/xiaofang.jpg"
— service: camera.snapshot
data:
entity_id: camera.reolink
filename: "/config/www/cam_captures/reolink.jpg"
— delay: 00:00:10
— service: notify.telegram
data:
title: «Дверь»
message: «Фотография»
data:
photo:
— file: /config/www/cam_captures/xiaofang.jpg
— file: /config/www/cam_captures/reolink.jpg
— file: /config/www/cam_captures/alfawise.jpg
A
пытаюсь пол вечера осуществить Ваш проект не выходит. постоянно выдает сообщение при проверке конфигурации
/home/homeassistant/.homeassistant/configuration.yaml: Config file not found: /home/homeassistant/.homeassistant/includes/camera.yaml
у меня установлен homeassistan на а не hassio. Возможно есть какие нибудь нюансы?
1507278702933555@facebook
Не должно быть, все должно подхватывать. Попробуйте вложить все в одну папку с configuration.yaml — и уберите везде ссылку на includes.
З
А какой командой делается карточка камеры, уже в ui-lovelace?

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

Сейчас на главной

Новости

Публикации

Подложка под ламинат: как правильно выбрать типы и варианты для разных нужд

Ламинат давно занял своё место в рядах популярных напольных покрытий благодаря своей привлекательности, долговечности и простоте укладки. Однако мало кто знает, что истинный потенциал ламината...

«Неубиваемый» SLIM: японский модуль бросает вызов лунной ночи (и побеждает!)

В бескрайнем океане космоса, где царит вечная тишина и холод, маленькое устройство, созданное человеческими руками, одержало победу над суровыми условиями. Японский лунный модуль SLIM, словно герой...

Можно ли использовать воду вместо воздуха в автомобильных шинах?

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

Как выбрать карту памяти для вашего смартфона или другой техники

Если вы уже принялись выбирать карту памяти для вашего смартфона или другой техники, то, наверное, обратили внимание, что выбор довольно широкий, и речь не только об объёме памяти. Ещё следует...

Безопасная езда: новые дорожные знаки, которые скоро появятся на дорогах

С каждым годом дорожных знаков становится все больше — все для того, чтобы улучшить безопасность на дорогах. Сегодня я хочу поделиться с автолюбителями и всеми водителями и пешеходами...

Хлеб из мух: новый суперфуд или маркетинговый ход?

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