美文网首页iOS蓝牙4.0(BLE )Bluetooth
Core Bluetooth Programming Guide

Core Bluetooth Programming Guide

作者: dream小恩 | 来源:发表于2016-03-29 11:05 被阅读679次

    关于 Core Bluetooth

    Core Bluetooth framework 为你的 iOS 和 Mac 应用提供了一系列 class,使其能够与装备了 Bluetooth low energer (BLE) 无线技术的设备进行通信。例如,你的应用可以发现、探索以及与低功耗 peripheral
    设备交互,这样的设备举例有:心率监测仪和数字恒温调节器。

    从 OS X v10.9 和 iOS 6 起,Mac 和 iOS 设备也能够作为 BLE peripheral,为其它设备提供数据,包括为其它 Mac 和 iOS 设备。

    纵观全貎

    BLE 无线技术建立在 Bluetooth 4.0 specification 基础之上,这个说明书定义了一组协议用于低功耗设备之间的通信。Core Bluetooth framework 是对于 BLE 协议栈的一个抽象。听起来有点抽象,事实上它为开发者隐藏了 specification 诸多下层的细节,使得开发应用与 BLE 设备交互这事儿容易多了。

    Central 和 Peripheral 是 Core Bluetooth 中的关键参与者

    在 BLE 通信过程中,有两个关键参与者:central(可能被译为:中心) 和 peripheral (可能被译为:外设)。每个参与者在 BLE 通信中扮演了不同的角色。Peripheral 通常拥有着其它设备所需的数据。Central 通常使用 peripheral 提供的信息去完成某些任务。例如,一个装备了 BLE 技术的数字恒温器有可能将房间温度提供给 iOS 应用,后者将此温度通过用户友好的方式展现出来。

    正如每个参与者在 BLE 通信中扮演不同的角色,每个参与者也会执行一系列不同的任务。Peripheral 以无线的方式广播自己拥有的数据,以此宣告自己的存在。另一方面,Central 能够扫描潜在拥有它所感兴趣的数据的 peripheral。当一个 central 发现了这样一个 peripheral 时,central 能够对 peripheral 发起连接请求,之后开始探索 peripheral 中的数据,以及与之交互。Peripheral 于是开始负责恰当的响应 central。

    相关章节:Core Bluetooth Overview | 尚未翻译

    Core Bluetooth 简化了常规的 Bluetooth 任务

    Core Bluetooth framework 将 Bluetooth 4.0 specification 中的低层细节抽象掉了。于是,你应用中需要实现的许多常规 BLE 任务被简化了。如果你正在开发一款实现了 central 角色的应用,Core Bluetooth 将事情变得简单,从发现、连接 peripheral,到探索、交互 peripheral 的数据。而且,设置本地设备以实现 peripheral 角色也因为有 Core Bluetooth 而变得简单。

    相关章节:Performing Common Central Role Tasks | 译文传送门Performing Common Peripheral Role Tasks | 尚未翻译

    iOS 应用状态会影响 Bluetooth 行为

    当你的 iOS 应用在后台(background)运行或处于挂起状态(suspended state),其蓝牙相关能力将受到影响。默认情况下,当你的应用在后台运行或处于挂起状态时是无法执行 BLE 相关任务的。虽然如此,如果你的应用需要在后台执行 BLE 任务,你可以声明它支持 Core Bluetooth 后台执行模式(background execution mode)的两种之一或者两种全部(一种适用于 central 角色,一种适用于 peripheral 角色)。即使你声明了一或两种后台执行模式,某些 Bluetooth 任务在应用处于后台时的操作过程也会有所不同。你需要在设计应用时将这些差异考虑进去。

    即使是支持后台处理的应用,也随时有可能被系统终止,因为需要释放内存给当前处于前台的应用。从 iOS 7 起,Core Bluetooth 支持为 central 和 peripheral manager 对象保存状态信息,并在启动时恢复到那个状态。你可以利用这项特性支持涉及 Bluetooth 设备的长期活动。

    相关章节:Core Bluetooth Background Processing for iOS Apps | 译文传送门

    遵循最佳实践,提升用户体验

    Core Bluetooth framework 在许多常规 BLE 事务上给予你的应用控制权。请遵循最佳实践,负责任地掌握这一层的控制权,并提升用户的体验。
    例如,实现 central 和 peripheral 时你执行的许多任务都会用到你的设备的板载无线电来发送无线信号。因为你的设备的无线电是和其它形式的无线通信共享的,也因为无线电使用对设备电池续航有负面影响,请总是设计好你的应用,将无线电使用最小化。

    相关章节:Best Practices for Interacting with a Remote Peripheral Device | 译文传送门Best Practices for Setting Up Your Local Device as a Peripheral | 尚未翻译

    如何使用这套文档

    如果你从未使用过 Core Bluetooth framework,或者你对基本的 BLE 概念不熟悉,请完整的阅读这套文档。在 Core Bluetooth Overview | (尚未翻译),你将学到一些关键术语和概念,这些是阅读后面部分所必须的知识。

    在你理解了关键概念之后,请阅读 Performing Common Central Role Tasks | 译文传送门,学习如何开发你的应用,在本地设备上实现 central 角色。类似地,学习如何开发应用在本地设备上实现 peripheral 角色,请阅读 Performing Common Peripheral Role Tasks | (尚未翻译)。

    其它参考资料

    官方网站 Bluetooth Special Interest Group (SIG) website 提供了关于 BLE 无线技术的权威信息。在那儿,你也可以找到 Bluetooth 4.0 specification

    如果你正在研发硬件设备,使用 BLE 技术与 Apple 产品通信,包括 Mac、iPhone、iPad 和 iPod touch 各型号,请阅读 Bluetooth Accessory Design Guidelines for Apple Products。如果你的 Bluetooth 设备(通过 BLE 连接到 iOS 设备的)需要访问 iOS 设备上生成的通知,请阅读 Apple Notification Center Service (ANCS) Specification

    相关文章

      网友评论

      • wokenshin:扎心了 老铁 好文!
      • 15329751ce69:博主,怎么没有第一章呀?
        15329751ce69:@dream小恩 原来如此,太感谢博主啦,不然老感觉缺了点什么...
        dream小恩:@lecason 第一章有前辈翻译了,地址http://www.jianshu.com/p/760f042a1d81

      本文标题:Core Bluetooth Programming Guide

      本文链接:https://www.haomeiwen.com/subject/lghslttx.html