在 iOS 中分别访问所有三个 BLE 广告通道
Accessing all three BLE advertisement channels individually in iOS
低功耗蓝牙使用 40 个通道,每个通道 2 MHz 宽,跨越
未经许可的 2.4 GHz 无线电频段。在 40 个频道中,BLE 广告在三个频道播放。这些广告频道名义上标记为 37、38 和 39,并且间隔很宽,分别为 2402 MHz、2426 MHz 和 2480 MHz。
在 iOS 的核心位置,所有扫描到的 BLE 信标都列在一个 NSArray 中,并且可以轻松访问每个信标的 RSSI 值。例如
CLBeacon* beacon1 = [beacons firstObject]; NSNumber *RSSI = [NSNumber numberwithFloat:beacon1.RSSI];
这里的RSSI值是CoreLocation提供的'averaged'值。此外,此 RSSI 实时波动很大。
现在,我的问题是,iOS (objective-C) 中是否有任何 methods/frameworks 来访问每个广告频道,以便我们可以从每个频道获取 RSSI 值?
已发表的期刊 [http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7103024&tag=1] 提供了所有三个广告渠道的 RSSI 结果。论文说这个功能(分别访问三个广告频道)在iOS 7.0之后可用。但是,我无法弄清楚访问iOS中三个广告频道的确切方法。
提前致谢。
一般情况下,Apple 不会透露此类信息。没有publicAPI可以开发IOS的核心组件。由于 android 是一个开源平台,我们可以找到许多用于访问传感器和每个组件的源代码,但 Apple 却没有。此外,这可能是由于安全原因,苹果一直保持到今天。
低功耗蓝牙使用 40 个通道,每个通道 2 MHz 宽,跨越 未经许可的 2.4 GHz 无线电频段。在 40 个频道中,BLE 广告在三个频道播放。这些广告频道名义上标记为 37、38 和 39,并且间隔很宽,分别为 2402 MHz、2426 MHz 和 2480 MHz。
在 iOS 的核心位置,所有扫描到的 BLE 信标都列在一个 NSArray 中,并且可以轻松访问每个信标的 RSSI 值。例如
CLBeacon* beacon1 = [beacons firstObject]; NSNumber *RSSI = [NSNumber numberwithFloat:beacon1.RSSI];
这里的RSSI值是CoreLocation提供的'averaged'值。此外,此 RSSI 实时波动很大。
现在,我的问题是,iOS (objective-C) 中是否有任何 methods/frameworks 来访问每个广告频道,以便我们可以从每个频道获取 RSSI 值?
已发表的期刊 [http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7103024&tag=1] 提供了所有三个广告渠道的 RSSI 结果。论文说这个功能(分别访问三个广告频道)在iOS 7.0之后可用。但是,我无法弄清楚访问iOS中三个广告频道的确切方法。
提前致谢。
一般情况下,Apple 不会透露此类信息。没有publicAPI可以开发IOS的核心组件。由于 android 是一个开源平台,我们可以找到许多用于访问传感器和每个组件的源代码,但 Apple 却没有。此外,这可能是由于安全原因,苹果一直保持到今天。