Ich bekomme nicht den richtigen Signalwert für den Abstand zwischen dem iPhone und dem Bluetooth-Gerät. Ich habe das Peripheral
Gerät mit dem folgenden Code verbunden.Ich bekomme nicht den richtigen Signalwert für den Abstand zwischen dem iPhone und dem Bluetooth-Gerät
- (void)centralManagerDidUpdateState:(CBCentralManager *)central{
if (central.state != CBCentralManagerStatePoweredOn) {
return;
}
switch (central.state) {
case CBCentralManagerStatePoweredOn:{
centmanager = central;
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
[centmanager scanForPeripheralsWithServices:nil options:options];
NSArray *uuidArray = @[uuid];
NSArray *itemArray = [central retrieveConnectedPeripheralsWithServices:uuidArray];
if ([itemArray count]>0) {
self.myPeripheral = [itemArray objectAtIndex:0];
[centmanager connectPeripheral:self.myPeripheral options:nil];
}
return;
}
break;
default:
break;
}
}
Und im Delegatmethode der CBCentralManagerDelegate
, bekam ich den RSSI
Wert, aber das ist nicht richtig und konsistent ist.
- (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) {
NSLog(@"\n\n Above reasonable range and Range ==>>> %d",RSSI.integerValue);
return;
}
// Reject if the signal strength is too low to be close enough (Close is around -22dB)
if (RSSI.integerValue < -35) {
NSLog(@"\n\n Out Of Range and Range ==>>> %d",RSSI.integerValue);
return;
}
}
Sind Sie für den RSSI-Wert des angeschlossenen Gerätes suchen oder die Geräte in der Nähe? - centralManager: didDiscoverPeripheral: advertisementData: Die RSSI: -Methode gibt den RSSI-Wert der gescannten Geräte zurück, nicht des verbundenen Geräts. – Krrish
Siehe http://stackoverflow.com/a/30174335/294949 – danh
@Krrish Vielen Dank für die freundliche Antwort. Wie erreiche ich die Entfernung des angeschlossenen Bluetooth-Geräts? –