收藏
回答

BLE设备indicate开启,需要使用descriptor。希望微信提供该接口?

我是从安卓app迁移过来的。安卓测试正常。

如图中的ble设备,开启indicate,需要调用descriptor,向对应的uuid 0x2902写入一个字符才能启动incicate 和notify的通知。不然读取不到数据。

上图是安卓app的通知启用部分的代码。必须加上如上图的代码才能正常通讯。而微信小程序没有提供descriptor的操作

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

2 个回答

  • 老沈
    老沈
    发表于移动端
    2021-05-19
    门小
    2021-05-19
    有用
    回复 9
    • A00锂电池保护板15183022214
      A00锂电池保护板15183022214
      2021-05-19
      请问一下这是什么意思?我安卓app测试正常。小程序通讯不成功。
      2021-05-19
      回复
    • Cjiang
      Cjiang
      2021-05-20回复A00锂电池保护板15183022214
      indicate的实现在notifyBLECharacteristicValueChange内部已经做了
      2021-05-20
      回复
    • A00锂电池保护板15183022214
      A00锂电池保护板15183022214
      2021-05-20回复Cjiang
      可惜根据我安卓的测试。必须像心率检测那样。从descriptor那里写一个数据过去。在安卓测试的时候启用indicate也没用。小程序也是光启用notify 和indicate 也是没用的。以前调试安卓的时候测试过很多次。
      2021-05-20
      回复
    • A00锂电池保护板15183022214
      A00锂电池保护板15183022214
      发表于移动端
      2021-05-20回复Cjiang
      我在安卓app和小程序都测试过了。如果只启用通知功能。是读取不到的。我这边有用两种蓝牙模块。一种,直接启用notify就行。可以直接读取到通知。第二种蓝牙模块。就在安卓测试了。必须在descriptor.uuid:0x00002902.xxxxxx的一个接口发送0x01,0x00。notify才读取得到信息。不知道模块内部是怎么实现的
      2021-05-20
      回复
    • Cjiang
      Cjiang
      2021-05-20回复A00锂电池保护板15183022214
      escriptor这一步在小程序的接口实现上已经做了;如果有表现问题,也不是这一步没做导致的
      2021-05-20
      回复
    查看更多(4)
  • A00锂电池保护板15183022214
    A00锂电池保护板15183022214
    2021-05-19

    安卓app开发的时候经过多次调试。发现必须这样搞才能读取到数据。

    2021-05-19
    有用
    回复 4
    • 明明明
      明明明
      2022-03-07
      哥哥 后来怎么解决的呀。我也遇到这个问题了
      2022-03-07
      回复
    • A00锂电池保护板15183022214
      A00锂电池保护板15183022214
      2022-03-26回复明明明
      我直接重写了ble蓝牙的代码。只启动了notify。关闭了indicate。搞这个的前提是你有蓝牙芯片的源代码。以及会单片机编程。这个贼麻烦。
      2022-03-26
      回复
    • A00锂电池保护板15183022214
      A00锂电池保护板15183022214
      2022-03-26回复明明明
      我后面改不了微信这个代码。不得不重头研发蓝牙芯片。然后自己改了这里的代码才成功的。当然了。蓝牙几十万行代码也被被逼学习。加入了一些自己的功能进去。
      2022-03-26
      1
      回复
    • 明明明
      明明明
      2022-08-25回复A00锂电池保护板15183022214
      完美
      2022-08-25
      回复
登录 后发表内容