Espruino:Справочник по API/Класс BluetoothRemoteGATTCharacteristic/startNotifications(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= ==Синтакс...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 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 | <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]]).}} | |||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
Строка 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("Готово!");
});
См.также
Внешние ссылки