Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS:当房间里有20多台BLE设备时,是否连接到该设备?_Ios_Bluetooth_Bluetooth Lowenergy - Fatal编程技术网

iOS:当房间里有20多台BLE设备时,是否连接到该设备?

iOS:当房间里有20多台BLE设备时,是否连接到该设备?,ios,bluetooth,bluetooth-lowenergy,Ios,Bluetooth,Bluetooth Lowenergy,我正在开发一个iOS应用程序,它可以连接到某种类型的BLE设备,但我正在一个房间里编写代码,这个房间里有20多台这样的设备,它们都处于通电状态。我总是发现,早上我可以很好地连接到我的个人设备,但随着时间的推移,连接到我的设备变得不可能了,好像20多台其他设备不知何故被唤醒并阻塞了我的信号。没有人在使用这些设备中的大部分;他们只是坐在桌子上。这是已知的bug吗?苹果正在做吗?所有的设备都在做广告吗? 如果他们用20毫秒做广告,那么很难听到所有人的声音。只有3个广告频道可供所有设备共享。这种连接发生

我正在开发一个iOS应用程序,它可以连接到某种类型的BLE设备,但我正在一个房间里编写代码,这个房间里有20多台这样的设备,它们都处于通电状态。我总是发现,早上我可以很好地连接到我的个人设备,但随着时间的推移,连接到我的设备变得不可能了,好像20多台其他设备不知何故被唤醒并阻塞了我的信号。没有人在使用这些设备中的大部分;他们只是坐在桌子上。这是已知的bug吗?苹果正在做吗?

所有的设备都在做广告吗? 如果他们用20毫秒做广告,那么很难听到所有人的声音。只有3个广告频道可供所有设备共享。这种连接发生在外设播放自己的广告后收听的同一频道上,以了解是否有人想要连接

这与苹果的核心蓝牙无关。根据我的经验,在连接成功并且活动转移到流量通道后,CoreBluetooth可以处理大约20台设备

1尝试使用较慢的广告时间间隔。如果你的应用在前台,这应该可以正常工作。 2使用BLE嗅探器TI USB加密狗是好的,如果在协议级别连接失败,那么这不是核心蓝牙的故障。 3仅在需要或确实需要快速发现时,以快速间隔发布广告

根据经验,苹果公司需要在后台模式下发布多达55条广告,才能在设备唯一可见时看到它。因此,如果你真的需要大约1.1秒的发现,那么你可能需要20毫秒的广告间隔,否则使用100毫秒甚至更多。有关优化发现的确切数字,请参阅《苹果广告间隔指南》 100ms提供了更大的容量,而且发现性能也不错。 1-2秒电池寿命更长,如果你的应用在后台,1-2分钟就能找到。这对商场或类似场所的眼球反应非常好,而在较小的区域,你可能需要100-200毫秒