在iOS

时间:2017-06-21 07:21:52

标签: ios objective-c bluetooth-lowenergy rssi

Bluetooth Low Energy使用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)中是否有任何方法/框架访问每个广告渠道,以便我们可以从每个渠道获得RSSI值?

已发布的期刊[http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7103024&tag=1]已提供来自所有三个广告渠道的RSSI结果。该论文称,iOS 7.0之后可以使用此功能(单独访问三个广告频道)。但是,我无法弄清楚在iOS中访问三个广告频道的确切方式。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

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