如何从核心蓝牙设备读取信息

我正在研究iOS核心蓝牙应用程序,我可以使用iPad3连接BLE设备。 我能够达到块didDiscoverServices ,但无法从这里开始。

我的问题是

  1. 我如何从蓝牙设备读取特征?
  2. 我怎样才能读取蓝牙设备的其他信息?

帮助我或提供任何build议。

感谢Wilhelmsen的回复。

我从提到的块得到了以下内容:

 [0] - Service : <CBConcreteService: 0x1769a0> UUID: Generic Attribute Profile [1] - Service : <CBConcreteService: 0x174470> UUID: Generic Access Profile [2] - Service : <CBConcreteService: 0x1744e0> UUID: Unknown (<00005301 00000041 4c505749 53450000>) Characteristic [0] - Characteristic : <CBConcreteCharacteristic: 0x15d410> UUID: Service Changed [0] - Characteristic : <CBConcreteCharacteristic: 0x1805b0> UUID: Device Name [1] - Characteristic : <CBConcreteCharacteristic: 0x1806a0> UUID: Appearence [0] - Characteristic : <CBConcreteCharacteristic: 0x183810> UUID: Unknown (<00004301 00000041 4c505749 53450000>) [1] - Characteristic : <CBConcreteCharacteristic: 0x1838a0> UUID: Unknown (<00004302 00000041 4c505749 53450000>) 

现在如何从didUpdateValueForCharacteristic块的这个特性中得到确切的值?

通过框架读一个不错的阅读。 如果你来到这里,你不应该有任何问题find“discoverCharacteristics”和外围代表callback“didDiscoverCharacteristic”。 您需要知道您想要发现的服务和特征的UUID,并将其应用于这些方法。

然后你可以读取'readValueForCharacteristic'和委托callback'didUpdateValueForCharacteristic'。

这是从我的手机发送的,所以我可能会编辑一点,当我到一台电脑。 希望能帮助到你

新的问题:

 [connectedPeripheral readValueForCharacteristic:wantedCharacteristic] 

和周边的代表

 - (void) peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{ NSLog(@"Characteristic value : %@ with ID %@", characteristic.value, characteristic.UUID); [delegate characteristicValueRead:characteristic.value]; } 

为我工作

你可以得到一个特性的价值

  NSString *value = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding]; NSLog(@"Value %@",value); 

只需使用https://github.com/LGBluetooth/LGBluetooth

  [LGUtils readDataFromCharactUUID:@"f045" seriveUUID:@"5ec0" peripheral:peripheral completion:^(NSData *data, NSError *error) { NSLog(@"Data : %s Error : %@", (char *)[data bytes], error); }];