iBeacons: 如何获取广播的信标功率(txPower)

3
iBeacons似乎广播它们的txPower参数(报告1米距离处的RSSI功率),用于计算beacon.accuracybeacon.proximity属性(有关iBeacon广告包的详细信息可以在此处找到)。 然而,CLBeacon类似乎没有txPower属性。是否有一种方法可以使用Core Location框架获取txPower,还是需要转向Core Bluetooth?我需要这样做的原因是,我想尝试使用自定义信标精度/接近度计算,以实现非常快速的信标立即范围发现。在这种情况下,从accuracy反向计算txPower没有帮助。
1个回答

3
很遗憾,无论是使用CoreLocation还是CoreBluetooth,都无法以编程方式获取此值。苹果公司阻止访问所有iBeacon数据,包括CoreBluetooth(请参见我对此的详细说明here)。同样,在CLBeacon类中也没有公开此值。
既然您说您不能进行反向计算,那么我能想到的唯一其他方法是:
  1. 使用Android、OSX Mavericks或Linux设备,这些设备不会限制读取此字段。
  2. 在iOS应用程序中创建一个查找表,列出所有iBeacons(具有唯一的UUID/major/minor值与其txPower值)
上述第二种方法显然需要为测试中的所有iBeacons分配唯一标识符。

定位应用在iOS中显示了txPower值。 您能指导一下他们是如何做到的吗? - Akhtar
1
作为 iOS Locate 应用程序的作者,我可以确认它不会从信标传输中读取 txPower。校准屏幕可让您计算应配置的 txPower。但它无法告诉您信标传输中已经是什么。 - davidgyoung

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接