IRidium Script API
Язык прикладного программирования для разработки новых драйверов и расширения графических возможностей. | Обновлено: 31 Марта, 2015 Язык предок: JavaScript Версия языка: 1.5 Спецификация: ECMAScript Edition 3 |
Drivers API | GUI API | System API |
iRidium Script - cобытийно ориентированные скрипты, позволяющие решить различные задачи:
- работа с графическими объектами (страницы, попапы, итемы). Возможно создание, изменение свойств и удаление элементов.
- работа со звуком
- работа с драйверами: отправка команд, приём данных
- работа с системными тегами
- работа с токенами (системными, драйверными, внутренними переменными проекта)
Содержит методы, функций и события, для управления графической и коммуникационной частью проекта, а также позволяет приложению управлять своим циклом работы и взаимодействовать с операционной системой панели.
Инструменты iRidium являются мультиплатформенными - однажды созданный скрипт или драйвер будет одинаково работать на любой поддерживаемой iRidium операционной системе (iOS/Windows/Android/OS X).
- Основные понятия
- Описание загрузки и выполнение скрипта
- Работа с модулями
- Формирование цепочек команд
- Интеллектуальные подсказки
- Отладка
- Совместимость
- История изменений в API
Варианты создания и запуска скрипта
Обучение iRidium Script (вебинары) >>
GUI API
Набор функций и событий для работы с графическими элементами (кнопками, слайдерами, окнами и т.д.)
Функции | |
IR.CreateItem | Создание элемента |
IR.DeleteItem | Удаление элемента |
IR.GetItem | Изменение свойств элемента |
IR.PagesCount | Подсчет количества страниц в проекте |
IR.PopupsCount | Подсчет количества попапов в проекте |
IR.CurrentPage | Получение идентификатора открытой странице |
IR.GetPage | Обращение к странице |
IR.GetPopup | Обращение к попапу |
IR.ShowPage | Открыть страницу |
IR.ShowPopup | Открыть попап |
IR.HidePopup | Закрыть попап |
IR.HideAllPopups | Закрыть все попапы |
ItemsCount | Подсчет количества элементов |
GetState | Обращение к состоянию элемента |
События | |
EVENT_ITEM_PRESS | Событие срабатывает при нажатии на элемент |
EVENT_ITEM_RELEASE | Событие срабатывает при отпускании |
EVENT_ITEM_CHANGE | Событие срабатывает при изменении элемента EditBox |
EVENT_MOUSE_DOWN | Событие срабатывает при зажатии кнопки мыши |
EVENT_MOUSE_UP | Событие срабатывает при отпускании кнопки мыши |
EVENT_MOUSE_MOVE | Событие срабатывает при зажатии кнопки мыши и её перемещении |
EVENT_TOUCH_DOWN | Событие срабатывает при зажатии пальцем элемента на экране |
EVENT_TOUCH_UP | Событие срабатывает при отпускании пальцем элемента на экране |
EVENT_TOUCH_MOVE | Событие срабатывает при зажатии пальцем элемента на экране и перемещения пальца |
EVENT_ITEM_SHOW | Событие срабатывает при показе страницы или попапа |
EVENT_ITEM_HIDE | Событие срабатывает при скрытии страницы или попапа |
List API
Набор функций и событий для работы со списками
Функции | |
IR.CreateItem | Создание списка |
Имя_Листа.Template | Назначение шаблона для элементов списка |
Имя_Листа.CreateItem | Создание элемента списка |
Имя_Листа.Clear() | Очистка списка |
Имя_Листа.DeleteItem | Удаление элемента списка |
Имя_Листа.SetPosition | Прокрутка списка до заданного элемента |
Имя_Листа.Direction | Установка направления списка (вертикальный / горизонтальный) |
События | |
IR.EVENT_ITEM_SELECT | Событие срабатывает при нажатии на элемент списка |
IR.EVENT_LIST_ITEM_CHANGE | Событие срабатывает при изменении значения субэлемента списка |
Gestures API
Набор функций и событий для работы с жестами
Функции | |
IR.AddRecognizer | Добавление жеста |
IR.RemoveRecognizer | Удаление жеста |
События | |
IR.EVENT_GESTURE_BEGIN | Событие срабатывает при распознании жеста |
Sound API
Набор функций для работы со звуковыми файлами
Функции | |
IR.PlaySound | Проигрывание звукового файла |
IR.StopSound | Остановка проигрывания звукового файла |
IR.StopSlot | Остановка проигрывания звукового файла в указанном слоте |
IR.StopAllSounds | Остановка всех проигрываемых звуков |
Drivers API
Набор функций и событий для работы с драйверами
Функции | |
IR.CreateDevice | Создание драйвера |
Connect | Подключение к устройству |
Disconnect | Разрыв соединения с устройством |
IR.GetDevice | Обращение к устройству |
Set | Установка значения в канал устройства |
Send | Отправка команды на устройство |
InvokeAction | Отсылка команды на устройство UPNP |
Subscribe | Подписка на события UPNP |
UnSubscribe | Отписка от событий UPNP |
HtmlDecode | Замена спецсимволов Html |
JSON.Stringify | преобразование JSON объекта с строку |
JSON.Parse | преобразование строки в JSON объект |
new XML | создание XML объекта |
XML.ToString | преобразование XML объекта в строку |
SetFeedback | Запись значения в канал обратной связи |
GetFeedback | Получение значения из канала обратной связи |
SetParameters | Изменение параметров подключения |
GetCommandAtName | Обращение к команде по имени или идентификатору |
GetCommandAtPos | Обращение к команде по индексу позиции |
GetCommandsCount | Получение количества команд |
GetFeedbackAtName | Получение значения из канала обратной связи по имени или идентификатору |
GetFeedbackAtPos | Получение значения из канала обратной связи по индексу позиции |
GetFeedbacksCount | Получение количества каналов обратной связи |
HexArrayToAsciiString | Конвертация массива Hex символов в ASCII строку |
Cобытия | |
EVENT_RECEIVE_DATA | Получение данных с устройства в байт формате |
EVENT_RECEIVE_TEXT | Получение строки с устройства |
EVENT_RECEIVE_EVENT | Получение события с устройства (UPNP Event) |
EVENT_ONLINE | Соединение с устройством установлено |
EVENT_OFFLINE | Соединение с устройством потеряно |
EVENT_TAG_CHANGE | Изменение значения тега |
EVENT_DEVICE_FOUND | Нахождение UPnP устройства |
EVENT_CHANNEL_SET | Активация команды |
Tokens API
Набор функций для работы с токенами
Systems API
Позволяет использовать возможности ОС панели, работать с таймерами, управлять приложением и его событиями.
Операционная система | Таймеры |
Показать клавиатуру | Отложенный запуск |
Получить HWID устройства | Повторение действий с промежутком |
Запустить другое приложение | Удалить таймер |
Копирование данных в буфер |
Анимация | Действия с событиями |
Уточнить значение | Подписаться на событие |
Создать эффект | Отписаться от события |
Animation API
Позволяет анимировать графические элементы >> Читать документацию
Загрузить библиотеку анимации:
Старые версии библиотеки:
Загрузить скрипт для работы с твинерами по именам
Посетить бесплатный вебинар
iRidium DDK
iRidium DDK - подробная инструкция по написанию драйвера на примере устройства Marantz SR7007
Примеры использования iRidium Script
Примеры использования iRidium Script
- Работа с клавиатурой и полями ввода
- Работа с цветовыми схемами
- Работа со звуками
- Работа с элементами
- Работа со страницами и попапами
- Работа с JSON
- Работа с Xml
- Использование списков
- Использование токенов
Cпособы отладки скриптов
Логирование на Windows
iRidium Log - окно, куда в текстовом виде выводится информация о работе iRidium, уведомления, сообщения об ошибках и логи iRidium Script (IR.Log).
Нажмите F4, чтобы запустить лог iRidium на Windows
Удаленное логирование на iOS/Android/OS X
iRidium Log на iOS/Android/OS X - системный журнал, который iRidium может отправлять по IP на Syslog Server. iRidium Log используется для выявления ошибок и отладки скриптов, его можно отправить на Syslog Server, установленный на ПК.
Активируйте опцию Remote Debugging в настройках i2 Control V2.2
- 192.168.XX.XX - локальный IP-адрес ПК, где запущен Syslog Server
- 514 - порт слушателя Syslog Server
- 8 - глубина логирования (1 - самые критичные уведомления, ... , 8 - все уведомления)
- ON - активация логирования
- Нажмите Apply и перезапустите i2 Control V2.2.
Настройте Syslog сервер:
Установите и настройте любой Syslog Server для Windows на своем ПК, например, www.winsyslog.com. Перезапустите i2 Control V2.2, приложение начнет оправлять системный журнал Syslog cерверу на ПК.
Книги и сайты по JavaScript
Сайты по JavaScript:
- http://www.codecademy.com/ RUS/ENG
- http://javascript.ru/ RUS
- http://learn.javascript.ru/RUS
- http://www.w3schools.com/js/default.aspENG
- http://help.dottoro.com/ljsdaoxj.phpENG
- http://mas-html.narod.ru/js01.htmRUS
Книги по JavaScript:
Автор: Cody Lindley, Язык: ENG
Уровень знаний: средний
Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.
Автор: Marijn Haverbeke, Язык: ENG
Уровень знаний: начинающий
Вводная книга по JavaScript и программирование в целом.
Автор: Alex Young, Язык: ENG
Уровень знаний: продвинутый
Избранные статьи из цикла «Let’s Make a Framework».
Автор: TJ Holowaychuk, Язык: ENG
Уровень знаний: продвинутый
Из этой книги вы узнаете как написать веб сервер с высоко конкурентными соединениями
Автор: E. Hoigaard, Язык: ENG
Уровень знаний: средний
Введение в CoffeScript с акцентом на ясность, абстракции и верификации.
Автор: Manuel Kiessling, Язык: ENG
Уровень знаний: средний
Цель книги дать стартовую точку в разработке приложений под Node.js, параллельно обучая «продвинутому» программированию на JavaScript.
Автор: Rebecca Murphey, Язык: ENG
Уровень знаний: начальный
Создаваемая сообществом книга по JavaScript и jquery.
Автор: Addy Osmani, Язык: ENG
Уровень знаний: начальный
В этой книги рассматриваются классические и современные патерны программирования на JavaScript
Автор: Addy Osmani, Язык: ENG
Уровень знаний: средний
В этой книге рассматривается теория MVC(Модель-представление-контроллер) и о том как разрабатывать приложения использую модели, представления, коллекции и роутинг в Backbone.js
Автор: Alex MacCaw, Язык: ENG
Уровень знаний: продвинутый
Эта книга написана для того чтобы помочь изучить CoffeeScript, понять лучшие практики и начать создавать потрясающие приложения.
Demo Projects
Страницы и попапы | Создание и удаление страниц/попапов. Изменение свойств страниц и попапов. Работа с ориентацией устройства и прочие методы для работы со страницами и попапами. |
Графические элементы | Создание и удаление различных элементов. Изменение свойств элементов. Подсчёт количества элементов и свойств элементов |
Жесты | Подключение, отключение, обработка жестов |
Токены | Запись и чтение данных из токенов |
Звуки | Воспроизведение и остановка звука с помощью iRidiumScript |
Системные токены | Обращение к системным токенам |
Операции с драйверами | Создание драйверов, произведение рассылки данных |
Применение списков | Создание и удаление списков. Изменение свойств списков и другие методы работы со списками |
Клавиатура и поля ввода | Виды вызываемых клавиатур, получение данных с клавиатуры |
Цветовые схемы | Работа с цветом в iRidiumScript |
xml-объекты | Работа с xml-объектами в iRidiumScript |
json-объекты | Работа с json-объектами в iRidiumScript |
Используйте в проектах
Узнать имя элемента на который нажали
Подписаться на нажатия всех элементов в проекте
Загрузить пример "Как сделать свой слайдер для уровня."
Примеры скриптов на часто встречающиеся задачи в проектах
Реакция на обратную связь | Пример |
Показать всплывающее окно при получении данных | Включился проектор, показать пульт управления кинотеатром |
Отравить команду при получении данных | Стало холодно, включить теплый пол |
Изменить внешний вид кнопки при получении данных | Включен сценарий "Слушать музыку", кнопка должна быть желтой |
Отобразить видео с IP-камеры при получении данных | Сработал датчик движения - показать камеру наблюдения |
Переслать данные с одного устройства на другое | |
Симулировать нажатие на кнопку при получении нужных данных | |
Изменить внешней вид данных | Температура приходит с двумя числами после запятой, нужно отобразить с одной |
Заблокировать кнопки при получении нужных данных | Телевизор выключен, сделать кнопки не нажимаемыми |
Команды по расписанию |
Отправить команды |
Отправить данные письмом на почту |
Расширенная графика |
Свой слайдер для уровня |
Круговой уровень |
Инертные уровни |
Готовые анимационные эффекты |
Боковое меню для проекта |
Drag & Drop элементов |
Установить картинку на элемент из сети |
Шаблоны проектов |
Драйвер TCP |
Драйвер UDP |
Драйвер HTTP |
Драйвер UPNP |
Драйвер FTP |
Анимация |