在iOS中单独访问所有三个BLE广告频道
问题描述:
蓝牙低功耗使用40个频道,每个频宽为2 MHz,跨越 未经许可的2.4 GHz无线电频段。在40个频道中,BLE广告在三个频道上广播。这些广告频道名义上标记为37,38和39,并且分别在2402MHz,2426MHz和2480MHz处宽分布。在iOS中单独访问所有三个BLE广告频道
在iOS的核心位置,所有扫描的BLE信标都列在NSArray中,并且每个信标的RSSI值可以轻松访问。例如。
CLBeacon* beacon1 = [beacons firstObject]; NSNumber *RSSI = [NSNumber numberwithFloat:beacon1.RSSI];
这里,RSSI值是由CoreLocation提供的“平均”值。此外,此RSSI实时波动很多。
现在,我的查询是,是否有iOS(Objective-C)中的任何方法/框架来访问每个广告频道,以便我们可以从每个频道获取RSSI值?
已发布的期刊[http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7103024&tag=1]已经提供了来自所有三个广告频道的RSSI结果。该报称这个功能(单独访问三个广告频道)可在iOS 7.0之后使用。但是,我无法弄清楚在iOS中访问三个广告频道的确切方式。
预先感谢您。
答
一般来说,Apple不会透露这些信息。没有公共API可用于开发IOS的核心组件。因为,android是一个开源平台,我们可以找到许多用于访问传感器和每个组件的源代码,但这并非Apple的情况。此外,这可能是由于安全原因,苹果一直维持到今天。
没有公共的API会给你这个信息。 – Paulw11