我正在使用带有Cordova 5.0.3的Ionic 4 Framework应用程序,并通过ADB在Android 9.0上进行调试。我将Supported BLE Plugin用于Ionic 4,并尝试连接,读取和写入特定BLE设备上的特征。但是,当尝试read特性时,该命令将导致空的ArrayBuffer。如何解决此问题,以便找出如何正确读取值的方法?
我能够正确连接到设备,并且似乎可以正确读取特性而没有任何错误。我已经进行了两次和三次检查,以确保特征ID正确,并已通过ADB Logcat验证了它是否正确传递了具有正确特征ID的read
命令。我还使用了Bluetooth Terminal来确保我的BLE设备正在发送和接收正确的值。
以下代码段是我用来读取数据的代码,假定参数/ ID正确:
this.ble.read(deviceId, serviceId, characteristicId).then((data) => {
alert(JSON.stringify(data));
}, error => {
alert(JSON.stringify(error));
}
当我调用该函数时,它会导致包含{}
的警报。正在调用成功函数,它返回一个ArrayBuffer,但它为空。
我应该能够将一个值作为ArrayBuffer接收,如果将其转换为字符串,则应该从设备中获取一些传感器信息。相反,我得到的是一个空的ArrayBuffer,没有任何信息。