AV & Custom Systems (TCP)

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск

iRidium для AV & Custom Systems (TCP) позволяет управлять оборудованием, оснащенным Ethernet-интерфейсом или Wi-Fi модулем. Управление производится по TCP/IP, локально и через Интернет.


Условия работы с драйвером:

  • возможность управления выбранным оборудованием по TCP/IP
  • наличие команд управления оборудованием по TCP/IP и описания протокола
  • возможность самостоятельного создания скриптов, если протокол предполагает авторизацию и обязательный обмен данными с панелью управления


Описание работы драйвера:

Драйвер "AV & Custom Systems (TCP)" открывает и поддерживает сессию соединения с оборудованием по TCP/IP. Когда соединение установлено, подключенному оборудованию можно отправлять команды - список команд формируется пользователем в процессе создания проекта. Обратная связь от оборудования реализуется за счет обработки входящих данных посредством скрипта, созданного в проекте iRidium (см. iRidium DDK и iRidium Script API).


Attention.png Эта инструкция не описывает создание скриптов для обработки приходящих от оборудования данных. Получение обратной связи от оборудования описано в разделе iRidium DDK.


Принцип работы AV & Custom Systems (TCP)

В iRidium вы можете использовать универсальный драйвер "AV & Custom Systems (TCP)" для подключения к вашему аудио-видео и другому оборудованию. Схема связи iRidium с оборудованием:


HowItWorksTCP.png

Протокол передачи данных: TCP/IP.

Поддерживаемые форматы обмена данными: ASCII, HEX, DEC.
Для записи команд в разных форматах используется синтаксис iRidium.

Обратная связь от оборудования: в базовом варианте отсутствует. Реализуется через iRidium Script, cм. iRidium DDK.

Необходимая лицензия: Device License Pro для AV & Custom Systems (см. Лицензирование). Подходит для любого оборудования, управляемого с помощью "AV & Custom Systems". Позволяет использовать в проекте любые скрипты.


Создание и настройка драйвера AV & Custom Systems (TCP)

Выберите в окне DEVICE BASE редактора iRidium GUI Editor вкладку AV & Custom Systems, разверните ее и найдите "AV & Custom Systems (TCP)". Перетащите драйвер в окно PROJECT DEVICE PANEL:

AV-TCP-AddDriver.png

Параметры подключения к оборудованию через AV & Custom Systems (TCP):

  • Host - IP адрес управляемого оборудования (локальный, внешний или доменное имя)
  • Port - TCP порт подключения к оборудованию
  • Login - логин авторизации по TCP/IP
  • Password - пароль авторизации по TCP/IP
  • Mode - режим поддержания сессии соединения
    • Always Connected - сессия соединения поддерживается все время, пока запущен iRidium
    • Connect when Sending - сессия открывается только на время отправки команды. Не позволяет следить за обратной связью
  • Script Mode - режим отправки команд и взаимодействия со скриптами в проекте iRidium
    • Direct & Script - данные из команды будут отправлены напрямую оборудованию и обработаны скриптовой системой
    • Script Only - команды, созданные внутри драйвера, не уходят оборудованию непосредственно, а обрабатываются скриптовой системой, которая производит целевые действия.


Для подключения к оборудованию через Интернет:

1. в строке Host укажите публичный IP-адрес вашего интернет-маршрутизатора
2. На маршрутизаторе настройте проброс портов (Port Forwarding) для возможности удаленного управления оборудованием. Укажите внешний порт маршрутизатора в строке Port
Узнать публичный IP-адрес своего маршрутизатора Вы можете при помощи интернет-сервисов, например Яндекс.Интернет


Для переключения между локальным соединением и работой через Интернет:

Используйте пример, представленный далее.

↑ К оглавлению

Структура драйвера AV & Custom Systems

Драйвер AV & Custom Systems в проекте iRidium состоит из 3х частей:

  • Driver Tokens - список переменных, которые хранят информацию о подключении к оборудованию.
  • Commands - список команд, которые можно отправить оборудованию (или в скрипт) по нажатию кнопки интерфейса
  • Feedbacks - список имен каналов обратной связи, куда могут записываться данные от управляемого оборудования, обработанные скриптовой системой iRidium.

Параметры и назначение частей драйвера:


Driver Tokens

Driver Tokens - переменные, в которых хранится статус подключения к оборудованию. Эти параметры можно только прочитать.

Для использования переменной драйвера, перетащите ее на графический элемент (значение можно вывести в текстовое поле элемента или повлиять им на состояние элемента)


GUI Descr Tokens.png
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, можно прочитать через скрипт.

AV-TCP-CommandFeedback.png

Команды (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 (TCP). Они могут храниться в одном из форматов:

  • ASCII - строка
  • HEX - шестнадцатеричный
  • DEC - десятичный

Нужно правильно оформить информацию, которая хранится в каждом из этих форматов, чтобы iRidium смог ее обработать и отправить оборудованию. Для оформления команд служит "синтаксис" iRidium для команд драйвера AV & Custom Systems. Этот синтаксис одинаков для TCP, UDP, RS232 транспорта.


Команды в формате ASCII (строка)

Внесите ASCII строку в окно "Data":

* обособьте строку ‘одинарными кавычками’
* если после строки идут данные в другом формате, отделяйте их запятыми
* в конце строки используйте символы "возврат каретки" <CR> и "конец строки" <LF>
Исходная команда
(в документации):
PWR01 <CR> VOLUME 50 <CR> <LF> AUD 1>3 <CR> 6CH/8CH <CR> <LF>
В iRidium
(поле Data):
'PWR01',0x0D 'VOLUME 50',0x0D,0x0A 'AUD 1>3',0x0D '6CH/8CH',0x0D,0x0A


Оформление символов "возврат каретки" <CR> и "конец строки" <LF>:

В документации: <CR> <CR> <CR> <LF> <LF> <LF>
В iRidium (поле Data): 0x0D $0D 13 0x0A $0A 10

Можно использовать любой из трех способов оформления конца строки.


Для отправки команды через iRidium Script:

function SendCommand()
{
    IR.GetDevice("AV & Custom Systems (TCP)").Send(['PWR01', 0x0D]);
    IR.GetDevice("AV & Custom Systems (TCP)").Send(['VOLUME 50', '\r\n']);
    IR.GetDevice("AV & Custom Systems (TCP)").Send(['AUD 1>3', 13]);
}

↑ К оглавлению

Команды в формате HEX (шестнадцатеричный)

Внесите HEX символы в окно "Data":

* Перед каждым HEX символом поставьте 0x или $
* Разделяйте HEX символы запятыми, не используйте пробелы
* Если в документации у HEX символов стоят дополнительные метки, уберите их (FFh > FF)
* После последнего HEX символа укажите "возврат каретки" <CR> и "конец строки" <LF>
Исходная команда
(в документации):
01 81 81 81 <CR> 16 8A FF <CR> <LF> 19h EEh A1h <CR> <LF>
В iRidium
(поле Data):
0x01,0x81,0x81,0x81,0x0D 0x16,0x8A,0xFF,0x0D,0x0A 0x19,0xEE,0xA1,0x0D,0x0A


Оформление символов "возврат каретки" <CR> и "конец строки" <LF>:

В документации: <CR> <CR> <CR> <LF> <LF> <LF>
В iRidium (поле Data): 0x0D $0D 13 0x0A $0A 10


Для отправки команды через iRidium Script:

function SendCommand()
{
    IR.GetDevice("AV & Custom Systems (TCP)").Send([0x01, 0x81, 0x81, 0x81, 0x0D]);
    IR.GetDevice("AV & Custom Systems (TCP)").Send([0x16, 0x8A ,0xFF, 13, 10]);
}

↑ К оглавлению

Команды в формате DEC (десятичный)

Внесите DEC числа в окно "Data":

* Не используйте дополнительных символов
* Разделяйте числа запятыми, не используйте пробелы
* После последнего числа укажите "возврат каретки" <CR> и "конец строки" <LF>
Исходная команда
(в документации):
01 255 255 <CR> 20 30 40 50 <CR> <LF>
В iRidium
(поле Data):
01,255,255,13 20,30,40,50,13,10


Оформление символов "возврат каретки" <CR> и "конец строки" <LF>:

В документации: <CR> <CR> <CR> <LF> <LF> <LF>
В iRidium (поле Data): 0x0D $0D 13 0x0A $0A 10


Для отправки команды через iRidium Script:

function SendCommand()
{
    IR.GetDevice("AV & Custom Systems (TCP)").Send([01, 255, 255, 13]);
    IR.GetDevice("AV & Custom Systems (TCP)").Send([20, 30, 40, 50, 0x0D, 0x0A]);
}

↑ К оглавлению

Работа с командами AV & Custom Systems (TCP)

Пример использования команды для AV & Custom Systems (TCP):

AV Command steps.png

1. Добавьте драйвер AV & Custom Systems (TCP) в проект iRidium. Настройте параметры подключения к оборудованию.
2. Создайте команду, в поле Data укажите данные для отправки оборудованию
3. Настройте кнопку, которая будет отвечать за отправку команды.
Type: Button
Feedback: Momentary
4. Перетяните команду на кнопку
5. Выберите, по какому событию отправить команду:
Press - нажатие на элемент
Release - отпускание элемента
Hold - удержание элемента
Move - перемещение по элементу (в основном используется для элементов Level)


Attention.png Нельзя изменить команду в поле Data, когда проект уже загружен на панель управления. Это значит, что если команда отвечает за установку громкости, например, на 50%, то ее нельзя привязать к уровню для плавного регулирования громкости. Она будет работать только с кнопкой (Button) и при каждом нажатии устанавливать громкость на 50%.

Attention.png Чтобы отправить значение (например, громкость) с уровня, вам необходимо формировать команду не в дереве проекта, а с помощью скрипта (см. iRidium Script API и iRidium DDK)

↑ К оглавлению

Создание своей базы команд AV & Custom Systems (TCP)

Чтобы использовать устройство AV & Custom Systems (TCP) в любом проекте iRidium, сохраните его в базу данных iRidium.

Для добавления устройства в базу iRidium используйте DB Editor - редактор баз данных. Добавить новое устройство Вы можете только в свою базу данных, т.к. стандартные базы закрыты для изменения.


Attention.png Создание базы - не единственный способ переноса команд между проектами iRidium. Если вы создали устройство с командами в проекте iRidium, то можете импортировать его в другой проект с помощью File > Import > *.irpz

↑ К оглавлению

Создание базы данных

Используйте для хранения своих устройств пользовательские базы данных. Они создаются в DB Editor. При создании базы укажите ее имя и директорию для сохранения

AV Database New.png


Новое TCP устройство:

Тип создаваемого устройства - TCP (TCP Device), определяет его транспортную часть и характеристики.

TCP 1.png


Настройка TCP устройства

Настройте описание, чтобы легче идентифицировать устройство:

TCP 2.png

  • Device Type - тип управляемого устройства (TV, DVD, Blu Ray, ...)
  • Manufacturer - наименование производителя устройства
  • Description - описание устройства, может включать гиперссылки
  • Date - дата создания драйвера


Параметры подключения:

  • Host - IP адрес устройства в вашей сети
  • Port - порт по которому устройство работает


Необязательные параметры:

  • Parameters - дополнительные параметры для подключения
  • Login - логин для подключения
  • Password - пароль для подключения


Необязательные параметры можно скрыть: щелкните два раза по параметру, поставьте галочку Hiden в его настройках:

TCP 3.png


Добавление команд в список устройства

Перейдите во вкладку Commands & Feedback и воспользуйтесь инструментами редактора:

TCP 4.png


По умолчанию команда не содержит данных. Инструкция, которую должна отправить команда, задается в окне Comand Properties. Щелкните два раза по команде, чтобы открыть окно Comand Properties:

TCP 5.png

  • В поле Command напишите инструкцию для команды, в нашем случае для команды Reset (перезагрузка устройства) есть инструкция '# RESET',13, где # RESET - это содержание инструкции, 13 = <CR> (команда отправляется в ASCII формате).
  • Поставьте галочку в поле Name Read Only если не хотите, что бы имя команды можно было изменить (полезно, когда к команде обращается скрипт)
  • В поле Descriptions задайте описание команды.


Когда все команды будут добавлены, закончим работу с DB Editor.

↑ К оглавлению

Переключение между Локальным и Интернет-соединением

Если панель управления не должна терять возможность соединения с системой, когда перемещается за пределы её Wi-Fi сети, то нужно настроить в проекте переключение интернет-локальная сеть.

Удаленный режим работы подразумевает подключение к системе через Интернет. При этом используется внешний IP адрес или доменное имя системы, к которой нужно подключаться.


Attention.png В iRidium переключение Wi-Fi/3G автоматически НЕ производится. Для переключения интернет-локальная сеть, в вашем проекте должны быть специально настроенные кнопки. Настройки см. далее.
Attention.png Чтобы управление системой работало удаленно, нужно открыть систему для внешнего доступа -
настроить службу Port Forwarding.
Attention.png Чтобы обезопасить оборудование от стороннего вмешательства, рекомендуем использовать защищенное соединение с удаленной системой (VPN)


Настроим переключение Wi-Fi/3G в проекте iRidium:

Scripts PpenTemplate.png

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 (TCP)').SetParameters({Host: "192.168.0.100", Port: "5005"}); // Driver Name + Parameters
}
function External_1()
{
IR.GetDevice('AV & Custom Systems (TCP)').SetParameters({Host: "220.115.10.10", Port: "5005",});
}

В настройках команд укажем:

  • Function name – имя функции (команды) переключения. Две функции в одном проекте не должны называться одинаково
  • Driver Name – имя драйвера, у которого меняем параметры
  • Parameters – набор параметров подключения, который нужно применить к драйверу


Привяжем команды к кнопкам:

  1. Выберите кнопку, которая будет отвечать за переключение Wi-Fi/3G.
    Откройте свойства этой кнопки: Object Properties > Programming
  2. Откройте Macros Editor кнопки для события Press или Release
  3. Выберите команду Script Call и двойным кликом добавьте ее
  4. В выпадающем списке выберите имя функции, которую нужно вызвать. Создайте команду

Script call internal-external.png


Настроим доступ к оборудованию из Интернета:

Для этого откроем порты оборудования для удаленного доступа.


Загрузить пример переключения Wi-Fi/3G (проект) >>

↑ К оглавлению

Загрузки

Загрузить: пример проекта для управления коммутатором Kramer по ТСР (1 Мб)

Загрузить: пример переключения Wi-Fi/Internet для AV & Custom Systems

↑ К оглавлению