IRidium Script API

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск
Язык прикладного программирования для разработки новых драйверов и расширения графических возможностей. Обновлено: 31 Марта, 2015
Язык предок: JavaScript
Версия языка: 1.5
Спецификация: ECMAScript Edition 3

Сообщить об ошибке

IRidium API.png

Drivers API GUI API System API


iRidium Script - cобытийно ориентированные скрипты, позволяющие решить различные задачи:

  • работа с графическими объектами (страницы, попапы, итемы). Возможно создание, изменение свойств и удаление элементов.
  • работа со звуком
  • работа с драйверами: отправка команд, приём данных
  • работа с системными тегами
  • работа с токенами (системными, драйверными, внутренними переменными проекта)


IRidium API Sheme.png
Содержит методы, функций и события, для управления графической и коммуникационной частью проекта, а также позволяет приложению управлять своим циклом работы и взаимодействовать с операционной системой панели.

Инструменты iRidium являются мультиплатформенными - однажды созданный скрипт или драйвер будет одинаково работать на любой поддерживаемой iRidium операционной системе (iOS/Windows/Android/OS X).

Особенности iRidium Script


Варианты создания и запуска скрипта


Обучение 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

Набор функций для работы с токенами

Функции чтения: IR.GetVariable
IR.GetVariable Получить время
IR.GetVariable Получить дату
IR.GetVariable Получить GPS координаты и параметры
IR.GetVariable Получить данные с компаса
IR.GetVariable Получить данные с акселерометра
IR.GetVariable Получить данные с гироскопа
IR.GetVariable Получить данные о дисплее устройства
IR.GetVariable Получить информацию о сети
IR.GetVariable Получить информацию о батарее
IR.GetVariable Получить текущую громкость на устройстве
IR.GetVariable Получить состояние датчика приближения на устройстве
IR.GetVariable Возвращает состояние режима обновления: 0 - выкл, 1 - вкл
IR.GetVariable Получить название операционной системы
IR.GetVariable Получить вид управляющего устройства
IR.GetVariable Получить версию управляющего устройства
IR.GetVariable Получить имя управляющего устройства
IR.GetVariable Получить ориентацию управляющего устройства
IR.GetVariable Читать значения из токена
IR.GetVariable Читать массивы из токена
Функции записи: IR.SetVariable
IR.SetVariable Запись значения в токен
IR.SetVariable Установить значение яркости
IR.SetVariable Принудить устройство вибрировать
IR.SetVariable Устанавливает режим обновления: 0 - off, 1 - on
IR.SetVariable Запись массивов в токена

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

Systems API

Позволяет использовать возможности ОС панели, работать с таймерами, управлять приложением и его событиями.

Операционная система Таймеры
Показать клавиатуру Отложенный запуск
Получить HWID устройства Повторение действий с промежутком
Запустить другое приложение Удалить таймер
Копирование данных в буфер
Приложение Cобытия
Открыть системное меню Приложение было запущено
Узнать информацию о памяти и кэше Приложение работает
Выполнить макросы элемента Приложение будет закрыто
Закрыть приложение Приложение сменило ориентацию
Вывести информацию в консоль Клавиатура была показана
Раскодировать ссылку Приложение уходит в фон (EVENT_APP_ENTER_BACKGROUND)
Обновление проекта через команду Приложение выходит из фона: EVENT_APP_ENTER_FOREGROUND
Отправить локальное уведомление на iOS устройствах (IR.SendNotification) Приложение завершает работу: EVENT_APP_WILL_TERMINATE
Очистить список уведомлений на iOS устройствах (IR.ClearNotification) Получение локального уведомления: EVENT_RECIEVE_NOTIFY
Анимация Действия с событиями
Уточнить значение Подписаться на событие
Создать эффект Отписаться от события

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

Animation API

Позволяет анимировать графические элементы >> Читать документацию

Загрузить библиотеку анимации:

Старые версии библиотеки:


Загрузить скрипт для работы с твинерами по именам

Посетить бесплатный вебинар

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

iRidium DDK

iRidium DDK - подробная инструкция по написанию драйвера на примере устройства Marantz SR7007


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

Примеры использования iRidium Script

Примеры использования iRidium Script

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

Cпособы отладки скриптов

Логирование на Windows

Log window.png

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, установленный на ПК.

App UpdateSettings Remote.png

Активируйте опцию 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:


Книги по 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
Анимация