使用 wx.writeBLECharacteristicValue(OBJECT) 发送数据的时候,发送的数据在设备上可以接收到,并且正常,
但是使用 wx.readBLECharacteristicValue(OBJECT) 接收数据的时候,确一直接收不到,
我用了 使用了 wx.onBLECharacteristicValueChange(CALLBACK) 来监听数据,数据发送来的时候事件确实可以激活,但是
wx.onBLECharacteristicValueChange(function(res)
{
console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`)
})
上面代码的res.value确一直是空对象,
请问 是不是在底层这里的二进制转换没有做,导致字符串对象为空,还是说这里有什么其他方法可以处理的。
转换为10进制
function arrayBufferToStr(buffer){
return Array.prototype.map.call(new Uint8Array(buffer), x => (‘00’ + x.toString(10)).slice(-2)).join(’’);
}
请问wx.onBLECharacteristicValueChange这个方法是写在哪儿的? 我在onLoad/getBLEDeviceCharacteristics/notifyBLECharacteristicValueChange/writeBLECharacteristicValue方法里都谢了该方法,但是都没有回调。