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?

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

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

Новости

Публикации

Луна генерирует магнитные ударные волны без магнитосферы: тайваньские физики раскрыли механизм, который искали со времён «Аполлона»

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

Что такое двухмерные материалы и почему они могут изменить электронику будущего

В течение долгого времени ученые считали, что по-настоящему стабильные материалы не могут существовать в виде слоя толщиной всего в один атом. Согласно классическим представлениям физики, такие...

Как найти инопланетную жизнь, если она непохожа на земную: учёные предложили считать не газы, а сложность атмосферы

В 1965 году химик Джеймс Лавлок сформулировал принцип, который до сих пор определяет стратегию поиска жизни за пределами Земли. Суть его в том, что живая планета не может находиться в химическом...

Как странный дизайн убил гениальную идею: история Fiat Multipla

Уже далёкие для нас 1990-е годы стали периодом смелых экспериментов в автомобильной индустрии. Дизайнеры и инженеры искали новые формы, технологии и подходы к созданию инновационного транспорта....

Почему сайты в 2026 году грузятся медленнее, чем 15 лет назад: парадокс современного интернета

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

5 громких краж в Лувре: как преступники выносили экспонаты из одного из самых охраняемых музеев мира

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