盒子
盒子
文章目录
  1. iOS蓝牙框架的历史
  2. CoreBluetooth

蓝牙开发

目前市场上越来越多的蓝牙设备,耳机,手环等等。与此同时,我们就需要一个移动设备来配合这些蓝牙设备的使用。这章我们来了解一下蓝牙的知识。

iOS蓝牙框架的历史

  • GameKit
    GameKit框架是iOS7之前的一个蓝牙框架,听名字就知道大概的用途。它主要是用来做游戏的一个蓝牙框架,它提供的API可以使用蓝牙或者无线局域网络轻松建立对等网络游戏。但是由于性能的一些原因,之后慢慢被淹没了。

  • MultipeerConnectivity
    MultipeerConnectivity多点连接。AirDrop其实用的就是这个。MultipeerConnectivity.framework框架结合了wifi、蓝牙。通常情况下是用蓝牙进行连接,WiFi进行数据的传递。但是这个框架跨平台性不太好。

  • CoreBluetooth

是目前最主流的蓝牙框架,各方面性能提升很多。下面主要说一下这个框架。

CoreBluetooth

首先我们需要了解这个框架的主要结构。一张图说明。

框架主要分两个部分。

  • 中心设备CBCenterManger
  • 外围设备CBPeripheral

主要工作原理,中心设备设备连接外围设备,订阅外围设备的服务,获取特征。

  • 中心的开发
  1. 建立中心角色
  2. 扫描外设(discover)
  3. 连接外设(connect)
  4. 扫描外设中的服务和特征(discover)
  5. 获取外设的services
  6. 获取外设的Characteristics,获取Characteristics的值,获取 Characteristics的Descriptor和Descriptor的值
  7. 与外设做数据交互(explore and interact)
  8. 订阅Characteristic的通知
  9. 断开连接(disconnect)
  • 外围的开发
    1. 打开peripheralManager,设置peripheralManager的委托
    2. 创建characteristics,characteristics的description 创建service,把characteristics添加到service中,再把service添加到peripheralManager中
    3. 开启广播advertising
    4. 对central的操作进行响应
    5. 读characteristics请求
    6. 写characteristics请求
    7. 订阅和取消订阅characteristics

以上就是大概的过程,具体的还是需要自己代码敲敲。

支持一下
扫一扫,支持ddSoul