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

Device.GetCharacteristics

получить характеристики сервиса

Синтаксис

IR.CreateDevice(IR.DEVICE_BLE_DEVICE).GetCharacteristics()

Название Пример Описание
ID IR.DEVICE_BLE_DEVICE type: Number
идентификатор BLE сканера
На выходе
Array of objects type: Array
массив характеристик (характеристика - объект)


Пример

var device = IR.CreateDevice(IR.DEVICE_BLE_DEVICE);
device.GetCharacteristics();

Поля объекта характеристики (маркер OPTIONAL обозначает необязательное поле, TO_DELETE - могут быть в дальнейшем удалены, т.к. их реализация практически бесполезна):

  • Uuid: (String) - Идентификатор характеристики;
  • Permissions: (Signed) - TO_DELETE, Разрешения характестики, частично дублирует данные из Properties, на ios отсутсвует для чтения;
  • Properties: (Signed) - Разрешения для взаимодействия с характеристикой;
  • Value: (Array) - OPTIONAL, Массив байт (контейнер для Read / Write).Может быть прочитан или изменен, при условии что * Properties позволяют. Синтаксис определяется производителем;
  • Descriptors: (Array) - OPTIONAL, Массив дескрипторов.

Свойства характеристики. Они определяют взаимодействие с характеристикой (побитово суммируются, отдельная харак. может содержать несколько свойств, но представлять при этом лишь одно число). Для извлечения отдельного свойства требуется использовать 'побитовое и' Prop & IR.CharacteristicPropertyBroadcast.
Список свойств:

IR.CharacteristicPropertyBroadcast = 0x01;
IR.CharacteristicPropertyRead = 0x02;
IR.CharacteristicPropertyWriteWithoutResponse = 0x04;
IR.CharacteristicPropertyWrite = 0x08;
IR.CharacteristicPropertyNotify = 0x10;
IR.CharacteristicPropertyIndicate = 0x20;
IR.CharacteristicPropertyAuthenticatedSignedWrites = 0x40;
IR.CharacteristicPropertyExtendedProperties = 0x80;