Ошибка при получении всех сервисов и характеристик с устройства ble с использованием Polidea / реагировать-родным-ble-plx - PullRequest
1 голос
/ 01 апреля 2020

Привет! Я пытаюсь подключить устройство Bluetooth с помощью библиотеки Polidea / реагировать-родной-ble-plx.

Сначала я выполняю сканирование, и оно работает нормально:

scanAndConnect() {
console.log('scanAndConnect');
this.manager.startDeviceScan(null, null, (error, device) => {
//console.log('Scanning...' + error);
if (error) {
// Handle error (scanning will be stopped automatically)
console.log('Scanning ERROR');
return;
}
if ((device.id=== '54:6C:0E:A0:7B:6D') 
{
console.log('device found: ' + device.name + '(' + device.id + ')');
this.manager.stopDeviceScan();
}
}

Второй шаг я пытаюсь подключить. И это тоже работает!

device.connect().then((dev) => {
          console.log("try to connect")          
        }).then((dev) => {
          console.log("success to connect")
        }).catch((error) => {
          console.log("connect error:" + error)
          throw error
        });

Итак, теперь я хочу, чтобы все службы и персонажи считывали некоторую информацию с устройства, но эта функция не работает для меня.

Я используя этот метод device.discoverAllServicesAndCharacteristics ();

И я всегда получал сообщение об ошибке.

Некоторое время я получаю следующее сообщение об ошибке: 1) ПРЕДУПРЕЖДЕНИЕ Возможный необработанный отказ от обещания (id: 0): BleError: Устройство 54: 6 C: 0E: A0: 7B: 6D не подключено

Первый не понял, потому что устройство подключено.

var status = this.manager.isDeviceConnected(device.id).then((status)=>console.log('status1: '+status))

строка выше возвращает false, прежде чем я вызываю метод connect, и возвращает true после него.

Но когда я пытаюсь получить услуги и характеристики, у меня появляется сообщение, что устройство не подключен

...