The Core Bluetooth 是低功耗蓝牙技术协议栈的抽象框架,它隐藏了很多底层的细节,让开发者更容易开发能够与低功耗蓝牙设备交互的app。(低功耗蓝牙技术是基于蓝牙4.0标准的,除其他外,它还定义了一套低功耗蓝牙设备之间通信的协议)
一、基本原理
在低功耗蓝牙通讯中有两个关键角色:
1、Centrals(中心)
2、Peripherals(外设)
通常来说,外设持有其他设备需要的数据,而中心使用外设提供的数据来完成相应的任务。
工作原理:
1、外设(Peripherals)以广告信息包的形式广播自身的一些数据。(广告信息包是一种相当小的数据束,它往往包含着外设的必要信息,如名称和功能等)。在低功耗蓝牙技术中,广告包是外设被发现的基本方法。
2、中心(Centrals)可以扫描和监听正在广播的外设,然后可以请求连接到它发现的外设。
一个外设可能包含一个或者多个服务,或者提供连接信号强度的信息。一个服务是数据和与之关联的行为的集合。
服务本身由characteristic 和其他引用服务组成。一个characterics提供一个外设更详细的服务。比如下图中心率service就由两个characteristic组成。
二、本地中心和远程外设
当mac或ios设备作为central
在core bluetooth框架中,本地centrals用CBCentralManager 类对象表示,这些对象用来发现和连接远程外设(用CBPeripheral 类对象表示)。
在core bluetooth框架中,用CBPeripheral类对象抽象表示远程外设,用CBService类对象抽象表示外设服务,用CBCharacteristic类对象抽象表示外设Characteristic,架构如下图:
三、本地外设和远程中心
当mac或者ios设备作为外设
在core bluetooth框架中,本地外设用CBPeripheralManager类对象抽象表示,
远程中心用CBCentral类对象抽象表示,
本地外设service用 CBMutableService类对象类抽象表示,
本地外设characteristics用CBMutableCharacteristic类对象抽象表示,架构图如下: