首先使用示例无特征值读取功能。把注释去掉读取特征值有问题,根本读不到,使用其他网友的例子,更是一直连接失败。能给个完整的蓝牙示例吗?到底是本身蓝牙函数有问题还是咋了?萌新表示不理解?如果蓝牙确实有问题无法进行数据通信,请明示!以下函数能读出值吗?
readBLECharacteristicValue() {
let deviceId = this.equipment[0].deviceId;
let serviceId = this.servicesData[0].uuid;
let characteristicId = this.characteristicsData[0].uuid;
console.log(deviceId);
console.log(serviceId);
console.log(characteristicId);
uni.readBLECharacteristicValue({
// 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
deviceId,
// 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
serviceId,
// 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
characteristicId,
success: res => {
console.log('读取设备数据值成功');
console.log(JSON.stringify(res));
this.notifyBLECharacteristicValueChange();
},
fail(e) {
console.log('读取设备数据值失败,错误码:' + e.errCode);
if (e.errCode !== 0) {
initTypes(e.errCode);
}
}
});
this.onBLECharacteristicValueChange();
},
1 个回复
l***@qq.com (作者)
事实证明蓝牙可以用,我已经把代码修改如下》》》》
以上代码改为如下,直接获取特征值:
其他修改如下: