今天我们来说一下iOS的蓝牙。之前有在做一个基于蓝牙4.0的app,对CoreBluetooth有了一定的了解。
1. 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框架的基本使用方法。