仅限于 BLE 设备?
Posted
技术标签:
【中文标题】仅限于 BLE 设备?【英文标题】:Limit To BLE Devices? 【发布时间】:2017-11-01 07:03:42 【问题描述】:可以同时传输的 BLE(低功耗蓝牙)设备的数量是否有限制?
例如,如果我计划实施一个必须包含数千个 BLE 信标/iBeacon 的 IT 解决方案,那么监控所有这些信标会不会有问题?
它们的传输会相互干扰吗?
谢谢!
【问题讨论】:
【参考方案1】:BLE 设备使用多个射频频道进行广告,并改变其特定的数据包传输时间,以避免与同一频道上的其他 BLE 设备发生传输冲突。我已经成功地测试了这样的场景,其中有几十个信标同时可见,但是内置的防撞方法存在限制。
如果您希望在大约 50 米的相同传输半径内可以看到数百台设备,您可能会遇到麻烦。详情请见this discussion。
传输冲突将使检测每个信标所需的时间更长。 ios 上的 CoreLocation 和 android 信标库为每台设备提供每秒一次的测距更新,但您可能会发现这些更新中的每一个都只会包含较小比例的理论上可见的信标,因为冲突阻止了它们的许多数据包在一秒间隔。这完全取决于您的应用程序是否可以接受较低频率的更新。
在 iOS 和 Android 上,只要在任何给定时间只有几十个信标在范围内,监控如此大量的信标就没有问题。但是,在 iOS 上,您需要确保在所有信标中最多只使用 20 个 ProximityUUID,因为这是您可以在该平台上同时监控的最大信标区域数。
【讨论】:
感谢@davidgyoung 的回答。这个限制几乎给我的解决方案带来了麻烦。有没有办法将信标编程为仅按命令传输并停止按命令传输? 是的,这当然是可能的。使用充当信标的移动设备(iOS 或 Android)或笔记本电脑更容易做到这一点。也可以使用小型专用硬件信标,但这通常需要编写自定义固件。以上是关于仅限于 BLE 设备?的主要内容,如果未能解决你的问题,请参考以下文章
获取经典蓝牙连接设备列表(无BLE)[EAAccessoryManager]