iBeacon问题。这可能吗..
我可以在一个10英尺乘25英尺的舞台的角落上使用4个iBeacon。这是使用所以我可以检测应用程序中的这个阶段区域。 (4个iBeacon需要这样做还是可以用3完成?)
我然后需要应用程序来检测2件事......
应用程序需要检测它是在区域的内部还是外部,以及它与区域外的区域以及区域的哪个区域有多接近。
如果第5个iBeacon进入该区域,该应用程序是否可以检测到前4个iBeacon设置的舞台区域内有单独的iBeacon。
E.g。你应用程序通过使用4个iBeacon来告诉你前面有一个舞台和舞台的相关位置。该应用程序然后告诉您现在有另外5个iBeacon进入舞台并且它在舞台上的位置。然后,应用程序可以检测到第5个iBeacon现已离开舞台。
这可能吗?
答案 0 :(得分:1)
是的,只要每个信标都有唯一的标识符,您就可以。我很可能将信标配置为:
如果你使用CoreLocation' locationManager:didRangeBeacons:inRegion:,代表会给你一个回调,它包含当前可以看到的所有信标。您可以使用它来跟踪您自己的信标列表,看看是否出现了新的信标。
示例代码可能如下所示:
- (void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(CLBeaconRegion *)region
{
for (CLBeacon *beacon in beacons)
{
// TODO: Handle each beacon logic here
}
// TODO: Clean up any stale beacons here (e.g. remove old beacons)
}
```
答案 1 :(得分:1)
csexton的答案在多个信标范围方面是正确的,但您可能难以使用多个信标准确地确定10' x25'阶段。
iBeacon距离计算基于接收信号强度,并且受到吸收无线电信号的事物(例如人)的影响很大。 iPhone没有定向蓝牙天线,因此它无法对接收到的信号进行三角测量,因此这意味着如果正在接收阶段左边缘的信标,则应用程序不会被激活知道该设备是在舞台上,在iBeacon的右侧,还是在观众的舞台上。
我猜你所能做的就是尝试。