CoreBluetooth藍(lán)牙開發(fā)(一)

關(guān)于藍(lán)牙歷史
在藍(lán)牙4.0之前领迈,要使用藍(lán)牙,制定設(shè)備必須實(shí)現(xiàn)某些藍(lán)牙規(guī)范。諸如藍(lán)牙音頻耳機(jī)狸捅、藍(lán)牙立體聲耳機(jī)衷蜓、藍(lán)牙遠(yuǎn)程操控、SIM卡訪問(wèn)等常見(jiàn)用途都有現(xiàn)成的配置文件尘喝。但是現(xiàn)在磁浇,我們有了藍(lán)牙4.0.因?yàn)榈凸牡乃{(lán)牙使實(shí)現(xiàn)定制接口和定制數(shù)據(jù)交換變得很容易。
目前藍(lán)牙設(shè)備現(xiàn)在覆蓋生活的很多方面朽褪,包括:健康扯夭、運(yùn)動(dòng)、安全體系(比如車鎖鞍匾、從開門到控制溫控器的家庭自動(dòng)化系統(tǒng))交洗、點(diǎn)對(duì)點(diǎn)游戲等。

需求:基于藍(lán)牙功能結(jié)合硬件廠商研發(fā)開門系統(tǒng)橡淑。實(shí)現(xiàn)亮屏開門构拳,藍(lán)牙開門,搖一搖開門等功能的實(shí)現(xiàn)梁棠。

在使用藍(lán)牙sdk之前置森,要先了解兩個(gè)設(shè)備:
Central(設(shè)備中心)和 Peripheral (外圍設(shè)備)
按照iOS的說(shuō)法,服務(wù)器叫做外圍設(shè)備符糊,客戶端叫做中心設(shè)備凫海。iOS 5允許iOS設(shè)備作為客戶端從一個(gè)藍(lán)牙設(shè)備讀取數(shù)據(jù)。
Central和Peripheral是藍(lán)牙應(yīng)用中兩個(gè)主要的角色男娄。Peripheral一般擁有其他設(shè)備所需要的數(shù)據(jù)行贪,而Central則會(huì)使用Peripheral提供的這些信息來(lái)完成一些任務(wù),有點(diǎn)類似計(jì)算機(jī)網(wǎng)絡(luò)通信中的C/S結(jié)構(gòu)模闲。例如建瘫,心率儀作為一個(gè)Peripheral可以向iOS應(yīng)用提供溫度,iOS應(yīng)用進(jìn)而通過(guò)友好的方式將該數(shù)據(jù)顯示給用戶尸折。

這里寫圖片描述

根據(jù)角色劃分不同啰脚,Central和Peripheral所做的事也有所區(qū)別。Peripheral通過(guò)廣播數(shù)據(jù)來(lái)向全世界宣布自己的存在实夹,而Central則通過(guò)掃描來(lái)發(fā)現(xiàn)自己感興趣的Peripheral橄浓。一旦Cenral發(fā)現(xiàn)自己感興趣的Peripheral,便會(huì)發(fā)出連接請(qǐng)求亮航,之后便會(huì)和該P(yáng)eripheral進(jìn)行交互荸实,而Peripheral則會(huì)通過(guò)合適的方式來(lái)響應(yīng)請(qǐng)求。
這里寫圖片描述

開發(fā)Central設(shè)備應(yīng)用

如果你要和Peripheral設(shè)備進(jìn)行通信并完成某項(xiàng)任務(wù)的話塞赂,需要從Central角度出發(fā)去開發(fā)泪勒。

iOS 5允許iOS設(shè)備作為客戶端從一個(gè)藍(lán)牙設(shè)備讀取數(shù)據(jù)昼蛀。
通過(guò)CBCentralManager類&CBPeripheral類表示Central設(shè)備和Peripheral設(shè)備。
iOS6 中圆存,SDK增加了一些類允許iOS設(shè)備作為外圍設(shè)備來(lái)發(fā)送數(shù)據(jù)叼旋。這些數(shù)據(jù)可以是一個(gè)通知列表、當(dāng)前播放的音樂(lè)曲目沦辙、一張照片夫植、或者是你應(yīng)用中想發(fā)送給其他設(shè)備的任何東西。
iOS7中 增加了掃描和獲取外圍設(shè)備的同步方法油讯,一個(gè)小變化就是中心設(shè)備和外圍設(shè)備的表示服從基于CoreFoudation的CFUUIDRef變?yōu)镹SUUID.其中重要改進(jìn)是為后臺(tái)通過(guò)藍(lán)牙通信和發(fā)送數(shù)據(jù)的應(yīng)用增加了狀態(tài)保存和恢復(fù)功能详民。

在Core BlueTooth框架中,以CBCentralManager對(duì)象表示Central設(shè)備陌兑,該對(duì)象可以管理發(fā)現(xiàn)到或者連接到的Peripheral(以CBPeripheral表示)沈跨。


這里寫圖片描述

通過(guò)CBService & CBCharacteristic表示Peripheral數(shù)據(jù)
當(dāng)你試圖和Peripheral進(jìn)行交互時(shí),其實(shí)就是在和Peripheral提供的Service以及Characteristic交互兔综。顧名思義饿凛,CBService和CBCharacteristic就是Core BlueTooth框架中用來(lái)描述這兩個(gè)數(shù)據(jù)結(jié)構(gòu)的對(duì)象。CBPeripheral软驰、CBService涧窒、CBCharacteristic是一種從上至下的聚合樹形結(jié)構(gòu)。


這里寫圖片描述

開發(fā)Peripheral服務(wù)
1.如果你是要將iPhone或者M(jìn)acBook作為一個(gè)Peripheral的話锭亏,你需要從Peripheral角度出發(fā)來(lái)進(jìn)行編程纠吴。

2.通過(guò)CBPeripheralManager & CBCentral表示Peripheral設(shè)備和Central設(shè)備。

3.CBPeripheralManager用來(lái)管理Peripheral的Service&Characteristic數(shù)據(jù)庫(kù)中發(fā)布的Service慧瘤,同時(shí)負(fù)責(zé)將這些服務(wù)傳遞給CBCentral戴已。

4.通過(guò)CBMutableService & CBMutableCharacteristic表示本地Pheripheral數(shù)據(jù)

下節(jié)我們將正式開始講解如何利用CoreBluetooth框架在代碼中實(shí)現(xiàn)藍(lán)牙通信。

藍(lán)牙SDK 是:CoreBluetooth.framework 提供的碑隆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末恭陡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子上煤,更是在濱河造成了極大的恐慌,老刑警劉巖著淆,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劫狠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡永部,警方通過(guò)查閱死者的電腦和手機(jī)独泞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)苔埋,“玉大人懦砂,你說(shuō)我怎么就攤上這事。” “怎么了荞膘?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵罚随,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我羽资,道長(zhǎng)淘菩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任屠升,我火速辦了婚禮潮改,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腹暖。我一直安慰自己汇在,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布脏答。 她就那樣靜靜地躺著糕殉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪以蕴。 梳的紋絲不亂的頭發(fā)上糙麦,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音丛肮,去河邊找鬼赡磅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宝与,可吹牛的內(nèi)容都是我干的焚廊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼习劫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼咆瘟!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起诽里,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤袒餐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后谤狡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灸眼,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年墓懂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了焰宣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捕仔,死狀恐怖匕积,靈堂內(nèi)的尸體忽然破棺而出盈罐,到底是詐尸還是另有隱情,我是刑警寧澤闪唆,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布盅粪,位于F島的核電站,受9級(jí)特大地震影響苞氮,放射性物質(zhì)發(fā)生泄漏湾揽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一笼吟、第九天 我趴在偏房一處隱蔽的房頂上張望库物。 院中可真熱鬧,春花似錦贷帮、人聲如沸戚揭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)民晒。三九已至,卻和暖如春锄禽,著一層夾襖步出監(jiān)牢的瞬間潜必,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工沃但, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磁滚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓宵晚,卻偏偏與公主長(zhǎng)得像垂攘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子淤刃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容