Поворот связанной поворотной камеры в предустановленную точку по команде (Point observer 1) — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Дополнения)
(Проверка)
 
(не показано 20 промежуточных версий этого же участника)
Строка 1: Строка 1:
По команде '''observe''' устройству Наблюдаемая точка ('''ObservablePoint''') поворачивать связанное с ним поворотное устройство в точку заданную положением '''ObservablePoint'''.
+
По команде '''observe''' устройству Наблюдаемая точка ('''ObservablePoint''') поворачивать связанное с ним поворотное устройство в точку, заданную положением '''ObservablePoint'''. Скрипт работает с одной локальной базой интеграции.
 +
 
 +
==Зависимости==
 +
Скрипт выполняется по команде '''observe''', которая задается в скрипте [[Команда по расписанию (Scheduled commander 1)]].
  
 
==Построение схемы==
 
==Построение схемы==
Строка 37: Строка 40:
 
[[File:PointObserver_1.PNG|центр|1000px]]
 
[[File:PointObserver_1.PNG|центр|1000px]]
  
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Привязка к менеджеру: ManagingContainer'''" из '''Менеджера устройств'''.
+
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Менеджер устройств: ManagingContainer'''" из '''Менеджера устройств'''.
  
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
Строка 47: Строка 50:
 
7. Настроить следующие параметры триггера:
 
7. Настроить следующие параметры триггера:
  
#текст скрипта ('''script''') <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%201.put&path=0/params/script/value;</code>
+
#текст скрипта ('''script''') <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%202.put&path=0/params/script/value;</code>
#тип ('''typedef''') <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%201.put&path=0/params/typedef/value;</code>
 
 
#задействовать триггер ('''enabled'''), например: true;
 
#задействовать триггер ('''enabled'''), например: true;
 
#в настройках:
 
#в настройках:
Строка 59: Строка 61:
 
[[File:PointObserver_3.PNG|центр]]
 
[[File:PointObserver_3.PNG|центр]]
  
8. У каждой поворотной точки '''ObservablePoint''' настроить следующие параметры:
+
8. Поворот камеры может быть реализован двумя способами:
 
+
:1. Поворот по координатам. Для этого необходимо:
#расположение ('''position'''), например: (50.22210012; 53.23655301);
+
::1. У каждой поворотной точки '''ObservablePoint''' настроить следующие параметры:
#высота над уровнем моря ('''altitude'''), например: 125.06266735028476.
+
:::1. расположение ('''position'''), например: (50.22210012; 53.23655301);
 +
:::2. высота над уровнем моря ('''altitude'''), например: 125.06266735028476.
  
9. С точкой должна быть связана поворотная камера, т.е. устройство типа '''PTZDevice''', '''VideoCamera''' и '''SpatialObject''' одновременно, для которой должны быть настроены следующие параметры:
+
::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@.
  
#географические координаты ('''geo_position'''), например: (50.22206113; 53.23616964);
+
:2. Поворот по предустановке. Для этого необходимо:
#географическая высота ('''geo_height'''), например: 0;
+
::1. У каждой поворотной точки '''ObservablePoint''' настроить параметр предустановка ('''preset''') - номер предустановленной точки обзора, настроенного на камере, например: 0, 1, 2 и т.д.
#калибровочная матрица ('''calibrationMatrix'''), например: -0.02104252 ... 0.9995127 (9 чисел с плавающей точкой);
+
::2. С точкой линком Overseer_link должна быть связана поворотная камера, т.е. устройство типа PTZDevice, VideoCamera и SpatialObject одновременно, для которой должен быть настроен параметр адреса видео-потоков ('''urls'''), например: iv7://admin:fulladmin/?udp_id=2801&key2=2801_Поворотная ПН1@.
#адрес URL ('''url'''), например: iv7://admin:fulladmin/?udp_id=2801&key2=2801_Поворотная ПН1@.
 
  
 
==Проверка==
 
==Проверка==
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%201.put&path=0/params/hash/value</code>
+
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%202.put&path=0/params/hash/value</code>
  
''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.''
+
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
  
 
==Пример работы==
 
==Пример работы==
  
Для построения схемы необходимо:
+
В примере будет рассмотрен поворот камеры по координатам. Для построения схемы необходимо:
  
 
1. Создать схему по выше описанному алгоритму (см. [[Поворот_связанной_поворотной_камеры_в_предустановленную_точку_по_команде_(Point_observer_1)#Построение_схемы|Построение схемы]]).
 
1. Создать схему по выше описанному алгоритму (см. [[Поворот_связанной_поворотной_камеры_в_предустановленную_точку_по_команде_(Point_observer_1)#Построение_схемы|Построение схемы]]).
Строка 109: Строка 115:
 
#калибровочная матрица ('''calibrationMatrix'''): 0.95980984 0.28064746 -0.0014583534 -0.28058684 0.95946532 -0.026406791 -0.0060117589 0.025754692 0.99965024;
 
#калибровочная матрица ('''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.
 
#адрес 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.
 +
 +
[[File:PointObserver_8.png|центр]]
  
 
'''Результат''':
 
'''Результат''':
  
????????
+
Камера поворачивается в наблюдаемую точку.
  
 
==Дополнения==
 
==Дополнения==
Строка 119: Строка 132:
 
Для этого необходимо:
 
Для этого необходимо:
  
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com/resources/typedef2017/egs/Point%20observer%201.put.</code>
+
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Point%20observer%202.put.</code>
 
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
 
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
  

Текущая версия на 11:47, 21 мая 2019

По команде observe устройству Наблюдаемая точка (ObservablePoint) поворачивать связанное с ним поворотное устройство в точку, заданную положением ObservablePoint. Скрипт работает с одной локальной базой интеграции.

Зависимости

Скрипт выполняется по команде observe, которая задается в скрипте Команда по расписанию (Scheduled commander 1).

Построение схемы

Для построения схемы требуется:

1. Добавить триггер EgsObjectUpdated.

Для этого необходимо:
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsObjectUpdated.
ResponsiveCommander 2.png
2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
Scheduled com 5.png
3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
ResponsiveCommander 3.PNG

2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.

ResponsiveCommander 4.PNG

3. Настроить сетевой адрес компьютера.

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

В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".

Scheduled com 7.PNG

4. Связать EgsObjectUpdated и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsObjectUpdated и «Egs выход: EgsOutput» у Egs Модуля.

PointObserver 1.PNG

5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.

Scheduled com 9.PNG

6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.

PointObserver 2.PNG

7. Настроить следующие параметры триггера:

  1. текст скрипта (script) http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Point%20observer%202.put&path=0/params/script/value;
  2. задействовать триггер (enabled), например: true;
  3. в настройках:
    1. адрес веб-сервиса ИнтеграВидео7 (url), например: http://localhost:1986/axis2/services/Iv7Server;
    2. дистанция до цели, начиная с которой приближение камеры будет всегда максимальным (max_zoom_distance), например: 1500.0;
    3. коэффициент, ограничивающий максимальное приближение камеры (max_zoom_limit_factor), от 0.0 (0%) до 1.0 (100%), например: 1.0.

Настройку параметров триггера можно выполнить, открыв свойства элемента.

PointObserver 3.PNG

8. Поворот камеры может быть реализован двумя способами:

1. Поворот по координатам. Для этого необходимо:
1. У каждой поворотной точки ObservablePoint настроить следующие параметры:
1. расположение (position), например: (50.22210012; 53.23655301);
2. высота над уровнем моря (altitude), например: 125.06266735028476.
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. Поворот по предустановке. Для этого необходимо:
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. Создать схему по выше описанному алгоритму (см. Построение схемы).

PointObserver 2.PNG

2. Добавить элемент Наблюдаемая точка и IP Поворотная видеокамера. Подключите пин "Источник наблюдателя: Overseer_output" из IP поворотной видеокамеры с пином "Приемник наблюдателя: Overseer_input" из Наблюдаемой точки.

PointObserver 4.PNG

3. Настроить параметр "Сетевой адрес" компьютера.

4. Настроить следующие параметры триггера:

  1. задействовать триггер (enabled): true;
  2. в настройках:
    1. адрес URL (url): http://192.168.10.31:1986/axis2/services/Iv7Server;
    2. дистанция до цели, начиная с которой приближение камеры будет всегда максимальным (max_zoom_distance): 1500;
    3. коэффициент, ограничивающий максимальное приближение камеры (max_zoom_limit_factor), от 0.0 (0%) до 1.0 (100%): 1.

5. У наблюдаемой точки ObservablePoint настроить следующие параметры:

  1. расположение (position): (50.22210012; 53.23655301);
  2. высота над уровнем моря (altitude): 123.58162603527308.

6. Настроить параметры поворотной камеры:

  1. географические координаты (geo_position): POINT(50.22219146 53.23627474);
  2. географическая высота (geo_height): 130;
  3. калибровочная матрица (calibrationMatrix): 0.95980984 0.28064746 -0.0014583534 -0.28058684 0.95946532 -0.026406791 -0.0060117589 0.025754692 0.99965024;
  4. адрес 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) и настроить в свойствах триггера параметры:

  1. список масок имен типов для отправки команды (types): ObservablePoint;
  2. команда (command): observe;
  3. идентификатор объекта для отправки команды (guids). Для этого необходимо зайти в свойства элемента Наблюдаемая точка и нажать на ссылку "Наблюдаемая точка". Идентификатор будет скопирован в буфер обмена. В данном случае это: 0be65844-9e76-42cd-b4ae-2709e0d04ac5.
PointObserver 8.png

Результат:

Камера поворачивается в наблюдаемую точку.

Дополнения

1. В пункте 1 раздела Построение схемы добавление триггера EgsObjectUpdated можно осуществить по ссылке.

Для этого необходимо:

1. Импортировать скрипт по следующей ссылке: http://maps.integra-s.com:5434/resources/typedef2017/egs/Point%20observer%202.put.
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
Scheduled com 1.png
3. В открывшемся окне выбрать импортированный скрипт "Point observer 1.put".
PointObserver 5.PNG
Элемент появится на рабочей области.
ResponsiveCommander 3.PNG

2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".

PointObserver 6.png
После этого откроется окно для редактирования параметров.
PointObserver 7.PNG