ios BLE读取蓝牙地址

ios BLE读取蓝牙地址,第1张

参考资料:
下载代码

主要思路:

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);
    }
    ....
 }

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/993950.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存