Tokens API
Содержание
- 1 System Tokens
- 1.1 Получить время
- 1.2 Получить дату
- 1.3 Получить GPS координаты и параметры
- 1.4 Получить данные с компаса
- 1.5 Получить данные с акселерометра
- 1.6 Получить данные с гироскопа
- 1.7 Получить данные о дисплее устройства
- 1.8 Информация о сетях
- 1.9 Получить информацию о батарее
- 1.10 Громкость на устройстве
- 1.11 Датчик приближения на устройстве
- 1.12 Вибрация на устройстве
- 1.13 Состояние режима обновления
- 1.14 Название операционной системы
- 1.15 Вид управляющего устройства
- 1.16 Версия операционной системы
- 1.17 Имя управляющего устройства
- 1.18 Ориентация управляющего устройства
- 2 Project Tokens
- 3 ЗАГРУЗИТЬ: Пример проекта
System Tokens
System Token - системный токен. Возвращает значение системных параметров управляющей панели (время, дата, координаты GPS, ...). Токен можно привязать к любому графическому элементу интерфейса, и он будет выводить в него полученную от системы информацию. В системный токен нельзя записать значение из интерфейса, данные в него вносит только система.
Для того, чтобы привязать системный токен к графическому элементу, используйте метод Drag&Drop. Альтернативный способ привязки токена к элементу - через скрипт.
Назначение системных токенов с примером вызова из скрипта:
Получить время
- "System.Time.Seconds" - системное время, секунды
IR.GetVariable("System.Time.Seconds")
- "System.Time.Minutes" - системное время, минуты
IR.GetVariable("System.Time.Minutes")
- "System.Time.Hour" - системное время, часы
IR.GetVariable("System.Time.Hour")
- "System.Time.24" - системное время в 24-часовом формате
IR.GetVariable("System.Time.24")
- "System.Time.12_AM_PM" - системное время в 12-часовом формате
IR.GetVariable("System.Time.12_AM_PM")
- "System.Time.Standart" - системное время в формате, установленном для ОС
IR.GetVariable("System.Time.Standart")
IR.AddListener(IR.EVENT_START, 0, function() { var time = IR.GetVariable("System.Time.Seconds"); IR.Log(time); });
Получить дату
- "System.Date.DayOfYear" - системная дата, день года
IR.GetVariable("System.Date.DayOfYear")
- "System.Date.Year" - системная дата, текущий год
IR.GetVariable("System.Date.Year")
- "System.Date.DayOfWeek" - системная дата, день недели
IR.GetVariable("System.Date.DayOfWeek")
- "System.Date.Month" - системная дата, текущий месяц
IR.GetVariable("System.Date.Month")
- "System.Date.Day" - системная дата, текущий день месяца
IR.GetVariable("System.Date.Day")
- "System.Date.YYYY_MM_DD" - системная дата в формате ГГГГ_ММ_ДД (цифровой вид)
IR.GetVariable("System.Date.YYYY_MM_DD")
- "System.Date.DD_MONTH_YYYY" - системная дата в формате ДД_МЕСЯЦ_ГГГГ (цифро-буквенный вид)
IR.GetVariable("System.Date.DD_MONTH_YYYY"")
- "System.Date.MONTH_DD_YYYY" - системная дата в формате МЕСЯЦ_ДД_ГГГГ (цифро-буквенный вид)
IR.GetVariable("System.Date.MONTH_DD_YYYY")
- "System.Date.DD_MM_YYYY" - системная дата в формате ДД_ММ_ГГГГ (цифровой вид)
IR.GetVariable("System.Date.DD_MM_YYYY")
- "System.Date.MM_DD_YYYY" - системная дата в формате ММ_ДД_ГГГГ (цифровой вид)
IR.GetVariable("System.Date.MM_DD_YYYY")
- "System.Date.DD_MM" - системная дата в формате ДД_ММ (цифровой вид)
IR.GetVariable("System.Date.DD_MM")
- "System.Date.MM_DD" - системная дата в формате ММ_ДД (цифровой вид)
IR.GetVariable("System.Date.MM_DD")
- "System.Date.Weekday" - системная дата, день недели (цифровой вид)
IR.GetVariable("System.Date.Weekday")
IR.AddListener(IR.EVENT_START, 0, function() { var date = IR.GetVariable("System.Date.Year"); IR.Log(date); });
Получить GPS координаты и параметры
- "System.Location.Course" - курс
IR.GetVariable("System.Location.Course")
- "System.Location.Speed" - скорость
IR.GetVariable("System.Location.Speed")
- "System.Location.Altitude" - высота
IR.GetVariable("System.Location.Altitude")
- "System.Location.Longitude" - долгота
IR.GetVariable("System.Location.Longitude")
- "System.Location.Latitude" - широта
IR.GetVariable("System.Location.Latitude")
IR.AddListener(IR.EVENT_START, 0, function() { var GPS = IR.GetVariable("System.Location.Course"); IR.Log(GPS); });
Получить данные с компаса
- "System.Magnetic.Accuracy" - точность показаний (степень намагниченности)
IR.GetVariable("System.Magnetic.Accuarcy")
- "System.Magnetic.True" - истинный север
IR.GetVariable("System.Magnetic.True")
- "System.Magnetic.Heading" - магнитный север
IR.GetVariable("System.Magnetic.Heading")
- "System.Magnetic.Z" - координата по Z
IR.GetVariable("System.Magnetic.Z")
- "System.Magnetic.Y" - координата по Y
IR.GetVariable("System.Magnetic.Y")
- "System.Magnetic.X" - координата по X
IR.GetVariable("System.Magnetic.X")
IR.AddListener(IR.EVENT_START, 0, function() { var compass = IR.GetVariable("System.Magnetic.Accuarcy"); IR.Log(compass); });
Получить данные с акселерометра
- "System.Accelerometer.Shake" - встряхивание
IR.GetVariable("System.Accelerometer.Shake")
- "System.Accelerometer.Z" - координата по Z
IR.GetVariable("System.Accelerometer.Z")
- "System.Accelerometer.Y" - координата по Y
IR.GetVariable("System.Accelerometer.Y")
- "System.Accelerometer.X" - координата по X
IR.GetVariable("System.Accelerometer.X")
IR.AddListener(IR.EVENT_START, 0, function() { var Accelerometer = IR.GetVariable("System.Accelerometer.Shake"); IR.Log(Accelerometer); });
Получить данные с гироскопа
- "System.Gyroscope.Z" - координата по Z
IR.GetVariable("System.Gyroscope.Z")
- "System.Gyroscope.Y" - координата по Y
IR.GetVariable("System.Gyroscope.Y")
- "System.Gyroscope.X" - координата по X
IR.GetVariable("System.Gyroscope.X")
IR.AddListener(IR.EVENT_START, 0, function() { var Gyroscope = IR.GetVariable("System.Gyroscope.Z"); IR.Log(Gyroscope); });
Получить данные о дисплее устройства
- "System.Display.FullScreen" - полноэкранный режим работы
IR.GetVariable("System.Display.FullScreen")
- "System.Display.Height" - высота дисплея
IR.GetVariable("System.Display.Height")
- "System.Display.Width" - ширина дисплея
IR.GetVariable("System.Display.Width")
- "System.Display.Bright" - яркость дисплея (только для iOS)
IR.GetVariable("System.Display.Bright") IR.SetVariable("System.Display.Bright", 80) //изменить яркость (не работает в фоновом режиме)
- "System.ViewOrientation" - ориентация дисплея
IR.GetVariable("System.ViewOrientation")
Выходные значения ориентации дисплея:
- 1 - вертикально, кнопка Home сверху
- 2 - вертикально, кнопка Home снизу
- 3 - горизонтально, кнопка Home слева (по-умолчанию)
- 4 - горизонтально, кнопка Home справа
IR.AddListener(IR.EVENT_START, 0, function() { var Display = IR.GetVariable("System.Display.FullScreen"); IR.Log(Display); });
Информация о сетях
Имя переменной:
- "System.Net.Cell" - статус подключения к 3G / 4G сетям
- "System.Net.WiFi" - статус подключения к Wi-Fi сети
Синтаксис чтения:
- IR.GetVariable("System.Net.Cell")
- IR.GetVariable("System.Net.WiFi")
Пример чтения:
var Cell = IR.GetVariable("System.Net.Cell"); var WiFi= IR.GetVariable("System.Net.WiFi"); IR.Log("Cell:" + Cell + " / Wi-Fi:" + WiFi);
Значения на выходе:
- true - есть подключение
- false - нет подключения
Подробнее о SetParametters
Получить информацию о батарее
- "System.Battery.Level" - уровень заряда батареи
IR.GetVariable("System.Battery.Level")
- "System.Battery.Status" - статус батареи ()
IR.GetVariable("System.Battery.Status")
IR.AddListener(IR.EVENT_START, 0, function() { var Battery = IR.GetVariable("System.Battery.Level"); IR.Log(Battery); });
Выходные значения:
- 1 - не заряжается
- 2 - заряжается
- 3 - максимальная зарядка (для iOS)
Громкость на устройстве
- "System.Sound.Volume" - значение громкости
IR.GetVariable("System.Sound.Volume")
- "System.Sound.Mute" - беззвучный режим
IR.GetVariable("System.Sound.Mute")
IR.AddListener(IR.EVENT_START, 0, function() { var Sound = IR.GetVariable("System.Sound.Volume"); IR.Log(Sound); });
Датчик приближения на устройстве
- "System.Proximity" - датчик приближения
Синтаксис:
IR.GetVariable("System.Proximity")
Пример использования:
IR.AddListener(IR.EVENT_START, 0, function() { // Получаем состояние наличие датчика приближения var Proximity = IR.GetVariable("System.Proximity"); // Выводим в консоль отладки IR.Log(Proximity); });
Значения на выходе:
- false (0) - датчик не задействован
- true (1) - датчик сработал
Вибрация на устройстве
- "System.Vibro" - заставляет устройство вибрировать
Синтаксис:
IR.SetVariable("System.Vibro",1) // Принудить вибрировать (только для iOS и Android)
Состояние режима обновления
"System.Update" - системная переменная, хранящая состояние режима обновления проектов. При использовании функции получения значения IR.GetVariable, возвращает число false (0) или true (1).
- false (0) - режим обновления проектов выключен.
- true (1) - режим обновления проектов включен.
IR.AddListener(IR.EVENT_START, 0, function() { // Получаем состояние режима обновления var UpdateState = IR.GetVariable("System.Update"); // Выводим в консоль отладки IR.Log(UpdateState); });
Системная переменная "System.Update" доступна для записи - вы можете использовать функцию IR.SetVariable для изменения режима обновления проектов. Благодаря этому вы можете включать или выключать режим обновления, в любой момент работы проекта.
- Что бы отключить обновление проекта, следует записать число 0 или логическое значение false в системную переменную System.Update, пример: IR.SetVariable("System.Update", false);
- Что бы включить обновление проекта, следует записать число 1 или логическое значение true в системную переменную System.Update, пример: IR.SetVariable("System.Update", true);
Также переменная "System.Update" доступная для чтения, прочитать об этом вы можете здесь.
IR.AddListener(IR.EVENT_START, 0, function() { // Включим режима обновления IR.SetVariable("System.Update", true); // Выключим режима обновления IR.SetVariable("System.Update", false); });
Название операционной системы
"System.OS.Name" - cистемная переменная, возвращает имя ОС на которой в текущий момент запущен клиент iRidium.
Синтаксис:
IR.GetVariable("System.OS.Name");
Выходные значения:
- Windows
- MacOSX
- iOS
- Android
Пример использования:
IR.AddListener(IR.EVENT_START, 0, function() { // Запись значения ОС в переменную OS var OS = IR.GetVariable("System.OS.Name"); // Вывод переменной OS в консоль отладки IR.Log(OS); });
Вид управляющего устройства
"System.OS.Device" - системная переменная, возвращает специальный идентификатор версии ОС на которой в текущий момент запущен клиент iRidium.
Синтаксис:
IR.AddListener(IR.EVENT_START, 0, function() { IR.GetVariable("System.OS.Device"); });
Выходные значения:
- При использовании на ОС Windows
- 1 - ОС Windows x86 32 / 64 bit
- При использовании на Mac OS X
- 1 - Mac OS X PPC
- 2 - Mac OS X X86 32 bit
- 3 - Mac OS X X86 64 bit
- При использовании на iOS
- 1 - iPhone
- 2 - iPad
- При использовании на Android
- 1 - Phone
- 2 - Tablet
Пример использования:
IR.AddListener(IR.EVENT_START, 0, function() { // Запись идентификатор версии ОС в переменную Device var Device = IR.GetVariable("System.OS.Device"); // Вывод переменной Device в консоль отладки IR.Log(Device); });
Версия операционной системы
"System.OS.Version" - системная переменная, возвращает версию ОС. На данный момент не реализована.
Синтаксис:
IR.GetVariable("System.OS.Version");
Имя управляющего устройства
"System.Device.Name" - системная переменная, возвращает сетевое имя управляющего устройства, на котором запущено приложение i2 Control.
Синтаксис:
IR.GetVariable("System.Device.Name");
Ориентация управляющего устройства
"System.Device.Orientation" - системная переменная, возвращает ориентацию устройства, на котором запущенно приложение i2 Control.
Синтаксис:
IR.GetVariable("System.Orientation");
Выходные значения:
- 1 - вертикально, кнопка Home/Menu внизу экрана
- 2 - вертикально, кнопка Home/Menu вверху экрана
- 3 - горизонтально, кнопка Home/Menu справа экрана
- 4 - горизонтально, кнопка Home/Menu слева экрана
- 5 - горизонтально, экраном вверх
- 6 - горизонтально, экраном вниз
- 0 - в процессе смены положения
Пример использования:
IR.AddListener(IR.EVENT_START, 0, function() { // Получаем состояние ориентации var Orientation = IR.GetVariable("System.Orientation"); // Вывод переменной Orientation в консоль отладки IR.Log(Orientation); });
Project Tokens
Project Tokens - токены (переменные) проекта. Переменная может хранить данные, которые будут доступны для записи и чтения. Записать данные в токен или прочитать их может графический элемент, драйвер или скрипт.
- Переменные хранятся в Дереве устройств проекта (Project Device Panel)
- В переменную можно записать число или строку (DEC или ASCII).
- Их можно создавать, удалять, делать копии, сортировать между собой и группировать по папкам.
- Данные в переменных можно сохранять (или не сохранять) после закрытия приложения iRidium.
- Записать данные в переменную можно командой с элемента или из iRidium Script
Запись значений в Project Tokens
Функция IR.SetVariable используется для записи любого значения в любой Project Token.
IR.SetVariable("Tokens.TokenName",Value), где
- TokenName - имя любого токена находящегося в папке Project Tokens в панели Project Device Panel
- Value - любое значение (число, строка, массив чисел, массив строк).
Пример:
IR.AddListener(IR.EVENT_START, 0, function() { // Запись числа 23 в токен проекта c именем test IR.SetVariable("Tokens.test",23); // Вывод в консоль отладки значение токена проекта c именем test IR.Log(IR.GetVariable("Tokens.test")); });
Чтение значений из Project Tokens
Функция IR.SetVariable используется для записи любого значения в любой Project Token.
IR.GetVariable("Tokens.TokenName"), где
- TokenName - имя любого токена находящегося в папке Project Tokens в панели Project Device Panel
Пример:
IR.Log(IR.GetVariable("Tokens.test_token"));
Запись массивов в Projects Token и их извлечение
Одномерный массив
var Value_Buttons = [0,0]; function LoadData(){ Value_Buttons = IR.GetVariable("Global.Data").split(","); IR.Log(Value_Buttons) } function SaveData(){ IR.SetVariable("Global.Data", Value_Buttons); IR.Log(Value_Buttons); } SaveData(); LoadData();
Двумерный массив
var Value_Buttons = [[0,0],[1,1]]; function LoadData(){ var data = IR.GetVariable("Global.Data"); data = data.split(";"); for(var i = 0; i < data.length; i++) Value_Buttons[i] = data[i].split(","); IR.Log(Value_Buttons) } function SaveData(){ var data = ""; for(var i = 0; i < Value_Buttons.length; i++) data += Value_Buttons[i] + ";"; IR.SetVariable("Global.Data", data); IR.Log(data); } SaveData(); LoadData();
Трехмерный массив
var Value_Buttons = [[[0,0],[1,1]],[[2,2],[3,3]]]; function LoadData(){ var data_1 = IR.GetVariable("Global.Data"); var data_2 = []; data_1 = data_1.split(":"); for(var i = 0; i < data_1.length; i++){ data_2[i] = data_1[i].split(";"); for(var j = 0; j < data_2[i].length; j++) Value_Buttons[i][j] = data_2[i][j].split(","); } IR.Log(Value_Buttons); } function SaveData(){ var data = ""; for(var i = 0; i < Value_Buttons.length; i++){ for(var j = 0; j < Value_Buttons[i].length; j++){ data += Value_Buttons[i][j]; if(j < Value_Buttons[i].length -1) data += ";" } if(i < Value_Buttons.length -1) data += ":"; } IR.SetVariable("Global.Data", data); IR.Log(data); } SaveData(); LoadData();