收藏
回答

小程序BLE主机,连接多个外围设备,并发通信发数据卡顿怎么解决?

小程序按照官方BLE主机连接从机的流程,对多个BLE设备(4台)进行连接通信,

安卓手机调试时,每个设备连接过程都进行了MTU协商256字节;

苹果手机调试时,每个设备连接过程都进行了MTU协商,协商的字节数根据苹果机的官方要求不超过158字节。

保持连接从设备期间,同时向多个从设备下发BLE数据,调用小程序API接口:

wx.writeBLECharacteristicValue({
          deviceId,
          serviceId,
          characteristicId: item.uuid,
          value: buffer,
        })

实际操作过程中,出现不同现象的卡顿、异常、截止情况:

1、四个设备当中,第一设备可以正常完整下发,到第二个设备时,出现不少于1分钟的卡顿(期间不做任何操作,完全静置手机),长时间卡顿后,第二个设备的数据才继续往下发送;

2、出现卡顿时,小程序的wx.writeBLECharacteristicValue接口,完全不执行任何回调,success、fail、complete三个回调都不执行,超过1分钟后,才恢复正常,没有任何报错,而是按照代码逻辑继续往下;

3、以上的操作如果设备过多,则出现卡顿更为严重。


请问官方的技术团队,小程序BLE主机,多连接从设备,保持连接并且下发数据,技术上是否支持?是否有相应的前提条件约束?如果说不能过于频繁调用wx.writeBLECharacteristicValue接口下发,那么应该做什么样的时间间隔更稳妥?

回答关注问题邀请回答
收藏
登录 后发表内容