今天我們來說一下iOS的藍牙。之前有在做一個基于藍牙4.0的app,對CoreBluetooth有了一定的了解。
1. CoreBluetooth簡介
CoreBluetooth層次圖
CoreBluetooth框架核心包含兩個類,分別是CBPeripheral和CBCentral, 對應中心設備和外圍設備。
2. 基本知識
iOS識別藍牙是通過設備生成的UUID來區分的,每個藍牙設備都有自己的服務CBService和特征CBCharacteristic,一個設備可以包含多種服務,每個服務下有可以包含多種特質,這里的特征可以把它理解成“信道”。
3. 執行流程
由以上知識以后,我們可以勾勒出藍牙的執行過程:
- 建立中心設備管理(CBCentralManager)
- 掃描外設(scanForPeripheralsWithServices)
- 發現設備并過濾信號(didDiscoverPeripheral)
- 連接外設(connectPeripheral)
- 掃描外設的服務(discoverServices)
- 掃描外設的特征(discoverCharacteristics)
- 發現特征后,根據需求監聽某特征explore and interact)
- 特征發生變化即得到了數據(didUpdateValueForCharacteristic)
- 交互完畢后斷開連接(cancelPeripheralConnection)
4. demo演示
下面我們來跟著一個demo,了解一下CoreBluetooth框架的基本使用方法。