У меня есть несколько подключенных устройств BLE, каждое из которых «уведомляет» об изменении состояния их батареи.
Как определить, какой BLE уведомляет о чтении данных после уведомления об изменении состояния?
// Instance method to get the battery state
- (void) getBattery:(CBCharacteristic *)characteristic
{
//----------------
NSLog(@"getBattery");
//----------------
{
// Get the Battery Data
NSLog(@"Battery Level is : %@ (HEX)" , characteristic.value);
}
}
Это код, считывающий данные при уведомлении...
Спасибо за ваш ответ, но, похоже, я получаю данные только от последней настройки службы для уведомления. Вот код вызова для Notify...
Привет, это здорово. Я могу определить устройство, уведомляющее об изменении данных.
Но похоже, что мой код уведомляет и собирает данные только по последней идентифицированной характеристике.
Вот код вызова:
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
// Retrieve the characteristic value for battery
if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:SR1_DEVICE_BATTERY_LEVEL_SERVICE_UUID]]) {
[self getBattery:characteristic];
}
}