iBeacon /发送者/接收者如何处理冲突?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iBeacon /发送者/接收者如何处理冲突?相关的知识,希望对你有一定的参考价值。

您在其广播范围内可以拥有的ibeacon的理论/实践极限是多少;必须有一个。他们该怎么办,如果有什么补偿措施,他们的信号应不断与另一个信号发生冲突,不确定他们是否知道?

假设您在同一个场所内有30个信标,例如在一个宽敞的开放空间中,它们每秒都传输一次,因此它们的信号发生碰撞的几率是1/2。实际上,这是如何工作的?

答案

没有硬性限制,但是当您在同一无线电范围内传输数百个信标时,您将开始看到性能下降。

信标密度有两个限制:

  1. 无线电冲突。

    蓝牙芯片组通过在广播数据包时稍微随机化,并在同一信道上检测到另一个信号时等待发送,从而避免了广告中的冲突。在高密度(范围内有100个发射机)时,这将开始减少发出的数据包数量,从而使信标接收机收到的数据包更少。首先,这意味着用于距离估计的样本更少[[产生较差的距离估计。最终,它导致检测延迟。参见:https://electronics.stackexchange.com/questions/21991/how-many-active-bluetooth-devices-can-i-reliably-detect-in-a-single-space
  2. [接收器处理限制。

  3. 当不同的接收器由于处理限制而无法跟上时,它们将开始丢弃蓝牙数据包。如@heypiotr所述,更快的处理器(在蓝牙芯片组和移动设备主CPU中)可以成功获取更多数据包并跟踪更多信标。 iPhone 4S设备可以追踪约100个信标,然后将其丢弃。较新的设备可以跟踪更多。
另一答案
根据我自己的经验,实际上是移动设备的硬件和计算能力限制了可发现的信标数量。我们过去已经对此进行过测试,例如iPhone 5C似乎可以同时处理80-100个蓝牙设备,而iPhone 6 Plus可以处理大约200个蓝牙设备。实际上,这意味着一旦达到极限,某些信标可能就不会被发现。

以上是关于iBeacon /发送者/接收者如何处理冲突?的主要内容,如果未能解决你的问题,请参考以下文章

安卓开发蓝牙接收数据,返回数据如何处理

javamail如何处理退信

如何处理和发送远程通知 Objective-C

如何处理 TCPClient 中接收到的数据? (德尔福 - 印地)

HashTables 如何处理冲突?

如何处理访问写入冲突错误? [复制]