标签:
本?文是苹果《Core Bluetooth Programming Guide》的翻译。
关于Core Bluetooth
Core Bluetooth 框架提供了蓝?牙低功耗?无线设备与 iOS 应?用或 Mac 应?用通讯的必要的类。应?用可以发现,探索低功耗外设,并与它交互,?比如?心率监控器和数字 温度调节器。 从 OS X V10.9 和 iOS 6 之后,Mac 和 iOS 设备也能充当蓝?牙低功耗外设给包括 Mac 和 iOS 在内的其他设备提供数据服务了。
概览
蓝?牙低功耗?无线技术(BLE)基于蓝?牙4.0规范,在其基础上定义了?大量低功耗设备之间通信的协议。Core Bluetooth 框架是蓝?牙低功耗协议栈的抽象。也就是 说,它对开发者隐藏了规范底层的许多细节,使得你开发与蓝?牙低功耗设备通讯的应?用变得容易。
主机(Central)和外设(Peripheral)是 Core Bluetooth 的关键?角?色
在蓝药低功耗通讯中,有两个关键的?角?色: 主机 和 外设 。?一个典型的外设拥有其他设备需要的数据。?一个典型的主机使?用外设提供的信息完成某些任务。例 如,BLE数字温度调节器可以提供室内温度给?一个 iOS 应?用,然后应?用将温度?用?用户友好的?方式展现出来。 外设在空?气中??广播数据。?而主机可以扫描拥有它感兴趣的数据的外设。当主机发现这样的外设时,主机可以请求连接该外设然后探索和交互。然后外设以主机期 望的?方式响应主机的请求。
#### Core Bluetooth 简化了通?用的蓝?牙任务
Core Bluetooth 框架抽象了蓝?牙4.0规范的底层细节。这样应?用中需要完成的许多常?用的 BLE 任务都变得很简单了。如果你开发的应?用是完成蓝?牙主机功能,
Core Bluetooth 让它很容易发现和与外设连接,容易探索外设和与外设交互。另外,Core Bluetooth 让你很容易使?用本地设备来充当外设。
iOS 应?用状态影响蓝?牙?行为
当 iOS 应?用处于后台或者挂起状态,与蓝?牙相关的功能会受到影响。默认情况下,应?用在后台或者挂起状态下不能完成 BLE 任务。如果你的应?用需要在后台完成 BLE 任务,你需要声明?一个或者全部两个 Core Bluetooth 应?用的执?行模式(?一个是主机,?一个是外设)。即使你声明了他们的执?行模式,但是当应?用在后台时, 某些特定的蓝?牙任务操作还是会与前台有所区别。在设计应?用时需要注意这些差别。
?支持后台处理的应?用可能在任何时候被系统终?止然后释放内存。?自 iOS 7,Core Bluetooth ?支持保存主机和外设管理的对象,也?支持在应?用重启时恢复状态。你可
以使?用这个特性来?支持必要的?长期蓝?牙设备任务。
按照最佳实践加强?用户体验
Core Bluetooth 框架让你控制许多通?用的 BLE 传输。你需要按照最佳实践负责任的完成这个层级的控制,增强?用户体验。 例如,许多任务需要使?用设备?无线电来发射信号,?而设备?无线电是与其他形式的?无线通讯共享的,并且?无线电使?用对电池的使?用寿命有很?大的影响,所以设计应用时要尽量减少对无线电的使?。
Core Bluetooth 概览
Core Bluetooth 框架让你的 iOS 和 Mac 应?用与 BLE 设备通信。例如,你的应?用发现,探索,并与 BLE 设备通信(?心率监控器,数字温度调节器,甚?至其他 iOS 设备)。
Core Bluetooth 框架是对使?用低功耗设备的蓝?牙4.0规范的抽象。也就是说,它影藏了许多底层细节,开发者使?用框架可以更容易的开发与 BLE 交互的应?用。因为
框架基于蓝?牙4.0规范,所以采?用了规范的?一些原则和术语。本章介绍关键的术语和原则,这些都是你使?用 Core Bluetooth 开发应?用时必须清楚的。
在所有的 BLE 通信中有两个主要的概念: 主机 和 外设 。基于?一些传统的CS体系, 外设 典型的 拥有其他设备需要的数据 。 主机 典型
的 使?用外设提供的信息来完成特定的任务 。如图 1-1 所?示,?一个?心率监控器有些有?用的信息,你的 Mac 或 iOS 应?用需要这些数据然后将它们友好的展现给用
户。
外设向外??广播?一些??广播包形式的数据。 ??广播包 是外设提供的包含有?用信息的?一束数据,例如外设的名称和主要功能。举个例?子,数字温度调节器可以??广播当前 室温。在 BLE,??广播是外设被感知存在的主要?方式。
主机能够扫描,侦听任何它感兴趣的正在??广播的外设。如图 1-2 所?示,主机能够请求连接它发现的外设。
外设的数据如何组织
连接外设的??目的是为了探索外设并与外设交互数据。在做这个之前,有必要理解外设的数据是怎么组织的。 外设可以包含?一个或者多个服务来提供连接信号强度相关的有?用的信息。 服务 是 设备完成某功能相关的数据集合或者设备某特征数据的集合 。例如,?心率监
控器可以展?示来?自?心率传感器的?心率数据。 服务 由 特征(characteristics) 或者 其他服务 组成。 特征 提供外设服务的进?一步详情。例如,?心率服务 可能仅仅包含?一个描述?心率传感器预定位置的特征和另外?一个发送?心率测量数据的特征。图 1-3 列出了?心率监控器服务和特征的数据结构。
在 Core Bluetooth 框架中,BLE 的主要参与者和数据都被映射得简单?而轻量。
使?用本地主机与远程外设通信时,你在主机端完成操作。除?非你设置?一个本地外设,然后使?用它响应主机的请求,否则?大多数蓝?牙传输发?生在主机这?一端。
在主机端,本地主机设备?用 CBCentralManager 对象表?示。这些对象?用来管理发现或连接远程外设(远程外设?用 CBPeripheral 对象表?示),包括扫 描,发现,连接发??广播的外设。
图 1-4 显?示了 Core Bluetooth 框架中本地主机和远程外设如何表?示。
当你与远程外设交互数据的时候,实际上是处理它的服务和特征。在 Core Bluetooth 框架中,远程外设的服务?用 CBservice 对象表?示。类似的,远程外设的特征
?用 CBCharacteristic 对象表?示。 图 1-5 阐明了远程外设的基服务和特征的基本结构。
?自 OS X v10.9 和 iOS 6,Mac 和 iOS 设备(包括Mac,iPhone,iPad)能够提供 BLE 外设功能,给其他设备提供服务数据。设置你的设备充当外设的?角?色时, 你要完成 BLE 通信中外设那?一侧的功能?行为。
在外设?一侧,本地外设?用 CBPeripheralManager 对象表?示。这些对象?用来管理发布本地外设服务和特征数据库中的服务,??广播到远程主机设备(?用 CBCentral 对 象表?示)。外设管理对象也?用来响应远程主机的读写请求。图 1-6 显?示了本地外设和远程主机在 Core Bluetooth 中的表?示。
本地外设数据?用 CBMutableService 和 CBMutableCharacteristic 对象表?示
设置?一个本地外设并与它交互数据时,你需要处理本地外设的多个服务和特征的版本。在 Core Bluetooth 框架,本地外设的服务?用 CBMutableService 对象表 ?示。类似的,本地外设的特征?用 CBMuableCharacteristic 对象表?示。 图 1-7 阐明了本地外设服务和特征的基本机构。
标签:
原文地址:http://www.cnblogs.com/yulang314/p/5077925.html