收藏
回答

关于wx.startBluetoothDevicesDiscovery蓝牙扫描广播是否存在漏包?

测试方法:蓝牙设备每秒广播一次,且数据自增0.1。

现象:调试时发现大概5秒才会接收到一次广播数据。

已排出蓝牙设备本身问题,因为用其他蓝牙调试工具检测可以测出每秒广播一次

function startBluetoothDevicesDiscovery(callback){
if (!bleState.discoverStarted){
//deviceList = []
//调用扫描接口
setTimeout(()=>{
wx.startBluetoothDevicesDiscovery({
allowDuplicatesKey: true,
interval: 1000,
success: function (res) {
bleState.discoverStarted = true
//callback(false, '正在扫描')
//接口调用成功,设置监听事件
onBluetoothDeviceFound(callback)
},
fail: function (res) {
bleState.discoverStarted = false
startBluetoothDevicesDiscovery(callback)
}
})
},1000)
}
}
最后一次编辑于  2020-03-11
回答关注问题邀请回答
收藏

2 个回答

  • 胡善学
    胡善学
    2020-05-22

    使用demo里面的搜索蓝牙设备,很多手机的蓝牙(有名称的)都搜不到,对应手机的定位也开启了。

    是有专门的设置吗?我加了powerLevel: "high",仍然搜不到。

    2020-05-22
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-03-11

    你好,是安卓还是ios呢?麻烦再重现一次,在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

    2020-03-11
    有用
    回复 12
    • 许森炫
      许森炫
      2020-03-12
      安卓9,已上传日志,时间点是03-12 11:23-11:28这段时间。微信号senxuan001
      2020-03-12
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2020-03-12回复许森炫
      建议在startBluetoothDevicesDiscovery上加个参数powerLevel: "high"试试
      2020-03-12
      回复
    • 许森炫
      许森炫
      2020-03-12回复疯狂的小辣椒
      修改过后好了许多了。不过在其他的安卓手机上还是会比较大的漏包现象,大概要4 5秒才有一次。现在测试正常的手机是小米8(安卓9),测试有问题的手机是VIVO Y85A(安卓8.1.0),OPPOA5(安卓8.1.0)
      2020-03-12
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2020-03-12回复许森炫
      麻烦确认下,异常手机上,其他蓝牙扫描工具是否是正常的?
      2020-03-12
      回复
    • gufs镜像
      gufs镜像
      2020-04-02回复疯狂的小辣椒
      加了powerLevel: "high",丢包的概率变小了,但是依然有丢包的情况。收到的广播报文数量,还是比串口工具少!
      2020-04-02
      回复
    查看更多(7)
登录 后发表内容
问题标签