信标区域的 iBeacon 监控模式接近度
Posted
技术标签:
【中文标题】信标区域的 iBeacon 监控模式接近度【英文标题】:iBeacon monitoring mode proximity for beacon region 【发布时间】:2017-06-26 11:10:05 【问题描述】:我对监控模式下的 iBeacons 有疑问。如果设备在信标附近 1-2m 处,我想与发送给用户的通知进行交互。
以前有个函数叫:
var radius: CLLocationDistance get
现在已弃用,因此无法设置信标区域的范围。 所以无法配置内部、外部、未知的不同状态。大多数远程信标的区域超过 60m,这使得该区域对于您家中的任何交互都很大。
我要做的就是将我通过 AT 命令使用的 BLE 芯片的功率降低到 -4hz。现在跨度在 3-4m 左右,这更好一点仍然不是我想要的。我试过用锡罐来进一步降低信号,但这并没有太大的区别。甚至是 BLE 芯片周围的锡箔。
有人找到指定 Beacon 区域的方法吗?使用此功能触发内部区域所需的接近度:
func locationManager(_ manager: CLLocationManager, didDetermineState state: CLRegionState, for beaconRegion: CLRegion)
测距模式似乎不能与监控结合使用,所以我不能使用接近度,否则这将是一个解决方案。
func update(distance: CLProximity)
【问题讨论】:
"与对区域的一般理解相反,信标区域不由任何地理属性定义,例如 GPS 数据或纬度和经度。相反,它具有与信标相同的三个值:UUID、主要和次要(在此处阅读有关它们的更多信息)。因此,区域的物理表示是该区域中所有信标的范围。 (community.estimote.com/hc/en-us/articles/…) ***.com/questions/23392665/… 【参考方案1】:几点:
你说得对,不能设置信标监控范围。
radius
字段从来不是为信标监控而设计的,而是为地理围栏而设计的,因此它永远无法满足您的需求。
降低发射器功率通常不可靠,因为如您所见,您无法很好地控制触发距离,这会导致触发发生的距离出现很大差异。
李>测距确实与监控结合使用,但有一些限制,因此这是实现您想要的最佳技术。
我已在对此related question 的回答中更详细地描述了该技术。
【讨论】:
以上是关于信标区域的 iBeacon 监控模式接近度的主要内容,如果未能解决你的问题,请参考以下文章
iBeacon 监控不适用于 Cordova-plugin-ibeacon