iOS藍芽開發 CoreBluetooth

2021-07-12 04:48:22 字數 3117 閱讀 2140

看了幾天的關於ios藍芽的資料,總的來說,用起來挺麻煩的 xxd。。

(corebluetooth框架用的 4.0  ble協議--buletouch low energy​)

corebluetooth框架的核心其實有兩個東西,central(中心)和peripheral(外設)。分別對應兩種模式:central模式言歸正傳,如何通過藍芽傳遞資料?一般的外設要建立乙個以上服務​service,

每個服務裡面包括乙個以上特徵characteristic,每個特徵裡面包括乙個或多個描述description。服務service相當於api介面, 特徵characteristic就是我們傳遞資料的地方,描述description是用來描述每個特徵的資訊或屬性。

#import​    //先載入標頭檔案

@inte***ce viewcontroller ()cbperipheraldelegate>

- (void)viewdidload ​

//**方法:centralmanager成功開啟,會觸發這個方法

-(void)centralmanagerdidupdatestate:(cbcentralmanager *)central​

}

//掃瞄到裝置會進入此方法

-(void)centralmanager:(cbcentralmanager *)central diddiscoverperipheral:(cbperipheral *)peripheral advertisementdata:(nsdictionary *)advertisementdata rssi:(nsnumber *)rssi

//連線到peripherals-成功

- (void)centralmanager:(cbcentralmanager *)central didconnectperipheral:(cbperipheral *)peripheral

//掃瞄到services

-(void)peripheral:(cbperipheral *)peripheral diddiscoverservices:(nserror *)error

}

//掃瞄到characteristics

-(void)peripheral:(cbperipheral *)peripheral diddiscovercharacteristicsforservice:(cbservice *)service error:(nserror *)error

//5⃣️獲取characteristic的值,讀到資料會進入方法:-(void)peripheral:(cbperipheral *)peripheral didupdatevalueforcharacteristic:

for (cbcharacteristic *characteristic in service.characteristics)

//7⃣️搜尋characteristic的descriptors

for (cbcharacteristic *characteristic in service.characteristics)

}

//6⃣️獲取到characteristic的值

-(void)peripheral:(cbperipheral *)peripheral didupdatevalueforcharacteristic:(cbcharacteristic *)characteristic error:(nserror *)error

//8⃣️搜尋到characteristic的descriptors

-(void)peripheral:(cbperipheral *)peripheral diddiscoverdescriptorsforcharacteristic:(cbcharacteristic *)characteristic error:(nserror *)error

}

//9⃣️獲取到descriptors的值

-(void)peripheral:(cbperipheral *)peripheral didupdatevaluefordescriptor:(cbdescriptor *)descriptor error:(nserror *)error

//寫資料到characteristic中

[peripheral writevalue:value forcharacteristic:characteristic type:cbcharacteristicwritewithresponse];

//設定通知,一有資料通知會進入:didupdatevalueforcharacteristic方法 [peripheral setnotifyvalue:yes forcharacteristic:characteristic];

//停止掃瞄

[centralmanager stopscan];

//斷開連線

[centralmanager cancelperipheralconnection:peripheral];

iOS藍芽開發

直接看 首先推薦去看官方文件哦 現將建立藍芽工程的要點總結一下,由於工程主要涉及中心模式,所以只總結中心模式的用法 1,引入corebluetooth.framework 2,實現藍芽協議,如 h檔案如下 protocol cbcentralmanagerdelegate protocol cbpe...

iOS藍芽開發

藍芽開發的流程 建立中心管理 cbcentralmanager 掃瞄外部裝置 連線外部裝置 掃瞄服務和特徵 資料互動 斷開連線 1 倒入 接下來的 如下 property nonatomic,strong cbperipheral peripheral 中心管家 property nonatomic...

iOS開發 GameKit藍芽開發

藍芽4.0是2012年最新藍芽版本,是3.0的公升級版本 較3.0版本更省電 成本低 3毫秒低延遲 超長有效連線距離 aes 128加密等 通常用在藍芽耳機 藍芽音箱等裝置上。藍芽技術聯盟 bluetooth sig 2010年7月7日宣布,正式採納藍芽4.0核心規範 bluetooth core ...