Espruino:Справочник по API/Класс NRF/connect(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 7: | Строка 7: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
NRF.connect(mac, options) | NRF.connect(mac, options) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 24: | Строка 24: | ||
Подключается к BLE-устройству по MAC-адресу. Возвращает промис, аргументом которого будет соединение типа [https://www.espruino.com/Reference#BluetoothRemoteGATTServer BluetoothRemoteGATTServer]. | Подключается к BLE-устройству по MAC-адресу. Возвращает промис, аргументом которого будет соединение типа [https://www.espruino.com/Reference#BluetoothRemoteGATTServer BluetoothRemoteGATTServer]. | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
NRF.connect("aa:bb:cc:dd:ee").then(function(server) { | NRF.connect("aa:bb:cc:dd:ee").then(function(server) { | ||
// ... | // ... | ||
Строка 34: | Строка 34: | ||
Вы можете использовать ее как показано в примере ниже. В нем вы подключаетесь к другому Puck и включаете его [[светодиод]]: | Вы можете использовать ее как показано в примере ниже. В нем вы подключаетесь к другому Puck и включаете его [[светодиод]]: | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
var gatt; | var gatt; | ||
NRF.connect("aa:bb:cc:dd:ee random").then(function(g) { | NRF.connect("aa:bb:cc:dd:ee random").then(function(g) { | ||
Строка 49: | Строка 49: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Примечание1|Bluetooth-устройства Espruino используют «случайный статический» тип BLE-адреса (который отличается от «публичного» адреса). Чтобы подключиться к Espruino, вам нужно будет воспользоваться адресной строкой в формате "aa:bb:cc:dd:ee random", а не просто "aa:bb:cc:dd:ee". Если вы просканируете устройства при помощи [https://www.espruino.com/Reference#l_NRF_findDevices NRF.findDevices()] или [https://www.espruino.com/Reference#l_NRF_setScan NRF.setScan()], то адреса будут сразу возвращены в корректном формате. }} | |||
{{Примечание1|Эта функция доступна только для NRF52-устройств (вроде Puck.js, Pixl.js, Bangle.js и MDBT42Q) и ESP32-плат.}} | |||
== Примеры == | == Примеры == | ||
Строка 59: | Строка 59: | ||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
Строка 65: | Строка 65: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Espruino | {{Навигационная таблица/Портал/Espruino}} | ||
Текущая версия от 17:44, 12 июня 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция NRF.connect()[1]
Синтаксис
NRF.connect(mac, options)
Параметры
- mac – MAC-адрес, к которому надо подключиться
- options – объект с настройками подключения (специфичный для Espruino). Более подробно читайте в описании функции BluetoothRemoteGATTServer.connect()
Возвращаемое значение
Промис (Promise) с состоянием «выполнено успешно» (или «выполнено с ошибкой») после попытки соединения.
Описание
Подключается к BLE-устройству по MAC-адресу. Возвращает промис, аргументом которого будет соединение типа BluetoothRemoteGATTServer.
NRF.connect("aa:bb:cc:dd:ee").then(function(server) {
// ...
});
Эта функция имеет тот же эффект, что и вызов BluetoothDevice.gatt.connect на BluetoothDevice, запрошенном при помощи NRF.requestDevice(). Эта функция лишь позволяет вам задать адрес напрямую (без сканирования).
Вы можете использовать ее как показано в примере ниже. В нем вы подключаетесь к другому Puck и включаете его светодиод:
var gatt;
NRF.connect("aa:bb:cc:dd:ee random").then(function(g) {
gatt = g;
return gatt.getPrimaryService("6e400001-b5a3-f393-e0a9-e50e24dcca9e");
}).then(function(service) {
return service.getCharacteristic("6e400002-b5a3-f393-e0a9-e50e24dcca9e");
}).then(function(characteristic) {
return characteristic.writeValue("LED1.set()\n");
}).then(function() {
gatt.disconnect();
console.log("Готово!");
});
Примеры
См.также
Внешние ссылки