Bluetoothで接続された2つのiPhoneデバイスがあります。それらのデバイス間で信号強度を取得することは可能ですか?可能であれば、どのように?ありがとう、KD
質問する
5460 次
1 に答える
8
Bluetoothを介してあるデバイスから別のデバイスにデータを転送するためのAppleサンプルプロジェクトをご覧ください。 BTLEAppleサンプルコード
RSSI(受信信号強度表示)の値で信号強度を知ることができます
サンプルコードでは、データを受信したときにRSSI値を取得します。ProjectのBTLECentralViewController.mで次のメソッドを確認します。
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
// Reject any where the value is above reasonable range
if (RSSI.integerValue > -15) {
return;
}
// Reject if the signal strength is too low to be close enough (Close is around -22dB)
if (RSSI.integerValue < -35) {
return;
}
NSLog(@"Discovered %@ at %@", peripheral.name, RSSI);
// Ok, it's in range - have we already seen it?
if (self.discoveredPeripheral != peripheral) {
// Save a local copy of the peripheral, so CoreBluetooth doesn't get rid of it
self.discoveredPeripheral = peripheral;
// And connect
NSLog(@"Connecting to peripheral %@", peripheral);
[self.centralManager connectPeripheral:peripheral options:nil];
}
}
uが別のデバイスによる広告からデータを受信するたび。このuからRSSI値を受け取り、デバイスの強度と範囲を見つけることができます。
WikiのRSSIの詳細もご覧ください
これがお役に立てば幸いです。
于 2013-01-29T19:36:52.737 に答える