7

iPhone の範囲内にある Bluetooth デバイスの信号強度を測定できますか?

基本的に私がやりたいことは、範囲内のデバイスのリストをスキャンして、どのデバイスが最も信号強度が高いかを確認することです。

iOSでそれは可能ですか?もしそうならどうすればいいですか?

4

3 に答える 3

5

はい、Bluetooth Low Energy (4.0) の信号強度を測定する方法があります。これは RSSI 番号です。周辺機器をスキャンするときは、以下に示すようにフラグ CBCentralManagerScanOptionAllowDuplicatesKey を YES に設定します。

NSDictionary * dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@YES, CBCentralManagerScanOptionAllowDuplicatesKey, nil];

// Start scanning for peripherals
[cmanager scanForPeripheralsWithServices:nil options:dictionary];

コードを記述せずに RSSI 番号が機能することを確認したい場合は、iTunesのアプリLightBlueをチェックしてください。周辺機器に接続すると、接続時に毎秒更新された RSSI 番号が表示されます。

于 2012-11-20T03:57:48.897 に答える
2

CoreBluetoothのドキュメントをご覧ください。

- (void)centralManager:(CBCentralManager *)central 
 didDiscoverPeripheral:(CBPeripheral *)peripheral 
     advertisementData:(NSDictionary *)advertisementData 
                  RSSI:(NSNumber *)RSSI
{ ... }

RSSIはあなたが探しているものです。免責事項: Core Bluetooth は、Bluetooth 4 LE 専用に作られています。

正確な範囲は重要ではないが、一般的に利用可能なデバイスのスキャンに関心がある場合は、github プロジェクトBeeTeeを参照してください。これにより、(Bluetooth LE だけでなく) 周囲のすべての Bluetooth デバイスをスキャンできます。再度免責事項: 私は BeeTee の作成者です。;-)

于 2015-10-21T07:35:34.457 に答える