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
相关文章
相关标签/搜索