Статья

Получение уведомления о движении с камеры на устройства Apple

Предисловие

К сожалению, модель домофона и вызывной панели не имеет методов связи (таких как FTP, Webhook, EMail) при входящем звонке, по крайней мере, на момент написания статьи. Соответствующий запрос/пожелание о добавлении функционала на входящий звонок был оправлен в офис Hikvision.

Поэтому решено реализовать схожую функцию для получения уведомления с видеопотоком от домофона, используя функционал наружной камеры Hikvision DS-2CD2T85FWD, поддерживающая методы связи FTP, EMail, Webhook - нет.

Для этого на камере был активирован детектор пересечения линии, движения. Детектор отправляет изображение на FTP сервер, где сервер, получив изображение, автоматически отправляет запрос в Homebridge, после чего последний отправляет уведомление на Apple TV (в HomeКit).

Перечень необходимого оборудования и ПО

Камера с поддержкой детектора пересечения линии и возможностью отправки их на FTP сервер.Компьютер с Homebridge и плагином camera-ffmpeg (процесс установки Homebridge и ffmpeg описан в этих статьях: HomeBridge и ffmpeg).

Настройка и Установка FTP

Чтобы получать изображения с камеры по детектору, нам понадобиться FTP Сервер. В данной статье я буду использовать FileZilla FTP Server для компьютера под управлением Windows.

  • Необходимо скачать и установить FilleZilla Server с официального сайта.


Соглашаемся с правилами пользования и нажимаем "I Agree".


Оставляем стандартный тип установки и нажимаем "Next".

Выбираем папку установки или оставляем по умолчанию,

нажимаем "Next".


Ставим галочку в пункте "Start Server after setup completes", нажимаем "Next".


В пункте "Start Interface after setup completes" ставим галочкуи нажимаем "Install".

Мы установили FTP Сервер, теперь нужно его настроить.

Запускаем приложение FileZilla Interface с рабочего стола и в открывшимся окне ставим галочку в пункте "Always connect to this server", нажимаем "Connect".

В панели нажимаем на "Edit" и, следом, на "Users".В правой части открывшегося окна нажимаем на кнопку "Add" и в мини окне вводим "cam" (или любое другое название для учетной записи).Ставим галочку в пункте "Password" и вводим пароль для учетной записи (его необходимо придумать самому).

Переходим во вкладку "Shared folders" и нажимаем "Add", выбираем директорию для сервера (сюда будут сохраняться изображения с камеры).После требуется поставить галочку в пункте "Write", "Read", нажать на "Set as home dir" и "Ok".

Настройка камеры

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


Для начала необходимо указать размещение ftp сервера, для этого нужно зайти в "Сеть", далее "Доп. Настройки" и выбрать вкладку "FTP".Указываем адрес компьютера, на котором запустили FTP сервер, вводим "имя пользователя" и "пароль" (который мы создавали в настройках FileZilla), и ставим галочку в пункте "захват изображения".Для проверки соединения можно нажать кнопку "Тест", и если вы настроили все верно, то должно появиться окно "Тест пройден".Если тест пройден, нажимаем кнопку "Сохранить".

Теперь необходимо открыть настройки "Хранение" -> "Сохранение" и перейти во вкладку "Захват параметров".

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

Переходим в настройки "По событию", далее "События SMART" и во вкладку "Детектор пересечения линии".В опции "Вкл" нужно поставить галочку, далее нажать на кнопку "Detection Area", выделить линию, выбрать направление движения, например, "B->A", нажать кнопку "Завершить", а после - "Сохранить".

Переходим во вкладку "Метод связи" и ставим галочку в параметре "Загрузить на FTP", нажимаем "Сохранить".

Теперь когда камера заметит движение при пересечении линии со стороны B на A, она отправит изображение на FTP сервер.

Установка и настройка плагина Homebridge Videodoorbell

Установка плагина через Web-интерфейс:Открываем браузер, вводим IP адрес Homebridge, далее авторизуемся.Переходим на вкладку "Плагины" и вводим в поисковой строке название плагина "Videodoorbell".В блоке "Homebridge Videodoorbell" нажимаем кнопку "Установить", после установки плагина нажимаем кнопку "Настроить".В открывшемся окне вводим: Name - имя аксессуара.

HTTP trigger port - порт, на который будем делать запросы (по умолчанию 5005).Source - RTSP поток камеры с ключами.

Throttle incoming requests - задержка между уведомлениями (в миллисекундах).Сохраняем настройки и перезагружаем Homebridge.

Скрипт отправки уведомлений

Прилагаю "PowerShell" скрипт, который ожидает изображение в папке FTP, а после отправляет http запрос на адрес сервера homebridge по порту плагина Videodoorbell. После получения http запроса, плагин Homebridge'а отправляет уведомление с видеопотоком домофона в Apple Homekit.

#Указываем размещение ftp папки и добавляем фильтр на изображения $fsw = New-Object IO.FileSystemWatcher 'c:\FTP\', $filter -Property @ #'Отслеживаем добавление файлов в указанной папкe Register-ObjectEvent $fsw Created -SourceIdentifier FtpFileAdded -Action { #Получаем имя и время добавленного файла $name = $Event.SourceEventArgs.Name $timeStamp = $Event.TimeGenerated #Выводим в консоль сообщение о добавленном файле Write-Host "File from cam was received '$name' at $timeStamp" -fore green #Создаем запрос на адрес Homebridge'а по порту плагина $HTTP_Request = [System.Net.WebRequest]::Create('http://192.168.1.60:5005') #Получаем ответ $HTTP_Response = $HTTP_Request.GetResponse() #Закрываем соединнение $HTTP_Response.Close() } while ($true) {}

Где:

  • $fsw = New-Object... , "с:\FTP\" - каталог, в котором хранятся изображения, меняем на свой.
  • $HTTP_Request... , "192.168.1.60:5005" - IP адрес homebridge'а и порт, указанный в конфиге бриджа.

Сохраняем его в корне диска "С" с именем DoorEvent.ps1.

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

schtasks /create /tn «DoorEvent» /sc onstart /delay 0000:30 /rl highest /ru system /tr "powershell.exe -windowstyle hidden -ExecutionPolicy Bypass -File "C:\DoorEvent.ps1")

Вот, собственно, и все. Теперь когда вы будете сидеть за компьютером под управлением macOS или смотреть фильм на AppleTV, вы получите уведомление с видеопотоком в правом верхнем углу экрана о замеченном движении, при желании можно развернуть изображение в полный экран. Если камера имеет встроенный микрофон, можно не только увидеть, но и услышать, что происходит у вас на пороге.

P.S.

Вариант для более ленивых. Так как при звонке в вызывную панель отправляется уведомление в HikConnect, было решено использовать отдельный телефон и прикрепить к нему датчик Aqara Vibration Sensor, который отслеживает вибрацию телефона. Датчик вибрации автоматизирован на включение триггера "Doorbell-trigger" от плагина VideoDoorbell.

Получаем тот же результат, но теперь по срабатыванию кнопки звонка вызывной панели.

Минусы такого решения - это большая задержка между звонком и получением уведомления, связь через облако и стоимость реализации (необходим отдельный телефон и датчик вибрации).


Сложновато. А не проще скриптом отслеживать сработку движения от камеры Hikvision через API?

Вот документация. https://u.to/NL9ZGg">https://u.to/NL9ZGg

Вполне, но это статья подойдёт к большинству камер с отслеживанием движения, а вот апи у всех производителей разное. Для владельцев камер Hikvision я уже написал https://www.npmjs.com/package/homebridge-hikvision-cam-webhook">плагин (для Homebridge) с отслеживанием событий, но пока ещё его тестирую. Кому интересно - пишите в телегу.

у меня то же домофон Hik - было бы очень интересно при нажатии кнопки получать уведомление в homekit, родное приложение реально с большой задержкой, особенно вне локальной сети. Видать из за облака. 

Готов принять участие в тестировании. У меня 2 вызывные панели и монитор.

Добрый день, очень интересует такой плагин, можно узнать о нем поподробней?  Есть камера hikvision, добавлена в HomeKit, через плагин camera ffmpeg. 

все бы хорошо, но вот описания нету ни какого... хотябы readmi заполнить...


есть еще такой плагин 


https://github.com/eu-evops/homebridge-hikvision#readme">Homebridge Hikvision plugin


https://github.com/eu-evops/homebridge-hikvision#readme">https://github.com/eu-evops/ho...

HA+Home Assistant Community Add-on: FTP+Homebridge на малине побюджетнее будет чем комп гонять все время, а вообще спасибо за статью, думал тоже в этом направлении.

Да, конечно, ftp сервер можно установить куда угодно. Homebridge у всех на разных платформах стоит, и я для примера решил показать на винде.

Юлий, ты же плагин написал для упрощения, почему стесняешься про него сказать? https://github.com/vova0255/Homebridge-Hikvision-Cam-Webhook#readme">https://github.com/vova0255/Ho... Твой плагин?


Вернуться назад

Устройства


Aqara

Vibration sensor

(16 отзывов)

Apple

Apple TV 4K

(23 отзыва)

Apple

Apple TV HD

(9 отзывов)

Вернуться назад