Поворот связанной поворотной камеры в предустановленную точку по команде (Point observer 1)
По команде observe устройству Наблюдаемая точка (ObservablePoint) поворачивать связанное с ним поворотное устройство в точку, заданную положением ObservablePoint. Скрипт работает с одной локальной базой интеграции.
Зависимости
Скрипт выполняется по команде observe, которая задается в скрипте Команда по расписанию (Scheduled commander 1).
Построение схемы
Для построения схемы требуется:
1. Добавить триггер EgsObjectUpdated.
- Для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsObjectUpdated.
- 2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsObjectUpdated и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsObjectUpdated и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующие параметры триггера:
- текст скрипта (script)
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%202.put&path=0/params/script/value;
- задействовать триггер (enabled), например: true;
- в настройках:
- адрес веб-сервиса ИнтеграВидео7 (url), например: http://localhost:1986/axis2/services/Iv7Server;
- дистанция до цели, начиная с которой приближение камеры будет всегда максимальным (max_zoom_distance), например: 1500.0;
- коэффициент, ограничивающий максимальное приближение камеры (max_zoom_limit_factor), от 0.0 (0%) до 1.0 (100%), например: 1.0.
Настройку параметров триггера можно выполнить, открыв свойства элемента.
8. Поворот камеры может быть реализован двумя способами:
- 1. Поворот по координатам. Для этого необходимо:
- 1. У каждой поворотной точки ObservablePoint настроить следующие параметры:
- 1. расположение (position), например: (50.22210012; 53.23655301);
- 2. высота над уровнем моря (altitude), например: 125.06266735028476.
- 1. У каждой поворотной точки ObservablePoint настроить следующие параметры:
- 2. С точкой должна быть связана поворотная камера, т.е. устройство типа PTZDevice, VideoCamera и SpatialObject одновременно, для которой должны быть настроены следующие параметры:
- 1. географические координаты (geo_position), например: (50.22206113; 53.23616964);
- 2. географическая высота (geo_height), например: 0;
- 3. калибровочная матрица (calibrationMatrix), например: -0.02104252 ... 0.9995127 (9 чисел с плавающей точкой);
- 4. адреса видео-потоков (urls), например: iv7://admin:fulladmin/?udp_id=2801&key2=2801_Поворотная ПН1@.
- 2. С точкой должна быть связана поворотная камера, т.е. устройство типа PTZDevice, VideoCamera и SpatialObject одновременно, для которой должны быть настроены следующие параметры:
- 2. Поворот по предустановке. Для этого необходимо:
- 1. У каждой поворотной точки ObservablePoint настроить параметр предустановка (preset) - номер предустановленной точки обзора, настроенного на камере, например: 0, 1, 2 и т.д.
- 2. С точкой линком Overseer_link должна быть связана поворотная камера, т.е. устройство типа PTZDevice, VideoCamera и SpatialObject одновременно, для которой должен быть настроен параметр адреса видео-потоков (urls), например: iv7://admin:fulladmin/?udp_id=2801&key2=2801_Поворотная ПН1@.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%202.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.
Пример работы
В примере будет рассмотрен поворот камеры по координатам. Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму (см. Построение схемы).
2. Добавить элемент Наблюдаемая точка и IP Поворотная видеокамера. Подключите пин "Источник наблюдателя: Overseer_output" из IP поворотной видеокамеры с пином "Приемник наблюдателя: Overseer_input" из Наблюдаемой точки.
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- задействовать триггер (enabled): true;
- в настройках:
- адрес URL (url): http://192.168.10.31:1986/axis2/services/Iv7Server;
- дистанция до цели, начиная с которой приближение камеры будет всегда максимальным (max_zoom_distance): 1500;
- коэффициент, ограничивающий максимальное приближение камеры (max_zoom_limit_factor), от 0.0 (0%) до 1.0 (100%): 1.
5. У наблюдаемой точки ObservablePoint настроить следующие параметры:
- расположение (position): (50.22210012; 53.23655301);
- высота над уровнем моря (altitude): 123.58162603527308.
6. Настроить параметры поворотной камеры:
- географические координаты (geo_position): POINT(50.22219146 53.23627474);
- географическая высота (geo_height): 130;
- калибровочная матрица (calibrationMatrix): 0.95980984 0.28064746 -0.0014583534 -0.28058684 0.95946532 -0.026406791 -0.0060117589 0.025754692 0.99965024;
- адрес URL (url): iv7://admin:fulladmin@/?udp_id=211&key2=211 rtsp://q:__root__@192.168.10.211/axis-media/media.amp?videocodec=h264&streamprofile=Balanced.
Далее необходимо запустить скрипт Команда по расписанию (Scheduled commander 1) и настроить в свойствах триггера параметры:
- список масок имен типов для отправки команды (types): ObservablePoint;
- команда (command): observe;
- идентификатор объекта для отправки команды (guids). Для этого необходимо зайти в свойства элемента Наблюдаемая точка и нажать на ссылку "Наблюдаемая точка". Идентификатор будет скопирован в буфер обмена. В данном случае это: 0be65844-9e76-42cd-b4ae-2709e0d04ac5.
Результат:
Камера поворачивается в наблюдаемую точку.
Дополнения
1. В пункте 1 раздела Построение схемы добавление триггера EgsObjectUpdated можно осуществить по ссылке.
Для этого необходимо:
- 1. Импортировать скрипт по следующей ссылке:
http://maps.integra-s.com:5434/resources/typedef2017/egs/Point%20observer%202.put.
- 2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
- 3. В открывшемся окне выбрать импортированный скрипт "Point observer 1.put".
- Элемент появится на рабочей области.
2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.