iOS藍(lán)牙開(kāi)發(fā)-藍(lán)牙相關(guān)基礎(chǔ)知識(shí)

最近今天看了些關(guān)于藍(lán)牙的知識(shí)點(diǎn)煌妈,果斷去深入了解了一些开镣,雖然現(xiàn)在藍(lán)牙出了5.0,但一些藍(lán)牙的基礎(chǔ)知識(shí)必不可少哦滋戳。

藍(lán)牙常見(jiàn)名稱(chēng)和縮寫(xiě)

MFI ======= make for ipad ,iphone, itouch 專(zhuān)們?yōu)樘O(píng)果設(shè)備制作的設(shè)備

BLE ==== buletouch low energy斋竞,藍(lán)牙4.0設(shè)備因?yàn)榈秃碾娋笤迹砸步凶鯞LE

peripheral,central == 外設(shè)和中心,發(fā)起連接的時(shí)central,被連接的設(shè)備為perilheral

service and characteristic === 服務(wù)和特征 每個(gè)設(shè)備會(huì)提供服務(wù)和特征坝初,類(lèi)似于服務(wù)端的api浸剩,但是機(jī)構(gòu)不同钾军。每個(gè)外設(shè)會(huì)有很多服務(wù),每個(gè)服務(wù)中包含很多字段绢要,這些字段的權(quán)限一般分為 讀read吏恭,寫(xiě)write,通知notiy幾種重罪,就是我們連接設(shè)備后具體需要操作的內(nèi)容樱哼。

Description 每個(gè)characteristic可以對(duì)應(yīng)一個(gè)或多個(gè)Description用戶(hù)描述characteristic的信息或?qū)傩?/p>

MFI === 開(kāi)發(fā)使用ExternalAccessory 框架

4.0 BLE === 開(kāi)發(fā)使用CoreBluetooth 框架

藍(lán)牙基礎(chǔ)知識(shí)

CoreBluetooth框架的核心其實(shí)是兩個(gè)東西,peripheral和central, 可以理解成外設(shè)和中心蛆封。對(duì)應(yīng)他們分別有一組相關(guān)的API和類(lèi)


這兩組api分別對(duì)應(yīng)不同的業(yè)務(wù)場(chǎng)景唇礁,左側(cè)叫做中心模式,就是以你的app作為中心惨篱,連接其他的外設(shè)的場(chǎng)景,而右側(cè)稱(chēng)為外設(shè)模式围俘,使用手機(jī)作為外設(shè)別其他中心設(shè)備操作的場(chǎng)景砸讳。

服務(wù)和特征,特征的屬性(service and characteristic):

每個(gè)設(shè)備都會(huì)有一些服務(wù)界牡,每個(gè)服務(wù)里面都會(huì)有一些特征簿寂,特征就是具體鍵值對(duì),提供數(shù)據(jù)的地方宿亡。每個(gè)特征屬性分為這么幾種:讀常遂,寫(xiě),通知這么幾種方式挽荠。

//objcetive?c特征的定義枚舉

typedef?NS_OPTIONS(NSUInteger,?CBCharacteristicProperties)?{

????CBCharacteristicPropertyBroadcast???????????????????????????????????????????????=?0x01,

????CBCharacteristicPropertyRead????????????????????????????????????????????????????=?0x02,

????CBCharacteristicPropertyWriteWithoutResponse????????????????????????????????????=?0x04,

????CBCharacteristicPropertyWrite???????????????????????????????????????????????????=?0x08,

????CBCharacteristicPropertyNotify??????????????????????????????????????????????????=?0x10,

????CBCharacteristicPropertyIndicate????????????????????????????????????????????????=?0x20,

????CBCharacteristicPropertyAuthenticatedSignedWrites???????????????????????????????=?0x40,

????CBCharacteristicPropertyExtendedProperties??????????????????????????????????????=?0x80,

????CBCharacteristicPropertyNotifyEncryptionRequired?NS_ENUM_AVAILABLE(NA,?6_0)?????=?0x100,

????CBCharacteristicPropertyIndicateEncryptionRequired?NS_ENUM_AVAILABLE(NA,?6_0)???=?0x200

};

外設(shè)克胳、服務(wù)、特征間的關(guān)系


藍(lán)牙中心模式流程

1. 建立中心角色

2. 掃描外設(shè)(discover)

3. 連接外設(shè)(connect)

4. 掃描外設(shè)中的服務(wù)和特征(discover)

? ? - 4.1 獲取外設(shè)的services

? ? - 4.2 獲取外設(shè)的Characteristics,獲取Characteristics的值圈匆,獲取Characteristics的Descriptor和Descriptor的值

5. 與外設(shè)做數(shù)據(jù)交互(explore and interact)

6. 訂閱Characteristic的通知

7. 斷開(kāi)連接(disconnect)

藍(lán)牙外設(shè)模式流程

1. 啟動(dòng)一個(gè)Peripheral管理對(duì)象

2. 本地Peripheral設(shè)置服務(wù),特性,描述漠另,權(quán)限等等

3. Peripheral發(fā)送廣告

4. 設(shè)置處理訂閱、取消訂閱跃赚、讀characteristic笆搓、寫(xiě)characteristic的委托方法

藍(lán)牙設(shè)備狀態(tài)

1. 待機(jī)狀態(tài)(standby):設(shè)備沒(méi)有傳輸和發(fā)送數(shù)據(jù),并且沒(méi)有連接到任何設(shè)

2. 廣播狀態(tài)(Advertiser):周期性廣播狀態(tài)

3. 掃描狀態(tài)(Scanner):主動(dòng)尋找正在廣播的設(shè)備

4. 發(fā)起鏈接狀態(tài)(Initiator):主動(dòng)向掃描設(shè)備發(fā)起連接纬傲。

5. 主設(shè)備(Master):作為主設(shè)備連接到其他設(shè)備满败。

6. 從設(shè)備(Slave):作為從設(shè)備連接到其他設(shè)備。

藍(lán)牙設(shè)備的五種工作狀態(tài)

準(zhǔn)備(standby)

廣播(advertising)

監(jiān)聽(tīng)掃描(Scanning

發(fā)起連接(Initiating)

已連接(Connected)

藍(lán)牙和版本的使用限制

藍(lán)牙2.0 === 越獄設(shè)備

藍(lán)牙4.0 === iOS 6 以上

MFI認(rèn)證設(shè)備(Make For ipod/ipad/iphone) === 無(wú)限制

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叹括,一起剝皮案震驚了整個(gè)濱河市算墨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌领猾,老刑警劉巖米同,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骇扇,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡面粮,警方通過(guò)查閱死者的電腦和手機(jī)少孝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)熬苍,“玉大人稍走,你說(shuō)我怎么就攤上這事〔竦祝” “怎么了婿脸?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)柄驻。 經(jīng)常有香客問(wèn)我狐树,道長(zhǎng),這世上最難降的妖魔是什么鸿脓? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任抑钟,我火速辦了婚禮,結(jié)果婚禮上野哭,老公的妹妹穿的比我還像新娘在塔。我一直安慰自己,他們只是感情好拨黔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布蛔溃。 她就那樣靜靜地躺著,像睡著了一般篱蝇。 火紅的嫁衣襯著肌膚如雪贺待。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天态兴,我揣著相機(jī)與錄音狠持,去河邊找鬼。 笑死瞻润,一個(gè)胖子當(dāng)著我的面吹牛喘垂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绍撞,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼正勒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了傻铣?” 一聲冷哼從身側(cè)響起章贞,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎非洲,沒(méi)想到半個(gè)月后鸭限,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蜕径,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年败京,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了兜喻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赡麦,死狀恐怖朴皆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泛粹,我是刑警寧澤遂铡,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站晶姊,受9級(jí)特大地震影響扒接,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜帽借,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一珠增、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砍艾,春花似錦、人聲如沸巍举。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)懊悯。三九已至蜓谋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炭分,已是汗流浹背桃焕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捧毛,地道東北人观堂。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像呀忧,于是被迫代替她去往敵國(guó)和親师痕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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