2***@qq.com
2***@qq.com
  • 发布:2025-03-04 17:24
  • 更新:2025-03-04 17:24
  • 阅读:16

uni.onBLECharacteristicValueChange接收不到消息

分类:uni-app

启用低功耗蓝牙设备特征值变化时的 notify 功能 (人话:把这个打开)

deviceId,serviceId,characteristicId这三个值改为你需要回调监听的值

await uni.notifyBLECharacteristicValueChange({  
        state: true,  //设为true  
        deviceId,  
        serviceId,  
        characteristicId,  
})

打开这个监听

这里放一个,

uni.onBLECharacteristicValueChange(function (res) {  
  console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`)  
  console.log(ab2hex(res.value))  
})

接下来就是拿这个写入数据

写入一次没用!写入两次第二次监听uni.onBLECharacteristicValueChange中就有数据了

uni.writeBLECharacteristicValue({  
  deviceId,  
  serviceId,  
  characteristicId,  
  value: buffer,  
  success(res) {  
    console.log('writeBLECharacteristicValue success', res.errMsg)  
  }  
})

总结

开启uni.notifyBLECharacteristicValueChange,后放uni.onBLECharacteristicValueChange,然后写入两次 uni.writeBLECharacteristicValue,往后再进行写操作就不用发两次了,初始化第一次时需要发两次

0 关注 分享

要回复文章请先登录注册