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

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


=<ref>[ www.espruino.com - ]</ref>=
=Функция NRF.connect()<ref>[https://www.espruino.com/Reference#t_l_NRF_connect www.espruino.com - NRF.connect]</ref>=


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


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
 
NRF.connect(mac, options)
</syntaxhighlight>
</syntaxhighlight>


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


* '''mac''' – [[MAC-адрес]], к которому надо подключиться
* '''options''' – объект с настройками подключения (специфичный для Espruino). Более подробно читайте в описании функции [https://www.espruino.com/Reference#l_BluetoothRemoteGATTServer_connect BluetoothRemoteGATTServer.connect()]
==Возвращаемое значение==
Промис (Promise) с состоянием «выполнено успешно» (или «выполнено с ошибкой») после попытки соединения.


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


==Возвращаемое значение==
Подключается к BLE-устройству по MAC-адресу. Возвращает промис, аргументом которого будет соединение типа [https://www.espruino.com/Reference#BluetoothRemoteGATTServer BluetoothRemoteGATTServer].
 
<syntaxhighlight lang="javascript">
NRF.connect("aa:bb:cc:dd:ee").then(function(server) {
  // ...
});
</syntaxhighlight>


Эта функция имеет тот же эффект, что и вызов BluetoothDevice.gatt.connect на [https://www.espruino.com/Reference#BluetoothDevice BluetoothDevice], запрошенном при помощи [https://www.espruino.com/Reference#l_NRF_requestDevice NRF.requestDevice()]. Эта функция лишь позволяет вам задать адрес напрямую (без сканирования).


Вы можете использовать ее как показано в примере ниже. В нем вы подключаетесь к другому Puck и включаете его [[светодиод]]:


==Описание==
<syntaxhighlight lang="javascript">
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("Готово!");
});
</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-плат.}}


== Примеры ==
== Примеры ==
Строка 29: Строка 59:
=См.также=
=См.также=


{{ads}}
 


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


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

Текущая версия от 17:44, 12 июня 2023

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


Функция NRF.connect()[1]

Синтаксис

NRF.connect(mac, options)

Параметры

  • macMAC-адрес, к которому надо подключиться
  • 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("Готово!");
});
Примечание

Bluetooth-устройства Espruino используют «случайный статический» тип BLE-адреса (который отличается от «публичного» адреса). Чтобы подключиться к Espruino, вам нужно будет воспользоваться адресной строкой в формате "aa:bb:cc:dd:ee random", а не просто "aa:bb:cc:dd:ee". Если вы просканируете устройства при помощи NRF.findDevices() или NRF.setScan(), то адреса будут сразу возвращены в корректном формате.

Примечание

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

Примеры

См.также

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