Espruino:Справочник по API/Класс BluetoothRemoteGATTCharacteristic/startNotifications(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= ==Синтакс...»)
 
Нет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[ www.espruino.com - ]</ref>=
=Функция BluetoothRemoteGATTCharacteristic.startNotifications()<ref>[https://www.espruino.com/Reference#t_l_BluetoothRemoteGATTCharacteristic_startNotifications www.espruino.com - function BluetoothRemoteGATTCharacteristic.startNotifications]</ref>=


==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
 
BluetoothRemoteGATTCharacteristic.startNotifications()
</syntaxhighlight>
</syntaxhighlight>


==Параметры==
==Параметры==


 
Нет.


==Возвращаемое значение==
==Возвращаемое значение==


* '''Промис (Promise)''' с состоянием ''«выполнено успешно»'' (или ''«выполнено с ошибкой»'') вместе с данными.


==Описание==


==Описание==
Запускает уведомления – при каждом изменении значения в характеристике будет генерироваться событие ''characteristicvaluechanged'', а в characteristic.value будет сохранено новое значение в виде DataView.
 
<syntaxhighlight lang="javascript">
var device;
NRF.connect(device_address).then(function(d) {
  device = d;
  return d.getPrimaryService("service_uuid");
}).then(function(s) {
  console.log("Сервис ",s);
  return s.getCharacteristic("characteristic_uuid");
}).then(function(c) {
  c.on('characteristicvaluechanged', function(event) {
    console.log("-> "+event.target.value);
  });
  return c.startNotifications();
}).then(function(d) {
  console.log("Ожидание уведомлений");
}).catch(function() {
  console.log("Что-то пошло не так.");
});
</syntaxhighlight>
 
Например, чтобы прослушать данные на сервисе [[NUS]] в [[Puck.js]], можно воспользоваться вот этим кодом:


<syntaxhighlight lang="javascript">
var gatt;
NRF.connect("pu:ck:js:ad:dr:es random").then(function(g) {
  gatt = g;
  return gatt.getPrimaryService("6e400001-b5a3-f393-e0a9-e50e24dcca9e");
}).then(function(service) {
  return service.getCharacteristic("6e400003-b5a3-f393-e0a9-e50e24dcca9e");
}).then(function(characteristic) {
  characteristic.on('characteristicvaluechanged', function(event) {
    console.log("RX: "+JSON.stringify(event.target.value.buffer));
  });
  return characteristic.startNotifications();
}).then(function() {
  console.log("Готово!");
});
</syntaxhighlight>


{{Примечание1|Эта функция доступна только для [[NRF52]]-устройств (вроде [[Puck.js]], [[Pixl.js]], [[Bangle.js]] и [[MDBT42Q]]).}}


=См.также=
=См.также=


{{ads}}
 


=Внешние ссылки=
=Внешние ссылки=
Строка 31: Строка 72:
<references />
<references />


{{Навигационная таблица/Espruino}}
{{Навигационная таблица/Портал/Espruino}}
{{Навигационная таблица/Телепорт}}

Текущая версия от 19:12, 27 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция BluetoothRemoteGATTCharacteristic.startNotifications()[1]

Синтаксис

BluetoothRemoteGATTCharacteristic.startNotifications()

Параметры

Нет.

Возвращаемое значение

  • Промис (Promise) с состоянием «выполнено успешно» (или «выполнено с ошибкой») вместе с данными.

Описание

Запускает уведомления – при каждом изменении значения в характеристике будет генерироваться событие characteristicvaluechanged, а в characteristic.value будет сохранено новое значение в виде DataView.

var device;
NRF.connect(device_address).then(function(d) {
  device = d;
  return d.getPrimaryService("service_uuid");
}).then(function(s) {
  console.log("Сервис ",s);
  return s.getCharacteristic("characteristic_uuid");
}).then(function(c) {
  c.on('characteristicvaluechanged', function(event) {
    console.log("-> "+event.target.value);
  });
  return c.startNotifications();
}).then(function(d) {
  console.log("Ожидание уведомлений");
}).catch(function() {
  console.log("Что-то пошло не так.");
});

Например, чтобы прослушать данные на сервисе NUS в Puck.js, можно воспользоваться вот этим кодом:

var gatt;
NRF.connect("pu:ck:js:ad:dr:es random").then(function(g) {
  gatt = g;
  return gatt.getPrimaryService("6e400001-b5a3-f393-e0a9-e50e24dcca9e");
}).then(function(service) {
  return service.getCharacteristic("6e400003-b5a3-f393-e0a9-e50e24dcca9e");
}).then(function(characteristic) {
  characteristic.on('characteristicvaluechanged', function(event) {
    console.log("RX: "+JSON.stringify(event.target.value.buffer));
  });
  return characteristic.startNotifications();
}).then(function() {
  console.log("Готово!");
});
Примечание

Эта функция доступна только для NRF52-устройств (вроде Puck.js, Pixl.js, Bangle.js и MDBT42Q).

См.также

Внешние ссылки