蓝牙调试返回10005错误
发布于 4 年前 作者 min91 3611 次浏览 来自 问答

开发者工具为最新版本

读取service

读取characteristics

发送函数

wxml

8 回复

是在发送的时候返回的

问题应该在这里, 你调用 wx.getBLEDeviceCharacteristics 传入的serviceId是 service[1] , 获取到write用的特征值后, setData 是将 sevice[i] 作为 write 用的 service,这里 i 应该不等于 1,因此你 getBLEDeviceCharacteristics 的 service 与 你的 writeServceiId 不是同一个 service

因此导致你调用 write 的时候,会发现你 writeServceiId 对应的 service 没有这个特征值。

我的需求是按一个按钮往蓝牙里面发一个数据

这就是我之前的版本,,,but  也会报错 10005

那么我怎么改一下好呐?

deviceId:res.services

这样子也不行呀

我把service返回的值都是了一便,,还是不行,,,,

10005no characteristic没有找到指定特征值

你多打点日志排查一下问题吧,从错误码上看就是你传入的serviceId对应的service没有你传入的charId对应的特征值。

确定下 getBLEDeviceCharacteristics 传入的 serviceId 与res中拿到的 write charId 就是调用  wx.writeBLECharacteristicValue 传入的 serviceId 与 charId。

这得看你需求呀,如果你就是对 service[1] 上的特征值执行写操作,那你setData的时候也要固定用service[1]来设置呀

if(res.characteristics[i].properties.write) {

    that.setData({

        writeServicweid:that.data.services[1].uuid,

        writeCharacteristicsId:res.characteristics[i].uuid

    })

你好,请问 10005 是在哪一步返回的

回到顶部