CoreBluetooth For Central (1)

Bluetooth Low Energy(BLE)

Bluetooth Low Energy

Bluetooth的中文名稱為藍牙,Bluetooth Low Energy是從Bluetooth 4.0規範開始才有的,從字面上可以明確的知道這是個低耗能,具有較省電方式的藍牙。因為如此,特別適合用在長時間數據收集的用途,而加上Apple在硬體上全力支持Bluetooth 4.0功能,也為了Bluetooth Low Energy(有人稱Bluetooth LE或BLE,以下簡稱BLE)在iOS5之後增加了CoreBluetooth Framework增加易用性,現在許多的開發商也因為Apple紛紛投入生產相關周邊,漸漸的Bluetooth LE開始與NFC展開許許多多的議題。

Bluetooth 4.0中,Bluetooth LE只是4.0規範中其中一種,它也保留著向下相容的功能,只是Bluetooth SIG在規範中彈性的讓Bluetooth LE這個方式可以單獨存在,如此一來在低成本下,一些小型的裝置上面更容易實現透過Bluetooth LE與器機以無線的方式傳遞資料的目的。

對於Blueooth的演進想要更了解的可以到維基百科中的藍牙查看細節。

CoreBluetooth

CoreBluetooth Framework,使得操作BLE更容易使用,之後到現在也是陸續的在增強它的功能。iOS6時增加Peripheral模式,這樣可以讓iDevice彼此之間透過BLE來傳遞資料,iOS7上更利用Peripheral/Central模式增加iBeacon,iBeacon以藍牙通訊結合定位資訊的功能,非常的強大。

CoreBluetooth Framework提供的連線有兩個角色:CentralPeripheral,整個Framework都是利用這兩個角色來增加功能,如果要以較簡單的形容這2個角色的關系,那就是網路的ClientServer,像下圖一樣:

1

CoreBluetooth提供這兩個物件來代表這兩個角色,Central所使用的是CBCentralManager, Peripheral則是CBPeripheralManager,接下來內容是以Central角色為主來完成CoreBluetooth的學習。

根據Apple提供的資料中,Central連線過程為四個步驟:Discover、Connect、Explore、Interact,以較能理解的方式為:

  • Discover:掃描是否有可用的週邊
  • Connect: 連線指定的週邊
  • Explore: 連線後,查詢可用的服務
  • Interact:設定好Peripheral相關的通知、讀、寫訊息。

後面會依照連線流程四個步驟來設計成幾個章節一步一步的來介紹。