在 iOS 中分别访问所有三个 BLE 广告通道



低功耗蓝牙使用 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 提供的"平均值"。此外,此RSSI实时波动很大。

现在,我的问题是,iOS (objective-C) 中是否有任何方法/框架可以访问每个广告通道,以便我们可以从每个通道获取 RSSI 值?

一份已出版的期刊[http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7103024&tag=1]介绍了所有三个广告渠道的RSSI结果。该论文称,此功能(分别访问三个广告渠道)在iOS 7.0之后可用。但是,我无法弄清楚在iOS中访问三个广告频道的确切方式。

提前谢谢你。

一般来说,苹果不会披露这类信息。没有公共 API 可用于开发 IOS 的核心组件。由于android是一个开源平台,因此我们可以找到许多用于访问传感器和每个组件的源代码,但Apple的情况并非如此。此外,这可能是由于安全的原因,苹果一直保持到今天。

最新更新