收藏
回答

蓝牙调试返回10005错误

开发者工具为最新版本


读取service


读取characteristics


发送函数


wxml

回答关注问题邀请回答
收藏

8 个回答

  • 永远的永_中华的华
    永远的永_中华的华
    2017-10-17

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

    2017-10-17
    有用
    回复
  • 王翊夫if
    王翊夫if
    2017-10-17
    10005no characteristic没有找到指定特征值

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

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

    2017-10-17
    有用
    回复
  • 永远的永_中华的华
    永远的永_中华的华
    2017-10-17

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


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

    2017-10-17
    有用
    回复
  • 王翊夫if
    王翊夫if
    2017-10-17

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


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

        that.setData({

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

            writeCharacteristicsId:res.characteristics[i].uuid

        })

    2017-10-17
    有用
    回复
  • 永远的永_中华的华
    永远的永_中华的华
    2017-10-17

    那么我怎么改一下好呐?

    deviceId:res.services

    这样子也不行呀

    2017-10-17
    有用
    回复
  • 王翊夫if
    王翊夫if
    2017-10-17

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


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



    2017-10-17
    有用
    回复
  • 永远的永_中华的华
    永远的永_中华的华
    2017-10-17

    是在发送的时候返回的



    2017-10-17
    有用
    回复
  • 王翊夫if
    王翊夫if
    2017-10-17

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

    2017-10-17
    有用
    回复
登录 后发表内容