您是否可以使用ibeacon(信标)向10英寸以内(25厘米或更短)的智能手机发送通知?可以像NFC一样接近吗?您是否需要信标的扫描间隔为100毫秒,或者您的扫描间隔是否接近1秒?
答案 0 :(得分:2)
理论上,您可以通过使用信标测距API并测量到信标的估计距离来实现此目的。但是有一些实际挑战会使其不如NFC可靠:
信标上的距离估计是基于蓝牙信号的RSSI,其由于噪声,多路径和障碍物的衰减而具有很大的变化。这些影响在近距离时较小,但<10>距离估计可能在0到20厘米之间。
由于上述变化,通常使用RSSI的20秒运行平均值来平滑距离估计。在Android上,可以使用Android Beacon Library进行配置,但在iOS CoreLocation
上则不能。 这意味着在移动设备接近信标后,距离估计需要20秒才能完全收敛到10厘米。
您提到的扫描间隔在iOS上无法配置 - 测距更新锁定在1Hz。 Android更灵活。更重要的是信标传输速率应该尽可能快 - 至少10Hz。由于RSSI测量的统计样本越来越多,这将使距离估计更加可靠。
同样,问题#2是iOS上最大的挑战。您可以通过不使用iBeacon API而使用不同的信标标准(例如AltBeacon)来避免它,这将允许您使用CoreBluetooth
API而不是CoreLocation
API。 (iOS阻止您看到带有CoreBluetooth
的iBeacons)。但是,这种方法要求您为信标解析和距离估计编写自定义代码。