- notifyBLECharacteristicValueChange方法报错10008?
工具:微信开发者工具 背景:通过小程序蓝牙连接低功率设备,小程序获取wifi账号密码后,以json格式发送给设备,使之能够联网 问题: 1、尝试使用onBLECharacteristicValueChange监听变化,接口返回的value一直为空 characteristic xxxxxxxx-0000-1000-8000-00805F9B34FB has changed, now is {"value":{},"deviceId":"xxx","serviceId":"xxx","characteristicId":""xxx} 2、查看文档,发现调用onBLECharacteristicValueChange前需要调用notifyBLECharacteristicValueChange [图片] 3、尝试调用notifyBLECharacteristicValueChange,接口报错,打印如下 notifyBLECharacteristicValueChange fail {"errno": 1500104, "errCode": 10008, "errMsg": "notifyBLECharacteristicValueChange:fail:no descriptor"} demo代码片段: wx.getBLEDeviceCharacteristics({ // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立链接 deviceId: this.data.deviceId, serviceId: this.data.serviceId, success: (resCharacteristics) => { console.log("device getBLEDeviceCharacteristics:", resCharacteristics); for (let i = 0; i < resCharacteristics.characteristics.length; i++) { let item = resCharacteristics.characteristics[i]; console.log("characteristics-item", item); if (item.properties.notify) { wx.notifyBLECharacteristicValueChange({ state: true, // 启用 notify 功能 deviceId: this.data.deviceId, serviceId: this.data.serviceId, characteristicId: item.uuid, success: (res) => { console.log( "notifyBLECharacteristicValueChange success", res.errMsg ); }, fail: (err) => { console.log("notifyBLECharacteristicValueChange fail", err); }, }); } wx.onBLECharacteristicValueChange(function (res) { console.log( `characteristic ${ res.characteristicId } has changed, now is ${JSON.stringify(res)}` ); // console.log(ab2hex(res.value)) }); wx.readBLECharacteristicValue({ deviceId: this.data.deviceId, serviceId: this.data.serviceId, characteristicId: item.uuid, success: (rr) => { console.log("readBLECharacteristicValue", rr); }, }); } }, fail: (err) => { console.log("device getBLEDeviceCharacteristics-err:", err); }, });
2024-04-27 - 蓝牙调用createBLEConnection成功后,如何给设备发送json数据?
工具:微信开发者工具 背景:通过小程序蓝牙连接低功率设备,小程序获取wifi账号密码后,以json格式发送给设备,使之能够联网 问题: 目前发现writeBLECharacteristicValue只能写入二进制数据,不能写入json数据 1、是否有其他方式,在连接设备成功后,可以给蓝牙设备发送json格式数据 2、是否有其他方式可以使蓝牙设备连接wifi 第一次接触蓝牙和硬件交互,希望各位大佬不吝赐教
2024-04-25