主要思路:
1,连接BLE
2,读取1803服务下面特征值2A23的数据
//扫描到services
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(nullable NSError *)error{
if(error){
NSLog(@"didDiscoverServices error");
return;
}
for (CBService *service in peripheral.services) {
//扫描每个service的characteristics
[peripheral discoverCharacteristics:nil forService:service];
}
}
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(nullable
{
...
for (CBCharacteristic *characteristic in service.characteristics) {
if([characteristic.UUID.UUIDString isEqualToString:@"2A23"]){
if (characteristic.properties & CBCharacteristicPropertyRead) {
NSLog(@"start read....");
[peripheral readValueForCharacteristic:characteristic];
}else{
NSLog(@"2A23不支持read");
}
}
}
...
}
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(nullable NSError *)error{
NSData *data = characteristic.value;
NSString *resultStr = [self hexStringFromNSdata:data];
if([characteristic.UUID isEqual:[CBUUID UUIDWithString:@"2A23"]]){
const Byte *bytes = [data bytes];
NSMutableString *str = [[NSMutableString alloc]
initWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",
bytes[7],bytes[6],bytes[5],
bytes[2],bytes[1],bytes[0]
];
NSLog(@"macString===>%@",str);
}
....
}