原创翻译:About Core Bluetooth

About Core Bluetooth

简要:核心蓝牙框架提供了iOS和MAC 应用程序与BLE 设备进行无线通信所需要的类。通过该框架,应用程序可以扫描、发现BLE 外设,如心率、电子温度传感器等等,同时可以与之进行交互。 在OSX 10.9 和iOS6 中,你的mac,iOS 设备还可以扮演外设的角色。

  • How to Use This Document

   如果你从来没有使用过Core Bluetooth 框架,或者你对基本的BLE 概念不熟悉的话,那么你可以阅读整篇文档。 在CoreBluetooth Overview 中,你可以了解到你需要知道的关键概念。

在你了解了关键概念之后,你可以阅读Performing Common Central Role Tasks 来学习如何让你的设备扮演中心者的角色。同样的,通过阅读Performing Common Peripheral Role Tasks 来学习开发如何使你的设备扮演外设的角色。

为了确保应用程序运行良好,且遵守好的规范,阅读后面的章节:Core Bluetooth Background Processing for iOS Apps, Best Practices for interacting with a Remote Peripheral Device,  and Best Practice for Setting Up Your Local Device as a Peripheral。

  • See Also

  官方的Bluetooth Special Interst Group (SIG) 网站提供了关于蓝牙低功耗无线传输技术的定义信息。在这里你也可以找到蓝牙4.0 规范。

  如果你正在设计使用蓝牙BLE 技术来与苹果产品进行交互的硬件配件,那么阅读Bluetooth Accessory Design Guidelines for Apple Products. 如果你的蓝牙配件需要访问由iOS 设备产生的Notification,那么阅读Apple Notificaition Center Service (ANCS) Specifacaiton。

一、 Core Bluetooth Overview

  • Central and Peripheral Devices and Their Roles in Bluetooth Communication

  在蓝牙低功率通信中,有两个主要的对象:中心(Central)和外设(Peripheral). 基于传统的客户端-服务器架构,一个外设(Peripheral)有其他设备所需要的数据,而一个中心(Central)则使用由外设提供的信息来实现某些特定的任务。如图1-1所示。

  • Central Discover and Connect to Peripherals That Are Advertising

  Peripherals 用广播包的形式来广播他们拥有的数据。 一个 Advertising packet 是一组包含Peripheral 提供的有用信息很小的数据包,例如Peripheral 的名字,主要服务。举例来讲就是,一个数码温度自动调节器也许广播数据来提供一间房屋的当前温度。

   Central 可以扫描,监听它感兴趣的正在进行广播信息的任意Peripheral 设备,正如图1-2所示。一个Central 可以请求连接它已经发现任意Peripheral.

  • How the Data of a Peripheral is Structured

 外设包含一个或多个Services(服务),以及可以提供有关他们连接信号强度的信息。而一个Servcie(服务)是一组数据和实现一个功能或者设备特性的相关行为的集合。例如,一个心率监测器的一个服务也许是用来发布来自监测器的心率传感器数据的

Service(服务)由Characteristic(特征)和Included Services(内建服务)(这是对其他服务的引用)组成。Characteristic 提供了关于一个外设服务的进一步的详细信息。例如,心率服务可能只是包含一个Characteristic 用来描述心率传感器的在人身体目标部位的位置信息,另一个Characteristic 用来传递心率测量数据。 图1-3 展示了一个心率监测器的Service 和Characteristics 可能的结构:

  • Central Explore and Interacat with the Data on a Peripheral

  在一个Central 已经成功连接到了一个Peripheral之后,它可以发现Peripheral所有的Services 和Characteristics.(发布的数据可能只包含一小部分可以使用的Service)

  一个Central 通过读或者写Service’ Characteristic的value 值来与一个Peripheral的Service进行交互。 例如,应用程序可以从一个数码温度调节器中请求当前房间内的温度,或者它可以提供一个Value 给温度自动调节器来设定房屋内的温度。

  • How Centrals,Peripherals and Peripherals Data are Represented

    •  Ojects on the Central Side
    • Local Centrals and Remote Peripherals

  在Central端的开发,一个本地的Central设备用CBCentralManager 对象来表示。这些对象用来管理被发现的或者已经连接的远程Peripheral 设备(用CBPeripheral对象表示),包括扫描,发现,连接正在广播的Peripherals等操作。图1-4表示了本地Centrals 和远程Peripherals 在CoreBluetooth中的表示。

    • A Remote Peripheral’s Data Are Representd by CBService and CBCharacteristic Objects

  当你正在和远程的Peripheral(用CBPeriheral对象表示)进行交互的时候,你将会处理它的Services 和Characteristics.     在CoreBluetooth 框架中,一个远程的Peripheral服务用CBServicses 对象来表示。同样的,一个远程的Peripheral的Service的Characteristic使用CBCharacteristic对象来表示的。 图1-5表示了远程Peripheral的Services 和Characteristics。

  • Objects on the Peripheral side

  特别提醒的是,在OSX 10.9 和iOS 6中,iOS 设备、Mac 设备才可以作为BLE peripheral。

    • Local Peripherals and Remote Centrals

  在Peripheral端,一个本地的peripheral 设备用CBPeripheralManager对象来表示。这些对象被用来管理在存储在本地Peripheral设备Services和Charactersitics数据库的published services 并且负责向远程的Central 设备(用CBCentral来表示)发布Services. Peripheral Manager 对象也被用来负责响应来自远程Central的读写请求。图1-6展示了本地Peripheral 和远程Central在CoreBluetooth 框架中的表示。

    • A local Periphra’s Data Are Repersented by CBMutableService and CBMutalbeCharacteristic objects

  当你建立并且与一个本地的Peripheral(用CBPeripheralManager表示的对象)进行数据交互的时候,你就会处理它的Services 和Characteristic 的可变版本。在CoreBluetooth框架中,一个本地Peripheral的Service用CBMutableService对象表示。同样的,一个本地的Peripheral的Characteristic用CBMutalbeCharacteristic 对象来表示。图1-7展示了基本的本地Peripheral的Services 和Characteristic的基本架构。

时间: 2024-08-27 13:29:13

原创翻译:About Core Bluetooth的相关文章

Core Bluetooth Programming Guiding - Performing Common Central Role Tasks 粗译

CoreBluetooth的部分翻译 执行常见的Central任务 充当Central的角色并且遵循BLE通讯的设备可以执行一系列通用任务— — 比如, 发现并连接可用的Peripherals,  探索Peripheral提供的数据并与之进行交互. 充当Peripheral的角色的设备也能执行一些列的任务, 但是任务内容正好跟Central不同, 甚至相反——比如, 发布并广告services, 相应外界的读写操作, 已经从已连接的Central那订阅请求 你将在这一章节里学会去如何使用 Cor

Core BlueTooth官方文档翻译

本?文是苹果<Core Bluetooth Programming Guide>的翻译. 关于Core Bluetooth Core Bluetooth 框架提供了蓝?牙低功耗?无线设备与 iOS 应?用或 Mac 应?用通讯的必要的类.应?用可以发现,探索低功耗外设,并与它交互,?比如?心率监控器和数字 温度调节器. 从 OS X V10.9 和 iOS 6 之后,Mac 和 iOS 设备也能充当蓝?牙低功耗外设给包括 Mac 和 iOS 在内的其他设备提供数据服务了. 概览 蓝?牙低功耗?

iOS开发 - Core Bluetooth蓝牙开发

Core Bluetooth Core Bluetooth测试比较麻烦,正常情况下,得至少有2台真实的蓝牙4.0设备 如何让iOS模拟器也能测试蓝牙4.0程序? 买一个CSR蓝牙4.0 USB适配器,插在Mac上 在终端输入sudo nvram bluetoothHostControllerSwitchBehavior="never" 重启Mac 用Xcode 4.6调试代码,将程序跑在iOS 6.1的模拟器上 (苹果把iOS 7.0模拟器对BLE的支持移除掉了) Core Bluet

[翻译] About Core Image

About Core Image Core Image is an image processing and analysis technology designed to provide near real-time processing forstill and video images. It operates on image data types from the Core Graphics, Core Video, and Image I/Oframeworks, using eit

原创翻译:iOS 应用程序 蓝牙后台运行

默认情况下,普通的CoreBluetooth 任务中的大多数,无论是Central还是peripheral ,在后台或者挂起状况下都是无法进行的.也就是说,你可以通过宣布你的应用程序支持后台处理模式来允许你的一个应用程序把你从一个挂起状态中唤醒来执行某些蓝牙相关的事件. 即使你的应用程序支持一种或者两种CoreBluetooth后台执行模式,那么他也不会永远运行.在某些时候,系统也许由于当前的前台应用程序而终止你的应用程序来释放内存,这将会导致任何活跃的或者挂起的连接会丢失.在iOS7中,Cor

IOS 蓝牙(GameKit、Core Bluetooth)

GameKit的蓝牙开发注意 ● 只能用于iOS设备之间的连接 ● 只能用于同一个应用程序之间的连接 ● 最好别利用蓝牙发送比较大的数据 iOS中蓝牙的实现方案 ● iOS中提供了4个框架用于实现蓝牙连接 ● GameKit.framework(用法简单) ? 只能用于iOS设备之间的连接,多用于游戏(比如五子棋对战),从iOS7开始过期 ● MultipeerConnectivity.framework ? 只能用于iOS设备之间的连接,从iOS7开始引入,主要用于文件共享(仅限于沙盒的文 件

Core Bluetooth Programming Guide - Performing Common Peripheral Role Tasks 粗译

Core Bluetooth Programming Guide 粗译 续 code {padding:0.2em 0.4em; background:#e1e9ed;} pre {text-align:left; overflow-x: scroll; color: #d3bd7e; background: #202020; padding: 10pt 15pt; border-radius: 3px;} hr {border: 0px; border-top: 1px solid #ddd;

【转】Core Bluetooth框架之一:Central与Peripheral

原文网址:http://southpeak.github.io/blog/2014/07/29/core-bluetoothkuang-jia-zhi-%5B%3F%5D-:centralyu-peripheral/ iOS和Mac应用使用Core Bluetooth framework来与BLE(低功耗蓝牙)设备通信.我们的程序可以发现.搜索并与低功耗外围(Peripheral)蓝牙设备通信,如心跳监听器.数字温控器.甚至是其它iOS设备.这个框架抽象了支持蓝牙4.0标准低功耗设备的基本操作,

core bluetooth简单介绍

core bluetooth,蓝牙4.0限制: IOS6 以上 一.外设 peripheral 二.中心 central 三.服务,一个设备有多个服务:由蓝牙硬件厂商决定.决定哪些是用来交互(读写),哪些可获取模块信息(只读): 四.特征,一个服务有多个特征,特征是与外界交互的最小单位:由蓝牙硬件厂商决定.决定哪些是用来交互(读写),哪些可获取模块信息(只读): 五.外设主要类: (Main Objects)CBPeripheraManager----CBCentral (Data Object