Опрос


Что для Вас Умный Дом?


Результаты

SIP-домофон (VTO2000A + VTH1550 + Asterisk)

07/02/2017 19:37:21

Автор материала: пользователь форума kodr

Чтобы сделать SIP-домофн, я провел много экспериментов (и аудио панель в связке с sip-телефоном и конверторы от "Паскаль"). Качества так и не добился. Решил посмотреть в сторону IP-домофонов в связке с мобильным приложением и наткнулся на тему http://www.cctvforum.com/viewtopic.php?f=6&t=52356
Решил пойти по пути связки VTO2000A и VTH1550 (можно и VTH1510) c Asterisk по протоколу SIP.


Вызывная панель VTO2000A в самодельном корпусе

Так как живу я в частном доме, кроме дома есть ещё и территория (безедка, баня и т.д.), при связке с Астериском возможностей мягко говоря больше.
Например при звонке в домофон (ночью) включить на 5 мин прожектор возле калитки, плюс включить какой нибудь уличный звонок (чтоб слышать что кто-то пришел находясь вне дома), ну и в конце концов ответить на звонок прям с мобильного.
Напрягало только одно, прошивки под SIP только на английском.
В приложенной теме форума нашел ссылку на GIT https://github.com/BotoX/Dahua-Firmware-Mod-Kit/tree/devel
Эта утилита позволяет разобрать и собрать прошивку.
В прошивке VTO2000A заменил только аудио файлы (теперь говорит на русском) web оставил на английском (для настройки мне пофиг), делюсь: VTO2000A_Rus_firmware.zip
В прошивке VTH1550 (вернее она под VTH1510 но на 1550 становится) поковырялся более глобально, в итоге весь GUI на русском, делюсь: VTH1510_Rus_firmware.zip
Кстати, замок можно открыть отправив get запрос через curl из консоли.

Asterisk у меня работает в связке с Freepbx (для удобства настройки).
Вызывных панелей у меня две.
Через Web-интерфейс создал SIP номера для клиентов и для панелей.
Единственное, чем отличается настройка клиента от панели, это исходящим контекстом.
В настройках SIP номеров панелей, в поле "Контекст", вместо from-internal укажите from-door.
Далее создаем группу (в моём случае 600) и добавляем в нее тех клиентов кому будем звонить.

В файл /etc/asterisk/extensions_custom.conf добавляем:

[from-door]
;;;;;;;;;;;;;;;;;;
;Дверь_1
;;;;;;;;;;;;;;;;;;
exten => 9901,1,Ringing()
;Снимаем трубку.
exten => 9901,n,Answer()
;Делаем скриншот с камеры вызывной панели.
exten => 9901,n,TrySystem(avconv -i 'rtsp://admin:admin@10.200.0.202' -f image2 -vframes 1 -pix_fmt yuvj420p /tmp/snapshot1.jpg)
;Отправляем фото в Telegram в группу Дом.
exten => 9901,n,TrySystem(/usr/src/tg/bin/telegram-cli -k /usr/src/tg/tg-server.pub -c /usr/src/tg/telegram.config -W -e "send_photo Дом /tmp/snapshot1.jpg")
exten => 9901,n,Set(__DYNAMIC_FEATURES=dooropen1)
;Звоним на группу 600 ранее созданную через web интерфейс FreePBX.
exten => 9901,n,Dial(Local/600@from-internal,30) ;звоним на группу 600
;Ложим трубку.
exten => 9901,n,Hangup()
;;;;;;;;;;;;;;;;;;
;Дверь_2
;;;;;;;;;;;;;;;;;;
exten => 9902,1,Ringing()
;Снимаем трубку.
exten => 9902,n,Answer()
;Делаем скриншот с камеры вызывной панели.
exten => 9902,n,TrySystem(avconv -i 'rtsp://admin:admin@10.200.0.203' -f image2 -vframes 1 -pix_fmt yuvj420p /tmp/snapshot2.jpg)
;Отправляем фото в Telegram в группу Дом.
exten => 9902,n,TrySystem(/usr/src/tg/bin/telegram-cli -k /usr/src/tg/tg-server.pub -c /usr/src/tg/telegram.config -W -e "send_photo Дом /tmp/snapshot2.jpg")
exten => 9902,n,Set(__DYNAMIC_FEATURES=dooropen2)
;Звоним на группу 600 ранее созданную через web интерфейс FreePBX.
exten => 9902,n,Dial(Local/600@from-internal,30)
;Ложим трубку.
exten => 9902,n,Hangup()

[macro-door-open1]
;Команда открытия двери 1.
exten => s,1,TrySystem(curl --user admin:admin --digest "http://10.200.0.202/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote")
[macro-door-open2]
;Команда открытия двери 2.
exten => s,1,TrySystem(curl --user admin:admin --digest "http://10.200.0.203/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote")

В файл /etc/asterisk/features_applicationmap_custom.conf добавляем:

При нажатии 0 вызываем макрос door-open1 для первой двери.
dooropen1 => 0,self/callee,Macro,door-open1
;При нажатии 0 вызываем макрос door-open2 для второй двери.
dooropen2 => 0,self/callee,Macro,door-open2

VTH1550 настраивается как обычный SIP клиент и добавляется в группу.
Инструкцию по настройке Telegram я думаю найдете в интернете.

Ещё что может быть удобным, при звонке на панель она автоматически снимает трубку.
Что может быть удобным для автоматизации уведомлений для человека находящегося возле калитки.
Например подошел какой-то "РЕДИСКА" и поднес не запрограмированный ключ.
Через Астериск звоним на панель и говорим что ключ неверный и ложим трубку.
После третьей попытки говорим: "Попытка взлома вызван наряд охраны"))).

Из минусов. В VTH1550 можно добавлять IP камеры но к сожалению в этой версии прошивки нельзя указать канал (в случае с NVR). Если добавить NVR то паказывает только первая камера. В прошивках без поддержки SIP это уже реализованно. Ждем свежую прошивку с поддержкой SIP.

 

Автор: kodr
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.



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



Сортировка комментариев: Последние сверху | Первые сверху

2017-02-08 06:07:12 | Дмитрий
А возможно по SIP передавать изображение с этого домофона?


2017-02-21 01:22:26 | kodr
Да, по протоколу SIP домофон передаёт и видео.