AV & Custom Systems (UDP)
Содержание
- 1 Принцип управления оборудованием по UDP
- 2 Создание и настройка драйвера AV & Custom Systems (UDP)
- 3 Структура драйвера AV & Custom Systems
- 4 Отправка команд AV оборудованию
- 5 Работа с командами AV & Custom Systems (UDP)
- 6 Создание своей базы команд AV & Custom Systems (UDP)
- 7 Переключение между Локальным и Интернет-соединением
- 8 Загрузки
iRidium для AV & Custom Systems (UDP) позволяет управлять оборудованием, оснащенным Ethernet-интерфейсом или Wi-Fi модулем. Управление производится по UDP/IP, локально и через Интернет.
Условия работы с драйвером:
- возможность управления выбранным оборудованием по UDP/IP
- наличие команд управления оборудованием по UDP/IP и описания протокола
- возможность самостоятельного создания скриптов, если протокол предполагает авторизацию и обязательный обмен данными с панелью управления
Описание работы драйвера:
Драйвер "AV & Custom Systems (UDP)" открывает и поддерживает сессию соединения с оборудованием по UDP/IP. Когда соединение установлено, подключенному оборудованию можно отправлять команды - список команд формируется пользователем в процессе создания проекта. Обратная связь от оборудования реализуется за счет обработки входящих данных посредством скрипта, созданного в проекте iRidium (см. iRidium DDK и iRidium Script API).
Эта инструкция не описывает создание скриптов для обработки приходящих от оборудования данных. Получение обратной связи от оборудования описано в разделе iRidium DDK.
Принцип управления оборудованием по UDP
В iRidium вы можете использовать универсальный драйвер "AV & Custom Systems (UDP)" для подключения к вашему аудио-видео и другому оборудованию. Схема связи iRidium с оборудованием:
Протокол передачи данных: UDP/IP.
Поддерживаемые форматы обмена данными: ASCII, HEX, DEC.
Для записи команд в разных форматах используется синтаксис iRidium.
Обратная связь от оборудования: в базовом варианте отсутствует. Реализуется через iRidium Script, cм. iRidium DDK.
Необходимая лицензия: Device License Pro для AV & Custom Systems (см. Лицензирование). Подходит для любого оборудования, управляемого с помощью "AV & Custom Systems". Позволяет использовать в проекте любые скрипты.
Создание и настройка драйвера AV & Custom Systems (UDP)
Выберите в окне DEVICE BASE редактора iRidium GUI Editor вкладку AV & Custom Systems, разверните ее и найдите "AV & Custom Systems (UDP)". Перетащите драйвер в окно PROJECT DEVICE PANEL:
Параметры подключения к оборудованию через AV & Custom Systems (UDP):
- Host - IP адрес управляемого оборудования (локальный, внешний или доменное имя)
- Port - UDP порт подключения к оборудованию
- Script Mode - режим отправки команд и взаимодействия со скриптами в проекте iRidium
- Direct & Script - данные из команды будут отправлены напрямую оборудованию и обработаны скриптовой системой
- Script Only - команды, созданные внутри драйвера, не уходят оборудованию непосредственно, а обрабатываются скриптовой системой, которая производит целевые действия.
Для подключения к оборудованию через Интернет:
- 1. в строке Host укажите публичный IP-адрес вашего интернет-маршрутизатора
- 2. На маршрутизаторе настройте проброс портов (Port Forwarding) для возможности удаленного управления оборудованием.
- Узнать публичный IP-адрес своего маршрутизатора Вы можете при помощи интернет-сервисов, например Яндекс.Интернет
Для переключения между локальным соединением и работой через Интернет:
Используйте пример, представленный далее.
Структура драйвера AV & Custom Systems
Драйвер AV & Custom Systems в проекте iRidium состоит из 3х частей:
- Driver Tokens - список переменных, которые хранят информацию о подключении к оборудованию.
- Commands - список команд, которые можно отправить оборудованию (или в скрипт) по нажатию кнопки интерфейса
- Feedbacks - список имен каналов обратной связи, куда могут записываться данные от управляемого оборудования, обработанные скриптовой системой iRidium.
Параметры и назначение частей драйвера:
Driver Tokens
Driver Tokens - переменные, в которых хранится статус подключения к оборудованию. Эти параметры можно только прочитать.
Для использования переменной драйвера, перетащите ее на графический элемент (значение можно вывести в текстовое поле элемента или повлиять им на состояние элемента)
Online | состояние подключения к оборудованию (Online/Offline = 1/0) |
Status | статус подключения к оборудованию (Offline/Connecting/Online/Waiting = 0...3) |
Host | доменное имя удаленной системы |
HostPort | порт на удаленной системе, к которому подключается iRidium App |
IP | IP-адрес панели управления |
HostIP | IP-адрес удаленной системы, к которой подключен iRidium |
Port | локальный порт панели управления, через который осуществляется связь с удаленной системой |
Commands и Feedbacks
Commands - список команд, которые можно отправить оборудованию (или в скрипт) по нажатию кнопки интерфейса. Заполняется свободно. Число команд не ограничено.
Feedbacks - список имен каналов обратной связи, куда могут записываться данные от управляемого оборудования, обработанные скриптовой системой iRidium. Данные, записанные в поле Data канала Feedback, можно прочитать через скрипт.
Команды (Commands)
- Name - произвольное имя команды
- Data - данные, которые должна отправить команда при вызове. Можно записать в HEX, DEC, ASCII
- Desable Header - используется только для модулей Global Cache и готовых спец. драйверов. По умолчанию оставьте False.
Обратная связь (Feedback)
- Name - имя канала обратной связи. По имени можно обратиться к каналу из скрипта для записи данных
- Data - данные, которые хранит канал обратной связи при запуске проекта. Могут быть перезаписаны с помощью команды графического элемента или из скрипта.
Чтобы привязать команду к графическому элементу:
перетащите ее на графический элемент и выберите, по какому событию отправлять команду:
- Press - нажатие на элемент
- Release - отпускание элемента
- Hold - удержание элемента
- Move - перемещение по элементу (в основном используется для элементов Level)
Чтобы привязать обратную связь к графическому элементу:
перетащите ее на графический элемент и выберите, на что должна влиять обратная связь:
- In Value - при получении любого значения, не равного нулю, элемент изменит свое состояние (State 1/State 2). Используется для визуализации изменений за счет смены внешнего вида элемента.
- In Text - при получении каналом любых данных, они будут записаны в текстовое поле элемента
- More... - полученные данные могут влиять на любой другой параметр элемента (см. доступные параметры в диалоге привязки)
Отправка команд AV оборудованию
Выберите команды для оборудования, которые нужно добавить в список драйвера AV & Custom Systems (UDP). Они могут храниться в одном из форматов:
- ASCII - строка
- HEX - шестнадцатеричный
- DEC - десятичный
Нужно правильно оформить информацию, которая хранится в каждом из этих форматов, чтобы iRidium смог ее обработать и отправить оборудованию. Для оформления команд служит "синтаксис" iRidium для команд драйвера AV & Custom Systems. Этот синтаксис одинаков для TCP, UDP, RS232 транспорта.
Особенности отправки команд по UDP:
Протоколы обмена данными с оборудованием включают инструкции для оборудования и правила оформления команд. Команды для TCP и RS232 обычно завершаются символами "возврат каретки" <CR> и "конец строки" <LF>. Команды для UDP (за некоторым исключением) обычно работают без них.
Если ваша документация указывает использовать "возврат каретки" <CR> и "конец строки" <LF>, оформляйте их так:
В документации: | <CR> | <CR> | <CR> | <LF> | <LF> | <LF> |
В iRidium (поле Data): | 0x0D | $0D | 13 | 0x0A | $0A | 10 |
Если в вашей документации нет указания к использованию этих символов, не добавляйте их.
Команды в формате ASCII (строка)
Внесите ASCII строку в окно "Data":
* обособьте строку ‘одинарными кавычками’ * если после строки идут данные в другом формате, отделяйте их запятыми
Исходная команда (в документации): |
PWR01 | VOLUME 50 | AUD 1>3 | 6CH/8CH <CR> <LF> |
В iRidium (поле Data): |
'PWR01' | 'VOLUME 50' | 'AUD 1>3' | '6CH/8CH',0x0D,0x0A |
Символы "возврат каретки" <CR> и "конец строки" <LF> используйте, только если это указано в документации к оборудованию.
Команды в формате HEX (шестнадцатеричный)
Внесите HEX символы в окно "Data":
* Перед каждым HEX символом поставьте 0x или $ * Разделяйте HEX символы запятыми, не используйте пробелы * Если в документации у HEX символов стоят дополнительные метки, уберите их (FFh > FF)
Исходная команда (в документации): |
01 81 81 81 | 19h EEh A1h C1h | 16 8A FF FF <CR> <LF> |
В iRidium (поле Data): |
0x01,0x81,0x81,0x81 | 0x19,0xEE,0xA1,0xC1 | 0x16,0x8A,0xFF,0xFF,0x0D,0x0A |
Символы "возврат каретки" <CR> и "конец строки" <LF> используйте, только если это указано в документации к оборудованию.
Команды в формате DEC (десятичный)
Внесите DEC числа в окно "Data":
* Не используйте дополнительных символов * Разделяйте числа запятыми, не используйте пробелы
Исходная команда (в документации): |
01 255 255 05 25 | 20 30 40 50 <CR> <LF> |
В iRidium (поле Data): |
01,255,255,05,25 | 20,30,40,50,13,10 |
Символы "возврат каретки" <CR> и "конец строки" <LF> используйте, только если это указано в документации к оборудованию.
Работа с командами AV & Custom Systems (UDP)
Пример использования команды для AV & Custom Systems (UDP):
- 1. Добавьте драйвер AV & Custom Systems (UDP) в проект iRidium. Настройте параметры подключения к оборудованию.
- 2. Создайте команду, в поле Data укажите данные для отправки оборудованию
- 3. Настройте кнопку, которая будет отвечать за отправку команды.
- Type: Button
- Feedback: Momentary
- 4. Перетяните команду на кнопку
- 5. Выберите, по какому событию отправить команду:
- Press - нажатие на элемент
- Release - отпускание элемента
- Hold - удержание элемента
- Move - перемещение по элементу (в основном используется для элементов Level)
Нельзя изменить команду в поле Data, когда проект уже загружен на панель управления. Это значит, что если команда отвечает за установку громкости, например, на 50%, то ее нельзя привязать к уровню для плавного регулирования громкости. Она будет работать только с кнопкой (Button) и при каждом нажатии устанавливать громкость на 50%.
Чтобы отправить значение (например, громкость) с уровня, вам необходимо формировать команду не в дереве проекта, а с помощью скрипта (см. iRidium Script API и iRidium DDK)
Создание своей базы команд AV & Custom Systems (UDP)
Чтобы использовать устройство AV & Custom Systems (UDP) в любом проекте iRidium, сохраните его в базу данных iRidium.
Для добавления устройства в базу iRidium используйте DB Editor - редактор баз данных. Добавить новое устройство Вы можете только в свою базу данных, т.к. стандартные базы закрыты для изменения.
Создание базы - не единственный способ переноса команд между проектами iRidium. Если вы создали устройство с командами в проекте iRidium, то можете импортировать его в другой проект с помощью File > Import > *.irpz
Создание базы данных
Используйте для хранения своих устройств пользовательские базы данных. Они создаются в DB Editor. При создании базы укажите ее имя и директорию для сохранения
Для хранения собственных устройств используйте не общие базы данных, которые могут обновляться с выходом новой версии редактора iRidium GUI Editor, а свои собственные (созданные вручную). Название файла базы и папка для сохранения указывается при создании.
Новое UDP устройство:
Тип создаваемого устройства - UDP (UDP Device), определяет его транспортную часть и характеристики.
Инструменты для создания новых устройств в базе данных iRidium доступны в меню правой кнопки мыши. Тип создаваемого устройства - UDP (UDP Device), определяет его характеристики. Для UDP устройства можно задать информацию о производителе, типе управляемого оборудования, комментарии и непосредственно сами команды.
Настройка устройства
Настройте описание, чтобы легче идентифицировать устройство:
- Device Type - тип управляемого устройства (TV, DVD, Blu Ray, ...)
- Manufacturer - наименование производителя устройства
- Description - описание устройства, может включать гиперссылки
- Date - дата создания драйвера
Параметры подключения:
- Host - IP адрес устройства в вашей сети
- Port - порт по которому устройство работает
Необязательные параметры:
- Parameters - дополнительные параметры для подключения
Необязательные параметры можно скрыть: щелкните два раза по параметру, поставьте галочку Hiden в его настройках:
Добавление команд в список устройства
Перейдите во вкладку Commands & Feedback и воспользуйтесь инструментами редактора:
По умолчанию команда не содержит данных. Инструкция, которую должна отправить команда, задается в окне Comand Properties. Щелкните два раза по команде, чтобы открыть окно Comand Properties:
- В поле Command напишите инструкцию для команды, в нашем случае для команды Reset (перезагрузка устройства) есть инструкция '# RESET' (команда отправляется в ASCII формате).
- Поставьте галочку в поле Name Read Only если не хотите, что бы имя команды можно было изменить (полезно, когда к команде обращается скрипт)
- В поле Descriptions задайте описание команды.
Когда все команды будут добавлены, закончим работу с DB Editor.
Переключение между Локальным и Интернет-соединением
Если панель управления не должна терять возможность соединения с системой, когда перемещается за пределы её Wi-Fi сети, то нужно настроить в проекте переключение интернет-локальная сеть.
Удаленный режим работы подразумевает подключение к системе через Интернет. При этом используется внешний IP адрес или доменное имя системы, к которой нужно подключаться.
В iRidium переключение Wi-Fi/3G автоматически НЕ производится. Для переключения интернет-локальная сеть, в вашем проекте должны быть специально настроенные кнопки. Настройки см. далее.
Чтобы управление системой работало удаленно, нужно открыть систему для внешнего доступа -
настроить службу Port Forwarding.
Чтобы обезопасить оборудование от стороннего вмешательства, рекомендуем использовать защищенное соединение с удаленной системой (VPN)
Настроим переключение Wi-Fi/3G в проекте iRidium:
1. Откройте редактор скриптов в iRidium GUI Editor.
2. Скачайте и добавьте в проект шаблон переключения Wi-Fi/3G (Add Script from file):
скачать шаблон переключения Wi-Fi/3G
Переключение Wi-Fi/3G производится с помощью скриптовой функции SetParameters
Настроим параметры переключения Wi-Fi/3G:
- function Internal_1() // Function name
- {
- IR.GetDevice('AV & Custom Systems (UDP)').SetParameters({Host: '192.168.0.100', Port: '1000'}); // Driver Name + Parameters
- }
- function External_1()
- {
- IR.GetDevice('AV & Custom Systems (UDP)').SetParameters({Host: '220.115.10.10', Port: '1000'});
- }
В настройках команд укажем:
- Function name – имя функции (команды) переключения. Две функции в одном проекте не должны называться одинаково
- Driver Name – имя драйвера, у которого меняем параметры
- Parameters – набор параметров подключения, который нужно применить к драйверу
Привяжем команды к кнопкам:
- Выберите кнопку, которая будет отвечать за переключение Wi-Fi/3G.
Откройте свойства этой кнопки: Object Properties > Programming - Откройте Macros Editor кнопки для события Press или Release
- Выберите команду Script Call и двойным кликом добавьте ее
- В выпадающем списке выберите имя функции, которую нужно вызвать. Создайте команду
Настроим доступ к оборудованию из Интернета:
Для этого откроем порты оборудования для удаленного доступа.
Загрузить пример переключения Wi-Fi/3G (проект) >>
Загрузки
Загрузить: пример проекта для управления коммутатором Kramer по UDP (1 Мб)