iOS開發之BLE(一)——理論知識

在iOS開發中,咱們最經常使用的藍牙開發框架應該是Core Bluetooth,由於它能夠與第三方藍牙設備交互(必需要支持藍牙4.0),藍牙4.0以低功耗著稱,因此通常也叫BLE(Bluetooth Low Energy),目前普遍應用於智能手環,智能嵌入式設備,智能家居等領域。筆者最近須要用到這個知識,因此一塊兒來學習一下吧。在Core Bluetooth中提供了與藍牙設備進行通訊所需的類與協議,因此在開發以前必定要將他們的關係弄清楚,那麼開發起來纔會事半功倍。app

Apple 官方文檔地址:developer.apple.com/documentati…框架

重要的類與協議

  • CBCentral:中心設備,發起鏈接的是CBCentral
  • CBCentralManager:中心設備管理者,相似定位中的CLLocationManager
  • CBPeripheral:外圍設備,被鏈接的設備是CBPeripheral
  • CBService:外圍設備的服務,每一個外圍設備都會提供不少服務
  • CBCharacteristic:外圍設備的特徵,包含在每一個服務裏
  • CBDescriptor:用於描述CBCharacteristic的信息或屬性
  • CBCentralManagerDelegate:CBCentralManager對象遵照的協議,用於監視外圍設備的發現、鏈接和檢索
  • CBPeripheralDelegate:CBPeripheral對象遵照的協議,用於監視外圍設備的服務和屬性的發現、檢索和交互

外圍設備、服務和特徵值的關係

兩種開發模式

  • 中心模式:以下圖左邊所示,以App爲中心,鏈接其餘的外設進行通訊;(常見開發模式
  • 外設模式:以下圖右邊所示,使用手機做爲外設,鏈接其餘中心設備進行通訊;
    兩種開發模式

中心模式的開發步驟

  1. 建立CBCentralManager實例進行藍牙管理
  2. 搜索外圍設備
  3. 鏈接外圍設備
  4. 得到外圍設備的服務
  5. 得到服務的特徵
  6. 從外圍設備讀數據(讀取或訂閱)
  7. 向外圍設備寫數據
  8. 斷開鏈接

注意問題

  • 不要對Core Bluetooth中的任何類進行子類化
  • iOS 10之後須要在info.plist文件中加上NSBluetoothPeripheralUsageDescription
相關文章
相關標籤/搜索