微信的锅,它只到了uuid层,下面的特征值描述符的写入接口没做出来。 https://developers.weixin.qq.com/community/develop/doc/00080c75b983606f972c2c7325c800 我们的解决办法是重写了蓝牙ble的核心代码,只启动了notify。 要知道蓝牙几十万行代码啊,又是单片机开发。这个难度简直搞死人。
ble蓝牙开启indicate一个蓝牙设备,用nRF Connect APP连接查看蓝牙属性indicate是开启的,但是用在小程序里面调试打印出来还是开启的notify,indicate并没有开启。这是什么原因呢? nRF Connect App截图如下: [图片] 开发者工具截图如下: [图片]
2022-03-27https://developers.weixin.qq.com/community/develop/doc/00080c75b983606f972c2c7325c800 这个链接是我测试时候也发现的。而且我发现最早在19年就有人反应过这个问题。 而至今微信官方也没实现这个接口。估计是不想搞了。 如果是安卓app。他们直接调用我上面这个链接里面的接口。做一个跳转就行的。苹果手机的话。应该也有这个接口。做一下跳转就行的事。
小程序蓝牙如何读取写入特征描述符?不是特征值,是特征描述符,wx.writeBLECharacteristicValue和wx.readBLECharacteristicValue可以读取写入特征值,但是微信文档里并没有提供特征描述符相关的API,我在安卓APP<nRFF Connect>工具里是可以进行读写的,证明安卓有这个功能,微信小程序似乎没有开放这个功能?[图片]
2021-05-25安卓app开发的时候经过多次调试。发现必须这样搞才能读取到数据。
BLE设备indicate开启,需要使用descriptor。希望微信提供该接口?[图片] 我是从安卓app迁移过来的。安卓测试正常。 如图中的ble设备,开启indicate,需要调用descriptor,向对应的uuid 0x2902写入一个字符才能启动incicate 和notify的通知。不然读取不到数据。 [图片] [图片] 上图是安卓app的通知启用部分的代码。必须加上如上图的代码才能正常通讯。而微信小程序没有提供descriptor的操作
2021-05-19