Я ищу способ подключения только к ближайшему периферийному устройству на основе RSSI. Моя цель - оставить список других периферийных устройств, но иметь только самое близкое периферийное соединение.
Поскольку RSSI доступен только пока устройство подключено, имеет ли смысл подождать, пока все устройства будут подключены, затем определить ближайшее периферийное устройство на основе RSSI, а затем отключить остальные?
Соединять
- (void) connectToPeripheral:(CBPeripheral *)peripheral
{
NSDictionary * options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:FALSE],CBConnectPeripheralOptionNotifyOnDisconnectionKey,nil];
[myCBCentralManager connectPeripheral:peripheral options:options];
}
Делегаты использовали
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error;
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral;
CBPeripheral
/*!
* @property RSSI
*
* @discussion While connected, the RSSI of the link in decibels.
*/
@property(retain, readonly) NSNumber *RSSI;