Core BlueTooth <一> CoreBluetooth Overview (概述)

CoreBluetooth Overview (概述)

核心蓝牙框架可以让你的 iOS Mac 应用程序与蓝牙低功耗设备进行通信。例如,您的应用程序可以发现,探索,并与低能量外围设备,如心脏速率监视器,数字恒温器,甚至其他 iOS 设备进行交互。
 
  该框架是蓝牙 4.0 规范用于与低功耗设备使用的抽象。这就是说,它隐藏了许多从你的规范,开发商的低层细节,使其更容易为您制定与蓝牙低功耗设备进行交互的应用程序。因为框架是基于本说明书中,一些概念和术语在说明书中已被采用。本章介绍了,你需要知道开始开发使用蓝牙核心架构伟大的应用程序的关键术语和概念。
 
  中央和外围设备及蓝牙通讯的作用
 
  这里涉及到的所有蓝牙低功耗通信的两个主要参与者:中央和外围设备。根据一个有些传统的客户端  -  服务器体系结构中,外围设备通常具有所需要的其他设备的数据。中央通常使用由外设担任了该信息,以完成一些特定的任务。如图 1-1 所示,例如,心脏监测仪可有有用的信息,你的 Mac iOS 应用程序可能需要以显示用户的心脏速率的用户友好的方式。
 
  1-1 中心和外围设备


 
 Central 的发现并连接到那些广告外设
  外设广播一些他们在广告数据包的形式的数据。广告包是一个相对小束的数据可以包含关于什么的周边所提供的,如对外围设备的名称和主功能的有用的信息。例如,一个数字恒温器可以广告它提供一个房间的当前温度。在蓝牙低功耗技术,广告是主要的方式,外设使他们的存在众所周知的。
 
  一个中心,另一方面,可以扫描和侦听是广告信息,它的兴趣,如图 1-2 所示的任何外围设备。中央可以要求连接到任何外设,它已经发现了广告。
 

 1-2广告和发现






 
  如何外设的数据的结构
  连接到外围设备的目的是为了开始探索并与它提供的数据进行交互。之前,你可以这样做,但是,它有助于了解外设的数据是结构化的。
 
  外围设备可以包含一个或多个服务或提供关于其连接的信号强度的有用信息。服务是数据和相关联的行为,用于实现设备的功能或特征(或该设备的各部分)的集合。例如,心脏监测仪中的一个服务可以是向心脏速率数据从显示器的心脏速率传感器暴露。
 
  服务本身是由特征或包含的服务(即,引用其他服务)。一个特点提供有关周边的服务的更多细节。例如,刚才所描述的可含有一个特性描述设备的心脏速率传感器的预期身体位置和透射心脏速率的测量数据的另一个特征的心脏速率的服务。图 1-3 示出了一个心脏监测仪的服务和特征的一种可能的结构。
 

 1-3外围的服务和特点




 
 Central 的探索和交互的数据在外设
  之后,中央已经成功地建立了一个外围设备的连接,就可以发现全方位的服务和特性的外设所提供的(广告数据可能包含的可用服务的一小部分)。
 
  中央还可以与周边的服务通过读取或写入该服务的特征值进行交互。例如,你的应用程序可以请求当前室内温度数字温控器,也可以提供一个数值上设置房间的温度的恒温器。
 
  如何 Central 的,外围设备和外设数据表示
 
  参与蓝牙低功耗通信的主要参与者和数据被映射到一个简单,直接的方式将蓝牙核心架构。
 
  在中央侧对象
  如果您使用的是本地中心与远程外设交互,您正在执行的蓝牙低功耗通信中心侧的动作。除非你是建立一个本地外围设备,并使用它通过在中央侧中央,大部分的蓝牙交易将于回应请求。
 
  有关如何执行你的应用程序中的核心作用的信息,请参阅执行常见的核心作用和任务的最佳实践与远程外围设备交互
 
  本地 Central 的和远程外设
 
  在中心侧,一局部中央装置由 CBCentralManager 对象表示。这些对象用于管理已发现或连接的远程外围设备(由 CBPeripheral 对象表示),包括扫描,发现和连接到广告的外围设备。图 1-4 显示了如何切牙本地和远程外设都代表了蓝牙核心架构。
 

 1-4蓝牙核心在中心端对象



 
  一个远程外设的数据由 CBService CBCharacteristic 对象表示
 
  当你的数据在远程外设(由 CBPeripheral 对象表示)进行交互,你正在处理的服务和特点。在核心蓝牙框架,一个远程外设的服务是由 CBService 对象表示。类似地,一个远程外设的服务的特性由 CBCharacteristic 对象表示。图 1-5 示出了一个远程外设的服务和特征的基本结构。
 

 1-5的服务和特性的远程外围的树


 
  在周侧对象
  随着 OS X v10.9 iOS6 Mac iOS 设备可以充当蓝牙低功耗外设,提供数据给其他设备,包括其他 Mac 电脑, iPhone 手机,和 iPad 。在设置设备来实现外设的角色,正在执行的低功耗蓝牙通讯的周侧的动作。
 
  本地外围设备和远程的 Centrals
 
  在外围侧,一个本地外围设备由 CBPeripheralManager 对象表示。这些对象用于服务和特征的本地外围设备的数据库中管理发布的服务及宣传这些服务到远程中央设备(由 CBCentral 对象表示)。外围设备管理器的对象也被用来响应读写从这些远程切牙请求。图 1-6 显示了如何外设本地和远程切牙表示在蓝牙核心架构。
 

 1-6蓝牙核心在周侧对象


 
  一个本地外设的数据由 CBMutableService CBMutableCharacteristic 对象表示
 
  当您设置并在本地外设的数据(由 CBPeripheralManager 对象表示)进行交互,你正在处理的服务和特性的可变版本。在核心蓝牙框架,一个本地外设的服务是由 CBMutableService 对象表示。类似地,本地外设的服务的特性由 CBMutableCharacteristic 对象表示。图 1-7 示出了一个本地外设的服务和特征的基本结构。
 

 1-7的服务和特色的地方周围的树


 
    有关如何设置你的本地设备实现日详细信息, see  “Performing Common Peripheral Role Tasks”  and  “Best Practices for Setting Up Your Local Device as a Peripheral.”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值