Попытка чтения характерных результатов в пустом массиве ArrayBuffer - PullRequest
0 голосов
/ 20 июня 2019

Я работаю с приложением Ionic 4 Framework с Cordova 5.0.3 и отлаживаю на Android 9.0 через ADB.Я использую Поддерживаемый плагин BLE для Ionic 4 и пытаюсь подключиться, прочитать и записать характеристики на определенном устройстве BLE.Однако при попытке прочитать характеристику команда приводит к пустому ArrayBuffer.Как устранить эту проблему, чтобы я мог понять, как правильно считать значение?

Я могу правильно подключиться к устройству, и, похоже, он правильно читает характеристику без каких-либо ошибок.Я дважды и трижды проверил правильность идентификаторов признаков и проверил через ADB Logcat, что он правильно передает команду read с правильным идентификатором характеристики.Я также использовал Bluetooth-терминал , чтобы убедиться, что мое устройство BLE отправляет и получает правильные значения.

Следующий фрагмент кода является кодом, который я использую дляпрочитайте данные, предполагая, что параметры / идентификаторы верны:

this.ble.read(deviceId, serviceId, characteristicId).then((data) => {
    alert(JSON.stringify(data));
}, error => {
    alert(JSON.stringify(error));
}

, когда я вызываю функцию, это приводит к предупреждению, которое содержит {}.Вызывается функция успеха, и она возвращает ArrayBuffer, но она пуста.

Я должен иметь возможность получить значение в виде ArrayBuffer, которое при преобразовании в строку должно привести к некоторой информации датчика отУстройство.Вместо этого я получаю пустой ArrayBuffer без информации.

...