Сегодня я практически для себя разберу, как в мою систему Domoticz
на базе Ubuntu 22.04 Server
добавить IP
–камеры из видеорегистратора, т.е. я хочу через "Панель"
видеть и переходить в них дабы получать видеопоток, либо же нанести камеры на "План помещения"
и наглядно с учетом плана участка отображать. Может конечно не все сразу, но часть задумки в этой заметке я реализую:
Мое домашнее видеонаблюдение состоит из:
- Dahua DHI-NVR2108HS-8P-4KS2 + HDD на 2Tb (Жесткий диск 2TB SATA 6Gb/s Seagate ST2000DM008)
- Dahua DH-IPC-HFW2230SP-S-0360B
- Dahua DH-IPC-HFW2230SP-S-0360B
- Dahua DH-IPC-HFW2431SP-S-0360B белый (4M)
Мой боевой Domoticz
развернут на связке Ubuntu 20.04 + Domoticz (Version: 2021.1)
Т.к. я планирую обновление/переход на Ubuntu 22.04 Server
, то сразу же разбираюсь задумку на ней.
Приступим:
Шаг №1:
Первым делом разворачиваем по заметке самую последнюю версию где в качестве операционной системы используется Ubuntu 22.04 Server:
"Разворачиваем Domoticz на Ubuntu 22.04 Server"
в итоге должно получиться http://172.33.33.117:8080/#/Login - admin&domoticz
О Domoticz
Version: 2023.2 (build 15457)
Build Hash: 25624ca14
Compile Date: 2023-07-22 11:39:06
dzVents Version: 3.1.8
Python Version: None
Active User: admin
Шаг №2:
Открываем Web
–интерфейс регистратора и проверяем какие способы удаленного подключения к регистратору присутствуют:
http://172.33.33.117:8080/#/Login - user&pass - Настройка - Безопасность
– вкладка "Базовые услуги"
CGI: отмечаю галочкой
ONVIF: отмечаю галочкой
NTP-сервер: отмечаю галочкой
Разрешить обнаружение устройства: отмечаю галочкой
и нажимаю OK
окна с сообщением "Включение этой службы несет риски для безопасности. Продолжить?"
, а после еще раз "OK"
в правом нижнем углу страницы.
Шаг №3:
Разбираемся, как из консоли командной строки системы Ubuntu 22.04 Server
подключаться к регистратору и заведенным на него камерам:
ekzorchik@srv-home:~$ sudo apt-get install -y curl
Получить изображение с камеры 1:
ekzorchik@srv-home:~$ curl --digest -u "admin:password" -g "http://172.33.33.250/cgi-bin/snapshot.cgi?Channel=1" -o camera1.jpg % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 121k 100 121k 0 0 71226 0 0:00:01 0:00:01 --:--:-- 233k ekzorchik@srv-home:~$
Смотрим/Извлекаем информацию по сохраненному скриншоту с камеры №1:
ekzorchik@srv-home:~$ ls -l camera1.jpg -rw-rw-r-- 1 ekzorchik ekzorchik 124504 Jan 16 11:57 camera1.jpg ekzorchik@srv-home:~$ file camera1.jpg camera1.jpg: JPEG image data, JFIF standard 1.01, resolution (DPCM), density 118x118, segment length 16, comment: "", comment: "DHAV\373", baseline, precision 8, 1920x1080, components 3 ekzorchik@srv-home:~$
или так через ONVIF
подключение к регистратору:
ekzorchik@srv-home:~$ curl --digest -u "admin:password" -g "http://172.33.33.250/onvifsnapshot/media_service/snapshot?channel=1&subtype=0" -o camera1.jpg % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 121k 100 121k 0 0 117k 0 0:00:01 0:00:01 --:--:-- 4341k ekzorchik@srv-home:~$ file camera1.jpg camera1.jpg: JPEG image data, JFIF standard 1.01, resolution (DPCM), density 118x118, segment length 16, comment: "", comment: "DHAV\373", baseline, precision 8, 1920x1080, components 3 ekzorchik@srv-home:~$
На заметку: По умолчанию только для учетной записи Login: admin
разрешено подключение/обращение к камере через onvifs: https://172.33.33.250 - user&pass - Настройка - Уч.Зап - Пользователь ONVIF
это так если что.
Если через WinSCP
подключиться к Ubuntu 22.04 Server + Domoticz
и скопировать себе полученный скриншот на рабочую станцию,
а после открыть через просмотрщик (ACDSee 8
) изображений, то я увижу воочию снятое изображение, к примеру, в моем случае:
Отлично.
Шаг №4:
Подключаемся по SSH
к системе Ubuntu 22.04 Server
на которой развернут Domoticz
и создаем скрипт подключения к камере 1:
ekzorchik@srv-home:~$ sudo mkdir -p domoticz/camera ekzorchik@srv-home:~$ sudo mkdir -p domoticz/scripts/customscripts ekzorchik@srv-home:~$ sudo nano domoticz/scripts/customscripts/camera1.sh #!/usr/bin/bash curl --digest -u "admin:password" -g "http://172.33.33.250/cgi-bin/snapshot.cgi?Channel=1" -o /home/ekzorchik/domoticz/camera/camera1.jpg ekzorchik@srv-home:~$ sudo chmod +x domoticz/scripts/customscripts/* ekzorchik@srv-home:~$ sudo domoticz/scripts/customscripts/camera1.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 123k 100 123k 0 0 148k 0 --:--:-- --:--:-- --:--:-- 4404k ekzorchik@srv-home:~$ ls -lh domoticz/camera/ total 124K -rw-r--r-- 1 root root 124K Jan 16 12:13 camera1.jpg ekzorchik@srv-home:~$
Отлично скрипт создан, ну по крайней мере его первая базовая версия.
На заметку: В заметке Шаг №4
не используется, это заготовка.
Шаг №5:
Настраиваем функционал в Domoticz
для взаимодействия с камерой, т.е. заводим подключение к камере:
http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Дополнительно - Камеры - Добавить камеру
Включено: положение в значение включено (индикатор зеленого цвета)
Имя: Camera1
Aspect Ratio: 4:3
Протокол: HTTP
IP-Адрес: 172.33.33.250
Порт: 80
Имя: admin
Пароль: password
ImageUrl: cgi-bin/snapshot.cgi?Channel=1
На заметку: в поле ImageUrl:
не нужно указать символ "/"
перед cgi-bin
, он уже идет как бы по умолчанию, но вот об этом нигде не указано.
и нажимаю Add
, меня перекидываем в меню "Камеры"
где уже отображается предварительный просмотр, также что мне доступно с камеры: это "Сделать снимок"
и "Stream Video"
Это очень хорошо.
Проверяем:
- если нажать на иконку со всплывающим сообщением
"Сделать снимок" / http://172.35.35.10:8080/camsnapshot.jpg?idx=1
будет произведено снятие скриншота с камеры - если нажать на иконку со всплывающим сообщением
"Stream Video"
будет открыто окно где изображение обновляется каждые 2 секунды
Это уже что-то с этими данными можно работать.
Шаг №6:
Создаю в Domoticz
шаблон на виртуальный сенсор = Dummy:
http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Оборудование -
Включено: положение в значение включено (индикатор зеленого цвета)
Имя: Dummy
Тип: Dummy (Does nothing, use for virtual switches only)
Log Level: Info, Состояние, Ошибка в положении включено (индикатор зеленого цвета)
Задержка данных: Отключен
и нажимаю "Добавить"
Шаг №7:
Создаю переключатель на основе шаблона Dummy
который сделал в предыдущем шаге, позже с ним свяжу элемент "Camera1":
http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Оборудование
– в шаблоне с именем "Dummy"
нажимаю "Создать виртуальные датчики"
Указываю имя виртуального сенсора, к примеру, для удобства взаимодействия:
Имя: Camera1
тип датчика: Переключатель
и нажимаю "OK"
найти созданный "Переключатель"
можно в меню: "Переключатели"
Шаг №8:
Связываем виртуальный датчик с именем Camera1
с камерой с именем Camera1:
http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Дополнительно - Камеры
, выделяем камеру и после ниже где "Устройство/Сцена"
отобразится созданный тип датчика "Переключатель"
Выделил "Камеру"
, выбрал "Переключатель"
и нажимаю "Добавить"
После в "Активные Устройства/Сцены"
отобразится связанное устройство: [Light/Switches] Camera1
Это нам дает вот что, если перейти в меню "Переключатели"
появится в созданном переключателе с именем "Camera1"
значок видеокамеры, если на вести на него курсор мыши, то появится всплывающее окно с надписью "Stream Video"
кликнув на которое откроется окно где будет видеопоток с меняющимся видео с перескоком на 2 секунды, т.е. как бы видео хоть не как реальная картинка, но все же идет.
Получается вот так не особо визуализировано камеры с видеорегистратора добавляются в систему Domoticz
на Ubuntu 22.04 Server
, но работает ведь и это хорошо.
Шаг №9:
Добавляем переключатель который будет отображать состояние регистратора: Включен или Выключен
http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Оборудование
Включено: положение в значение включено (индикатор зеленого цвета)
Имя: Registrator
Тип: System Alive Checker (Ping)
Log Level: Info, Состояние, Ошибка в положении включено (индикатор зеленого цвета)
Задержка данных: Отключен
и нажимаю "Добавить"
После все здесь же в "Оборудование"
переходим в созданный элемент "Registrator" - Настройка:
и указываю какой узел по IP
адресу осуществлять проверку доступности:
Имя: Регистратор
IP-Адрес: 172.33.33.250
Задержка: 300 (Секунды)
и нажимаю "Добавить", "Применить настройки"
Чтобы вынести осуществляемую проверку в меню "Переключатели"
можно:
http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Устройства
– отметить галочкой "Оборудование: Registrator"
и нажать на стрелочку направленную вправо:
Появляется окно добавления устройства:
Имя: Registrator
В виде: Главное устройство
и нажимаю "Добавить устройство"
И вот теперь в меню "Переключатели"
отображается проверка регистратора на доступность через PING:
Отлично, но все же это все как-то угловато выглядит.
На заметку: если отметить галочкой звездочку напротив каждого "Переключателя"
, то элементы будет вынесены в меню "Панель".
Итого, пока хоть так, но у меня получилось добавить регистратор в свой Domoticz
, все выше справедливо, если Domoticz версии 2021.1 + Ubuntu 20.04 LTS.
Есть от чего отталкиваться если буду модернизировать данную заметку, а пока собственно все, с уважением автор блога Олло Александр aka ekzorchik.