Parse Your BLE Peripheral Device Characteristic in HEX String

#pragma mark – Peripheral Delegates

- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
if (error)
NSLog(@"Error reading BLE data: %@",[error localizedDescription]);
else
[self parseBLEMessage:characteristic.value];
}

- (void)parseBLEMessage:(NSData*)pobjData
{
NSData *objData = pobjData;
NSString *strValue = [getHexString:objdata];
}

-(NSString*)getHexString:(NSData*)pdata
{
NSMutableString *sbuf;
NSUInteger capacity = self.length * 2;
sbuf = [NSMutableString stringWithCapacity:capacity];
const unsigned char *buf = self.bytes;
NSInteger i;

for (i = 0; i < self.length; ++i)
{
//[sbuf appendFormat:@"%02lx ", (unsigned long)buf[i]];
[sbuf appendFormat:@"%lx ", (unsigned long)buf[i]];
}
return sbuf;
}

You may also like

Leave a Reply