Global Cache: управление по ИК
Содержание
Global Cache (GC-100-06, GC-100-12, iTach IP2IR, iTach WF2IR) - семейство преобразователей, предназначенных для управления аудио-видео оборудованием. Они получают команды по TCP/IP и передают их управляемому оборудованию в виде ИК-сигналов или через СОМ-порт. Отправлять команды преобразователю можно локально или через Интернет.
Преобразователи Global Cache рекомендованы к использованию с iRidium: для них есть база ИК команд, заранее настроенные драйверы, возможность обучения ИК командам с пульта.
Описание работы:
iRidium для Global Cache поддерживает соединение с преобразователем Global Cache по TCP/IP. Когда соединение установлено, преобразователю можно отправлять команды - список команд формируется пользователем в процессе создания проекта. Команды имеют фиксированный формат (синтаксис). Обратная связь от преобразователя Global Cache включает информацию о состоянии преобразователя. Обратная связь от управляемого по ИК оборудования отсутствует.
Принцип управления оборудованием по ИК
В iRidium вы можете использовать модули "Global Cache" для управления вашим аудио-видео и другим оборудованием по ИК. Схема связи iRidium с оборудованием:
Подключение к Global Cache: TCP/IP.
Выходы Global Cache: ИК эмиттеры или бластеры
Формат ИК команд: ASCII с использованием синтаксиса Global Cache
Обратная связь от оборудования: по ИК каналу отсутствует.
Необходимая лицензия: "Device License Pro для AV & Custom Systems" или "Site License Pro для Global Cache" (см. Лицензирование). Подходит для Global Cache и всего остального AV оборудования в проекте. Позволяет использовать в проекте любые скрипты.
Настройка Global Cache
Чтобы iRidium имел возможность подключиться к преобразователю Global Cache (GC), этот преобразователь должен быть подключен к локальной сети и настроен. Информация по настройке GC:
Видео-уроки по настройке преобразователей Global Cache
Набор программ и документация к преобразователям Global Cache
Типы модулей Global Cache с поддержкой ИК
iTach WiFi to IR (Infrared Control, WF2IR)
| |
iTach TCP/IP to IR (Infrared Control, IP2IR)
| |
GC-100-06, GC-100-12, GC-100-18, GC-100-18R
|
Настройка Global Cache в iRidium
Выберите драйвер Global Cache в списке DEVICE BASE редактора iRidium GUI Editor и перенесите его в окно PROJECT DEVICE PANEL:
Параметры подключения к Global Cache:
- Host - IP адрес преобразователя (локальный, внешний или доменное имя)
- Port - основной порт соединения с GC (4998). Используется для отправки ИК команд, настройки и получения статуса Global Cache
- Module Type - тип преобразователя Global Cache: GC-100-06, GC-100-12(18,18R), iTach IP2IR (WF2IR), iTach IP2SL (WF2SL), iTach IP2CC (WF2CC). Определяет число и тип выходов преобразователя.
- Control Mode - режим работы устройства
- Standart Unit - управление оборудованием по ИК с помощью подключенных ИК эмиттеров
- Single LED / Dual LED - позволяет настроить управление LED освещением через разъемы 3,5мм iTach, настроенные как управляющие контакты контроллера освещения (см. iTach API)
- Send Mode - режим подключения к преобразователю
- Always Connected - постоянное подключение (нормальный режим)
- Connect when Sending - подключение только в момент отправки команды. Подходит для GC-100-06(12,18,18R), к которым надо подключить несколько панелей управления
- Confirm IR - отправлять следующую ИК команду, только после подтверждения отправки предыдущей. Позволяет избежать наложения ИК команд.
- Script Mode - определяет, куда отправлять команды
- Direct and Script - сразу отправлять команду преобразователю и дублировать ее в скрипт (можно обработать данные в iRidium Script)
- Script Only - отправлять команду только в скрипт (преобразователю, при нажатии на кнопку, команда не отправится). Позволяет передавать в скрипты составные части команды для работы драйверов. Не включайте этот режим, если не используете скрипты.
Для подключения к Global Cache через Интернет:
- 1. в строке Host укажите публичный IP-адрес (или доменное имя) вашего интернет-маршрутизатора
- 2. На маршрутизаторе настройте проброс портов (Port Forwarding) для возможности удаленного управления оборудованием.
- Узнать публичный IP-адрес своего маршрутизатора Вы можете при помощи интернет-сервисов, например Яндекс.Интернет
Для переключения между локальным соединением и работой через Интернет:
Используйте пример, представленный далее.
Настройка ИК выхода Global Cache
Выход 3,5мм преобразователя Global Cache может работать в одном из режимов:
- IR - режим отправки ИК команд, когда к выходу подключен ИК-эмиттер или ИК-бластер
- Sensor Notify - режим сенсора, когда выход сообщает статус подключенного сенсора.
Чтобы отправить ИК команду с выхода Global Cache, установите его в режим IR
- Frequency (Гц) - частота отправки ИК команд с выбранного ИК выхода. Ее можно изменить для папки с ИК командами или для отдельной команды. Частота отправки зависит от требований управляемого оборудования. Получить ее можно при обучении с ИК пульта или в процессе преобразования ИК команд в формат GC (если вы не нашли настроенные команды в базе GC)
Driver Tokens
Переменные драйвера доступны только для чтения, они помогают следить за подключением к оборудованию:
Online | состояние подключения к управляемой системе (Online/Offline = 1/0) |
Status | статус подключения к системе (Offline/Connecting/Online/Waiting = 0...3) |
Host | доменное имя удаленной системы |
HostPort | порт на удаленной системе, к которому подключается iRidium App |
IP | IP-адрес управляющей панели |
HostIP | IP-адрес удаленной системы, к которой подключено iRidium App |
Port | локальный порт клиента, через который осуществляется связь с удаленным устройством |
Формирование списка ИК команд
Настроенные выходы Global Cache нужно заполнить ИК командам. Получить их можно следующими способами:
- Добавить готовые команды из базы Global Cache Cloud (IR Database)
- Обучиться командам с родного ИК пульта оборудования, с помощью GC-IRL IR Learner
- Преобразовать в формат Global Cache команды, полученные из документации к оборудованию
Готовые ИК команды из GC Cloud (IR Database)
Онлайн-база ИК команд доступна в редакторе iRidium GUI Editor, GC Cloud.
Нажмите "Обновить" (обязательно подключение к Интернету), чтобы загрузить список производителей и команд.
Структура базы:
- Brands - производители оборудования
- Device Types - категории оборудования у производителя
- Codesets & Commands - модели, и соответствующие им ИК команды
Перетащите папку с командами на ИК выход Global Cache в вашем проекте.
Команды настроены заранее, их не нужно редактировать:
Команды и папки можно перемещать между ИК выходами модулей GC в проекте, перетаскиванием.
Обучение ИК командам через GC-IRL IR Learner
GC-IRL IR Learner - это считыватель ИК команд для для Global Cache.
Он может быть доступен в двух видах:
- как отдельное устройство для подключения к СОМ-порту ПК или преобразователя GC-100-06(12,18,18R).
- как встроенный в iTach IP2IR (WF2IR)считыватель ИК команд.
Считыватель позволяет быстро создать список ИК команд, которые можно использовать во всех проектах iRidium для Global Cache.
Обучение ИК командам возможно двумя способами:
- Записывать команды прямо на ИК выход драйвера Global Cache в проекте iRidium
- Создать свою базу ИК команд в DEVICE BASE и заполнить ее
Быстрый способ обучения ИК командам - внутри открытого проекта iRidium:
- 1. Поставьте курсор на ИК выход Global Cache
- 2. Нажмите "(+) > добавить папку" ИК команд (для удобства заполнения)
- 3. Нажмите "(+) > добавить команду" несколько раз, по числу кнопок считываемого пульта
- 4. Сразу назовите добавленные команды в соответствии с назначением кнопок
- 5. Встаньте на первую команду в папке и нажмите кнопку "Learning..."
- 6. Выберите тип обучающего устройства (Learner Type)
- GC-IRL - если используете устройство GC-IRL IR Learner
- GC iTach - если считываете команды через iTach IP2IR(WF2IR)
- 7. Выберите интерфейс обучения (TCP/IP или RS232)
- TCP/IP - если используете iTach IP2IR или GC-IRL через GC-100
- Port: 4999 - СОМ1 устройства GC-100-06(12,18,18R)
- Port: 5000 - СОМ2 устройства GC-100-06(12,18,18R)
- * через iTach IP2SL(WF2SL) обучение с помощью GC-IRL не поддерживается
- RS232 - если GC-IRL подключен к СОМ-порту вашего ПК
- 8. В процессе обучения, нажимайте на ИК пульте кнопку, которая соответствует текущему имени в окне. Пульт должен быть направлен на устройство считывания с минимального расстояния.
- Если обучение успешно, в окне появится имя следующей команды:
- * Если при нажатии кнопки на ИК пульте, имя команды в окне не поменялось на следующее - обучение не идет! Чтобы выяснить причину проблемы, используйте программу iLearn от Global Cache. Она покажет ошибки при подключении. Проверьте связь с преобразователем.
Создание собственной базы ИК команд (для быстрого добавления в новые проекты)
База ИК команд размещается в DEVICE BASE, как основная база драйверов iRidium, но может быть сформирована вручную. Из базы можно быстро добавить ИК устройство на выход модуля Global Cache (так же его можно перенести из другого вашего проекта, используя File > Import).
DB Editor - редактор для создания пользовательской базы данных:
Создать ИК устройство можно только в своей базе, стандартная закрыта для редактирования:
ИК устройство в базе данных настраивается минимально, т.к. представляет собой папку команд для Global Cache.
Во вкладке Commands & Feedbacks сформируйте список ИК команд, которые будут заполнены данными при запуске обучения (Learn...) через GC-IRL IR Learner:
Не рекомендуется использовать в именах команд спецсимволы.
Запуск обучения:
- Подключите GC-IRL IR Learner к ПК или GC-100-06(12,18,18R). Также можно использовать встроенный Learner iTach IP2IR(WF2IR).
- Поставьте курсор на первую команду в созданном для ИК устройства списке
- Нажмите клавишу "Learn ..." и выберите настройки обучения, как было указано в начале раздела
- Откроется окно обучения, нажимайте на ИК пульте кнопку, которая соответствует текущему имени в окне. Пульт должен быть направлен на устройство считывания с минимального расстояния.
Если обучение успешно, в имя команды в окне будет меняться автоматически.
- * Обученная ИК команда выделена в базе полужирным шрифтом
- * Если при нажатии кнопки на ИК пульте, имя команды в окне не поменялось на следующее - обучение не идет! Чтобы выяснить причину проблемы, используйте программу iLearn от Global Cache. Она покажет ошибки при подключении. Проверьте связь с преобразователем.
Закройте редактор базы, сохранив изменения.
Чтобы добавить полученное ИК устройство в проект iRidium:
- Выберите свою базу данных из выпадающего списка Device Base
- Перенесите устройство из базы на ИК выход Global Cache
- Frequency (Гц) - частота отправки команды с ИК выхода. Можно изменить для всех команд на выходе. Частота, установленная на папке, далее - на команде, будут в приоритете относительно частоты на ИК выходе.
Создание ИК команд для Global Cache по документации к оборудованию
Документация к AV оборудованию содержит ИК команды для этого оборудования в формате HEX (CCF), поэтому их нужно сначала конвертировать в формат Global Cache, затем добавить в свою базу ИК команд.
Рассмотрим пример переноса ИК команд из документации к телевизору в базу ИК команд для GC.
- Исходная документация: Panasonic Plasma TV Remote control (IR)
- Необходимое ПО: iConvert (Global Cache)
Global Cache iConvert - обеспечивает конвертацию ИК команд между форматами Global Cache и HEX (CCF).
Исходная ИК команда в формате HEX (CCF):
POWER ON 0000 0071 0000 0032 0080 003F 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0A98
Преобразуем команду в формат Global Cache с помощью iConvert:
В окне Output мы получили команду в формате Global Cache, но она еще не готова к использованию.
Красным выделена часть команды, которая НЕ будет использоваться.
Она представляет собой не заполненный заголовок команды, который в iRidium формируется автоматически.
sendir,<mod-addr>:<conn-addr>,1,37000, <repeatcount>,1,128,63,16,16,16,48,16,16,256,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,48,16,48,16,16,16,16,16,16,16,48,16,48,16,48, 16,48,16,48,16,16,16,48,16,2712
- Отдельно сохраните параметр после третьей запятой, здесь это 37000 - частота отправки команды (Гц).
- У разных устройств и команд частота отправки может отличаться (отличие в несколько десятков Гц не учитывается). Частоту отправки нужно указать в настройках ИК выхода Global Cache.
Часть, которую необходимо сохранить:
128,63,16,16,16,48,16,16,256,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,48,16,48,16,16,16,16,16,16,16,48,16,48,16,48, 16,48,16,48,16,16,16,48,16,2712
Это тело команды, оно отправляется аудио-видео оборудованию и содержит целевое действие.
Так же конвертируйте и сохраните все ИК команды телевизора. Теперь их можно сохранить в базу данных iRidium.
Добавьте сохраненные команды в свою базу ИК команд.
Создание и настройка базы, ИК устройства в базе, производится так же, как при работе с IR Learner
Заполнение ИК команды в базе данных iRidium:
Частота отправки команды указывается в параметрах ИК выхода Global Cache, когда команды добавлены в проект.
Сохраните изменение в базе и добавьте созданное ИК устройство на любой ИК выход Global Cache в проекте iRidium.
Настройки ИК команды
В зависимости от способа получения ИК команды (из базы данных или создание вручную), настройки ИК команд различны:
- Delay (мс) - задержка перед отправкой команды. Отсчитывается от предыдущей отправленной команды (после подтверждения доставки, если оно настроено)
- Change Frequency: False/True - позволяет выбрать частоту отправки команды (Гц): по умолчанию (см. ИК выход) или уникальную частоту для этой команды
- Frequency (Гц) - частота отправки команды, если Change Frequency: True
- Repeat - сколько раз повторить ИК команду (повторение выполняется на уровне Global Cache, а не за счет неоднократной отправки)
- Offset - используется только если Repeat > 1 для ИК команд с преамбулой. Преамбула команды - это ее часть, которую не нужно повторять несколько раз. Offset - это длина преамбулы, которая измеряется в парах пульс-пауза, составляющих ИК команду. Это всегда нечетное число. Подробнее см. Global Cache API
- Data - тело ИК команды. Не отображается у команд, добавленных из базы Global Cache. Тело команды содержит последовательность ИК импульсов, которую Global Cache отправит оборудованию.
Отправка ИК команд с графических элементов
ИК команды изначально не связаны с интерфейсом визуализации. Чтобы отправить команду, ее нужно привязать к кнопке в вашем проекте iRidium.
События, по которым можно отправлять команды, привязанные к Кнопкам (Button):
- Press - нажатие на кнопку
- Release - отпускание кнопки
- Hold - удержание кнопки (работает в цикле, пока кнопка не отпущена)
События, по которым можно отправлять команды из скрипта (см. iRidium Script API):
- получение обратной связи с определенным значением
- нажатие/отпускание элементов интерфейса
- срабатывание таймера
- получение определенных значений с сенсоров панели (GPS, акселерометр, гироскоп, ..)
- получение значений с Уровней (Level)
Отправка ИК команды при нажатии (отпускании) кнопки
Перетяните ИК команду на кнопку, в диалоге Send Command выберите событие отправки команды:
- Press - нажатие на кнопку
- Release - отпускание кнопки
Команды видны в Object Properties > Programming.
Команды можно перетаскивать между событиями.
На одну кнопку можно привязать несколько команд:
Отправка нескольих ИК команд с 1 кнопки (макрос, сценарий)
Чтобы привязать несколько команд к кнопке, перетащите их по очереди на одну кнопку, привязав к одному из событий отправки (Press или Release):
Редактор макросов для события Press (или Release) позволит переместить ИК команды или разделить их задержками (Delay), дополнительными командами.
Отправка ИК команды по удержанию элемента
Hold - событие "удержание элемента", позволяет циклично отправлять одну или несколько команд все время, пока вы удерживаете элемент (например, как кнопка Volume + на ИК пульте).
Чтобы элемент реагировал не только на удержание, но и на обычное нажатие, активируйте для него событие Press:
Настройки Hold находятся в Object Properties > General:
- Hold Time (мс) - время, через которое активируется Hold при удержании элемента
- Repeat Time (мс) - интервал повторения команд из события Hold.
Команда, записанная в Hold, будет повторяться все время, пока вы удерживаете кнопку. Повторение происходит с интервалом, указанным в Repeat Time.
Управление с уровней, триггеров и др. элементов
В случае работы по ИК, нельзя обычными способами настроить отправку команды с элемента Level (Уровень). Это связано с тем, что ИК команда заранее содержит целевое действие, и поменять его, меняя часть ИК команды, нельзя.
Управление Уровнем по ИК, обычно, невозможно, т.к. каждому значению уровня соответствует отдельная ИК команда, а многие ИК пульты не предполагают установки конкретного значения громкости (есть только + и -).
Чтобы попеременно отправлять две ИК команды или создать сложную логику отправки команд, нужно использовать iRidium Script - встроенный язык программирования iRidium, который позволит настроить нужные зависимости. См. iRidium Script API.
Переключение между Локальным и Интернет-соединением
Если панель управления не должна терять возможность соединения с системой, когда перемещается за пределы её 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('Global Cache').SetParameters({
- IR.GetDevice('Global Cache').SetParameters({
Host: "210.110.10.10", // IP адрес модуля GC
Port: 4998, // основной порт подключения
Port1: 4999, // порт подключения к COM1 на GC (если это GC с COM-портом)
Port2: 5000, // порт подключения к COM2 на GC (если это GC с COM-портом)
SendMode: 0, // 0 - всегда подключен, 1 - подключен только в момент отправки команды
IrConfirm: 0, // 0 - IR с подтверждением отправки, 1 - без подтверждения
ScriptMode: 0, // 0 - отправить напрямую и в скрипт, 1 - только в скрипт
BackGroundMode: 0 // 1 - вкл, 0 - выкл
}); // Driver Name + Parameters
- }
- function External_1()
- {
- IR.GetDevice('Global Cache').SetParameters({
- IR.GetDevice('Global Cache').SetParameters({
Host: "210.110.10.10", Port: 4998, Port1: 4999, Port2: 5000, SendMode: 0, IrConfirm: 0, ScriptMode: 0, BackGroundMode: 0});
- }
В настройках команд укажем:
- Function name – имя функции (команды) переключения. Две функции в одном проекте не должны называться одинаково
- Driver Name – имя драйвера, у которого меняем параметры
- Parameters – набор параметров подключения, который нужно применить к драйверу
Привяжем команды к кнопкам:
- Выберите кнопку, которая будет отвечать за переключение Wi-Fi/3G.
Откройте свойства этой кнопки: Object Properties > Programming - Откройте Macros Editor кнопки для события Press или Release
- Выберите команду Script Call и двойным кликом добавьте ее
- В выпадающем списке выберите имя функции, которую нужно вызвать. Создайте команду
Настроим доступ к оборудованию из Интернета:
Для этого откроем порты оборудования для удаленного доступа.