getBLEDeviceServices() {
let that = this
console.log('获取设备服务');
uni.getBLEDeviceServices({
deviceId: that.deviceId,
success: res => {
console.log('获取设备服务成功');
let services = res.services.filter(item => {return (item.uuid === bleServerUUID || item.uuid === omAServerUUID || item.uuid === omCServerUUID);})
for (let i = 0; i < services.length; i++) {
if (services[i].isPrimary) {
let uuid = services[i].uuid
that.getBLEDeviceCharacteristics(uuid)
}
}
},
})
},
// 获取设备特征值
getBLEDeviceCharacteristics(serviceID) {
let that = this
console.log('获取设备特征值');
uni.getBLEDeviceCharacteristics({
deviceId: that.deviceId,
serviceId: serviceID,
success: res => {
console.log('获取设备特征值成功');
console.log(res.characteristics, 8888);
console.log(this.deviceId, 9999);
const characteristics = res.characteristics;
for (let i = 0; i < characteristics.length; i++) {
let item = characteristics[i]
// 该特征值是否支持 notify或indicate 操作
// if (item.uuid == '000036F8-0000-1000-8000-00805F9B34FB') {
// readData = {
// deviceId: that.deviceId,
// serviceID: serviceID,
// characteristicID: item.uuid
// }
// timeIdFive = setTimeout(function() {
// console.log('开启notify');
// that.notifyBLECharacteristicValueChange()
// }, 200);
// }
if (item.uuid == '000036F6-0000-1000-8000-00805F9B34FB') {
readData = {
deviceId: that.deviceId,
serviceID: serviceID,
characteristicID: item.uuid
}
// timeIdFive = setTimeout(function() {
console.log('开启notify');
that.notifyBLECharacteristicValueChange()
// }, 200);
}
// 该特征值是否支持 write 操作
if (item.uuid == '000036F5-0000-1000-8000-00805F9B34FB') {
writeData = {
deviceId: that.deviceId,
serviceID: serviceID,
characteristicID: item.uuid
}
bleControl.connectStateListen(BLUE_STATE.WRITEREADY);
}
}
}
})
},
到uni.getBLEDeviceCharacteristics 成功后弹出蓝牙配对请求