藍(lán)牙庫

#import "BabyBluetooth.h"

-(void)viewDidLoad?{

[superviewDidLoad];

//初始化BabyBluetooth?藍(lán)牙庫

baby?=?[BabyBluetooth?shareBabyBluetooth];

//設(shè)置藍(lán)牙委托

[self?babyDelegate];

//設(shè)置委托后直接可以使用,無需等待CBCentralManagerStatePoweredOn狀態(tài)

baby.scanForPeripherals().begin()

}

//藍(lán)牙網(wǎng)關(guān)初始化和委托方法設(shè)置

-(void)babyDelegate{

//設(shè)置掃描到設(shè)備的委托

[baby?setBlockOnDiscoverToPeripherals:^(CBCentralManager?*central,?CBPeripheral?*peripheral,?NSDictionary?*advertisementData,?NSNumber?*RSSI)?{

NSLog(@"搜索到了設(shè)備:%@",peripheral.name);

}];

//設(shè)置設(shè)備連接成功的委托

[baby?setBlockOnConnected:^(CBCentralManager?*central,?CBPeripheral?*peripheral)?{

NSLog(@"設(shè)備:%@--連接成功",peripheral.name);

}];

//設(shè)置發(fā)現(xiàn)設(shè)備的Services的委托

[baby?setBlockOnDiscoverServices:^(CBPeripheral?*peripheral,?NSError?*error)?{

for(CBService?*serviceinperipheral.services)?{

NSLog(@"搜索到服務(wù):%@",service.UUID.UUIDString);

}

}];

//設(shè)置發(fā)現(xiàn)設(shè)service的Characteristics的委托

[baby?setBlockOnDiscoverCharacteristics:^(CBPeripheral?*peripheral,?CBService?*service,?NSError?*error)?{

NSLog(@"===service?name:%@",service.UUID);

for(CBCharacteristic?*cinservice.characteristics)?{

NSLog(@"charateristic?name?is?:%@",c.UUID);

}

}];

//設(shè)置讀取characteristics的委托

[baby?setBlockOnReadValueForCharacteristic:^(CBPeripheral?*peripheral,?CBCharacteristic?*characteristics,?NSError?*error)?{

NSLog(@"characteristic?name:%@?value?is:%@",characteristics.UUID,characteristics.value);

}];

//設(shè)置發(fā)現(xiàn)characteristics的descriptors的委托

[baby?setBlockOnDiscoverDescriptorsForCharacteristic:^(CBPeripheral?*peripheral,?CBCharacteristic?*characteristic,?NSError?*error)?{

NSLog(@"===characteristic?name:%@",characteristic.service.UUID);

for(CBDescriptor?*dincharacteristic.descriptors)?{

NSLog(@"CBDescriptor?name?is?:%@",d.UUID);

}

}];

//設(shè)置讀取Descriptor的委托

[baby?setBlockOnReadValueForDescriptors:^(CBPeripheral?*peripheral,?CBDescriptor?*descriptor,?NSError?*error)?{

NSLog(@"Descriptor?name:%@?value?is:%@",descriptor.characteristic.UUID,?descriptor.value);

}];

//過濾器

//設(shè)置查找設(shè)備的過濾器

[baby?setDiscoverPeripheralsFilter:^BOOL(NSString?*peripheralsFilter)?{

//設(shè)置查找規(guī)則是名稱大于1?,?the?search?rule?is?peripheral.name?length?>?1

if(peripheralsFilter.length?>1)?{

returnYES;

}

returnNO;

}];

//設(shè)置連接的設(shè)備的過濾器

__block?BOOL?isFirst?=?YES;

[baby?setFilterOnConnetToPeripherals:^BOOL(NSString?*peripheralName)?{

//這里的規(guī)則是:連接第一個(gè)AAA打頭的設(shè)備

if(isFirst?&&?[peripheralName?hasPrefix:@"AAA"]){

isFirst?=?NO;

returnYES;

}

returnNO;

}];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容