代码如下:
在connect函数中调用getBleDeviceMsg写数据后应该要接受设备回复的,可始终都没有回复。
searchBle(){
var pg = this;
this.resetStatus();
wx.openBluetoothAdapter({
success:function(res){
console.log('初始化蓝牙成功:',res);
pg.startDiscovery();
},
fail:function(res){
console.log('初始化蓝牙失败:', res);
pg.setData({
bSearchError:true,
errMsg:'蓝牙设备初始化错误'
})
}
});
},
startDiscovery(){
var pg = this;
wx.startBluetoothDevicesDiscovery({
success:function(res){
console.log('start discovery success:',res);
wx.onBluetoothDeviceFound(function(res){
console.log('found new devices');
for(var i=0; i<res.devices.length; i++){
console.log(res.devices[i]);
console.log(res.devices[i].advertisServiceUUIDs);
console.log(res.devices[i].serviceData);
}
wx.stopBluetoothDevicesDiscovery({
fail:function(res){
console.log('stopBluetoothDevicesDiscovery error:',res);
}
});
var a = new Uint8Array(res.devices[0].advertisData);
console.log(a)
if(a[2] == 128){
pg.data.isBind = true;
console.log('already binded');
}
pg.setData({
deviceFound:res.devices[0],
bSearchOne:true,
});
wx.onBLEConnectionStateChange(function(res){
pg.setData({
bConnected:res.connected
});
console.log('connection state change to:',res.connected);
});
});
},
fail:function(res){
console.log('start discovery fail:', res);
},
services:['0000A201-0000-1000-8000-00805F9B34FB']
});
this.setData({
bSearching:true
});
},
connectBle(){
var that = this;
this.data.deviceFound.deviceUUID = "bc83912be7b75198";//假设我已经算出来了
this.data.key4 = this.genKey4()
wx.createBLEConnection({
deviceId:that.data.deviceFound.deviceId,
success(res){
console.log('连接成功');
that.setData({
bConnected:true
});
setTimeout(() => {
wx.getBLEDeviceServices({
deviceId: that.data.deviceFound.deviceId,
success:function(res){
for(var i=0; i<res.services.length; i++){
console.log('service:',res.services[i])
if (res.services[i].uuid.indexOf("1910") >= 0) {
that.data.serviceId = res.services[i].uuid;
wx.getBLEDeviceCharacteristics({
deviceId: that.data.deviceFound.deviceId,
serviceId: res.services[i].uuid,
success:function(res){
console.log('特征值:',res);
that.data.writeCharacteristicId = res.characteristics[0].uuid;
that.data.notifyCharacteristicId = res.characteristics[1].uuid;
wx.notifyBLECharacteristicValueChange({
deviceId: that.data.deviceFound.deviceId,
serviceId: that.data.serviceId,
characteristicId: that.data.notifyCharacteristicId,
state:true,
//type:'notification',
success:function(res){
console.log('notify set success');
//that.readBle();
wx.onBLECharacteristicValueChange((characteristics) => {
console.log("监听到特征值更新:")
});
that.getBleDeviceMsg();
},
fail: function(res){
console.log('notify failed : ',res)
}
});
},
fail:function(res){
console.log('getBLEDeviceCharacteristics error:',res)
}
});
}
}
},
fail:function(res){
console.log('get bledeviceservices error:',res);
}
})
},1000);
},
fail(res){
console.log('连接失败');
}
});
},

你好,请具体描述问题,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)