Клиент протокола ССТМК (CCTMK client) — различия между версиями
Mikheeva (обсуждение | вклад) (→Построение схемы) |
Mikheeva (обсуждение | вклад) (→Проверка) |
||
(не показано 12 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Импортирование событий по протоколу ССТМК. | + | Импортирование событий по протоколу ССТМК. Скрипт работает с одной локальной базой интеграции. |
==Построение схемы== | ==Построение схемы== | ||
Строка 48: | Строка 48: | ||
7. Настроить следующие параметры триггера: | 7. Настроить следующие параметры триггера: | ||
− | #текст скрипта ('''script''')'' <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/ | + | #текст скрипта ('''script''')'' <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/CCTMK%20client%202.put&path=0/params/script/value;</code> |
# единица измерения ('''period_unit'''), например: секунда; | # единица измерения ('''period_unit'''), например: секунда; | ||
# интервал в единицах измерения ('''period_count'''), например: 1; | # интервал в единицах измерения ('''period_count'''), например: 1; | ||
Строка 61: | Строка 61: | ||
Настройку параметров триггера можно выполнить, открыв свойства элемента. | Настройку параметров триггера можно выполнить, открыв свойства элемента. | ||
− | [[File: | + | [[File:CCTMK_3.PNG|центр]] |
==Проверка== | ==Проверка== | ||
− | После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/ | + | После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/CCTMK%20client%202.put&path=0/params/hash/value</code> |
− | ''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.'' | + | ''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.'' |
==Алгоритм работы== | ==Алгоритм работы== | ||
− | # | + | #К сервису по адресу '''settings.deviceUrl''' делается запрос '''GetServices''' для получения адреса сервиса событий, т.е. сервиса с пространством имен <code>http://www.onvif.org/ver10/events/wsdl</code>. |
− | # | + | #По этому адресу делается запрос '''CreatePullPointSubscription''' для создания подписки и запоминается адрес подписки, содержащий ее идентификатор. |
− | + | #Далее при каждой итерации делаются запросы '''PullMessages''' и '''Renew'''. | |
− | + | #Для каждого из полученных при помощи '''PullMessages''' событий делается следующее: | |
− | + | ##Из группы параметров сообщения '''Source''' берется параметр '''Id'''. | |
− | Для | + | ##Находится объект наследник типа '''OnvifItem''' с параметром '''onvifId''' равным '''Id''' сообщения. |
− | + | ##Найденному объекту проставляется событие взятое из темы '''Topic''' сообщения. | |
− | + | ##Значения параметров из группы '''Data''' копируются в соответствующие параметры найденного объекта. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | # | ||
− | |||
− | # | ||
− | |||
− | |||
− | |||
− | ## | ||
− | |||
− | ''' | ||
− | |||
− | |||
==Дополнения== | ==Дополнения== | ||
− | 1. В пункте 1 раздела [[ | + | 1. В пункте 1 раздела [[Клиент_протокола_ССТМК_(CCTMK_client)#Построение_схемы|Построение схемы]] добавление триггера '''EgsScheduled''' можно осуществить по ссылке. |
Для этого необходимо: | Для этого необходимо: | ||
− | :1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/ | + | :1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/CCTMK%20client%202.put.</code> |
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов". | :2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов". | ||
− | [[File:Scheduled_com_1.png|центр| | + | [[File:Scheduled_com_1.png|центр|800px]] |
− | :3. В открывшемся окне выбрать импортированный скрипт " | + | :3. В открывшемся окне выбрать импортированный скрипт "CCTMK client.put". |
− | [[File: | + | [[File:CCTMK_4.PNG|центр]] |
:Элемент появится на рабочей области. | :Элемент появится на рабочей области. | ||
− | [[File:Scheduled_com_3.png|центр| | + | [[File:Scheduled_com_3.png|центр|800px]] |
− | |||
− | |||
− | [[File: | + | 2. В пункте 7 раздела [[Клиент_протокола_ССТМК_(CCTMK_client)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры". |
+ | [[File:CCTMK_5.PNG|центр]] | ||
:После этого откроется окно для редактирования параметров.'' | :После этого откроется окно для редактирования параметров.'' | ||
− | + | [[File:CCTMK_6.PNG|центр|1000px]] | |
− | [[File: |
Текущая версия на 11:48, 21 мая 2019
Импортирование событий по протоколу ССТМК. Скрипт работает с одной локальной базой интеграции.
Построение схемы
Для построения схемы требуется:
1. Добавить триггер EgsScheduled.
- Для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsScheduled.
- 2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
- Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующие параметры триггера:
- текст скрипта (script)
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/CCTMK%20client%202.put&path=0/params/script/value;
- единица измерения (period_unit), например: секунда;
- интервал в единицах измерения (period_count), например: 1;
- точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- включить триггер (enabled), например: true;
- в настройках:
- адрес базового ONVIF сервиса тестируемой системы (deviceUrl), например: http://192.168.10.84:9000/onvif/device_service;
- время жизни Pull Point подписки (initialTerminationTime), например: PT10M;
- максимальное количество сообщений в одном пакете (messageLimit), например: 1024;
- таймаут операции PullMessages (timeout), например: PT10S.
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/CCTMK%20client%202.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.
Алгоритм работы
- К сервису по адресу settings.deviceUrl делается запрос GetServices для получения адреса сервиса событий, т.е. сервиса с пространством имен
http://www.onvif.org/ver10/events/wsdl
. - По этому адресу делается запрос CreatePullPointSubscription для создания подписки и запоминается адрес подписки, содержащий ее идентификатор.
- Далее при каждой итерации делаются запросы PullMessages и Renew.
- Для каждого из полученных при помощи PullMessages событий делается следующее:
- Из группы параметров сообщения Source берется параметр Id.
- Находится объект наследник типа OnvifItem с параметром onvifId равным Id сообщения.
- Найденному объекту проставляется событие взятое из темы Topic сообщения.
- Значения параметров из группы Data копируются в соответствующие параметры найденного объекта.
Дополнения
1. В пункте 1 раздела Построение схемы добавление триггера EgsScheduled можно осуществить по ссылке.
Для этого необходимо:
- 1. Импортировать скрипт по следующей ссылке:
http://maps.integra-s.com:5434/resources/typedef2017/egs/CCTMK%20client%202.put.
- 2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
- 3. В открывшемся окне выбрать импортированный скрипт "CCTMK client.put".
- Элемент появится на рабочей области.
2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.