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

SubDevice.WriteCharacteristic

Перезаписать характеристику BLE устройства

Синтаксис

SubDevice.WriteCharacteristic(Characteristic)

Название Пример Описание
Characteristic type: Object
Объект характеристики
На выходе

-


Пример

var l_oDevice = module.CreateDevice(IR.DEVICE_BLE_DEVICE, "Kettle", UUID); //Создаем BLE устройство
var l_oSubDevice = module.AddSubDevice("SubDevice 1", l_oDevice); //создаем подустройство 
l_oSubDevice.DiscoverServices(); //исследуем сервисы
module.AddListener(IR.EVENT_SERVICES_DISCOVERED, l_oSubDevice, function(){
 
	var l_aServices = l_oSubDevice.GetServices(); //Получаем сервисы
	for (var i = 0; i < l_aServices.length; i++) {
		var l_aCharacteristics = l_aServices[i].GetCharacteristics();
		for (var j = 0; j < l_aCharacteristics.length; j++) {
			l_aCharacteristics[j].Value = [...]; //записываем новое значение
			l_oSubDevice.WriteCharacteristic(l_aCharacteristics[j]); //Перезаписываем характеристику
		}
	}
});
module.AddListener(IR.EVENT_CHARACTERISTIC_WRITE, l_oSubDevice, function(in_serviceUuid, in_characteristicUuid, in_status){
 
	IR.Log(in_serviceUuid);
        IR.Log(in_characteristicUuid);
	IR.Log(in_status);
})

Вызывает событие: IR.EVENT_CHARACTERISTIC_WRITE - характеристика записана.
Примечания:

  • Cвойство Value характеристики используется как контейнер нового значения для отправки на устройство;
  • Формат байтового массива на запись может отличаться от массива, который может быть получен при чтении;
  • Характеристика должна иметь свойства CharacteristicPropertyWrite или смежные.

Свойства характеристики:

  • UUID - uuid характеристики
  • Permissions - уровень разрешения
  • Properties - свойства
  • Value - значение