我想通过iPhone(5s)上的应用程序一次性跟踪50-100米半径内的大量信标(〜500个)。 我已经查看了规格和在线信息,但我无法确定使用BLE同时跟踪的信标数量是否有限制。 请问是否存在跟踪信标数量的限制或者iPhone 5s是否能够胜任跟踪那么多信标的任务?
我想通过iPhone(5s)上的应用程序一次性跟踪50-100米半径内的大量信标(〜500个)。 我已经查看了规格和在线信息,但我无法确定使用BLE同时跟踪的信标数量是否有限制。 请问是否存在跟踪信标数量的限制或者iPhone 5s是否能够胜任跟踪那么多信标的任务?
你使用了track这个词,但是iOS有两种不同的方法:监测和测距。
你可以设置最多20个区域进行监测(在startMonitoringForRegion:方法的文档中找到)。如果你的应用程序处于后台,区域限制大部分情况下会发挥作用。当你进入或离开正在监测的区域时,操作系统会向您的应用程序发出警报(可能需要几分钟左右)。操作系统甚至会启动您的应用程序,只是为了让它知道发生了什么(但只有很短的时间)。
另一种方法是测距,它是为了查找设备蓝牙范围内的所有信标(通常在100英尺左右)。如果您的信标分散在100英里之外,那么您可能不会遇到任何实际限制。我没有找到任何关于这方面的文档,我只有四个测试信标,同时使用四个工作正常。
以下是处理您的情况的一种方法。使所有500个信标使用相同的UUID,并使用initWithProximityUUID:identifier:方法创建信标区域。(标识符仅供您使用 - 它不会影响任何内容)。开始监视该信标区域。这样,每当找到您的500个信标之一时,您的应用程序都会收到通知(可能需要几分钟左右)。一旦收到通知,您可以使用startRangingBeaconsInRegion:查找该区域周围的所有信标,然后使用主要和次要值来确定用户附近的哪些信标。