ios蓝牙开发学习笔记(一)蓝牙概述

https://developer.apple.com/library/prerelease/content/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothOverview/CoreBluetoothOverview.html#//apple_ref/doc/uid/TP40013257-CH2-SW1

Core Bluetooth Overview

概览 略

Central and Peripheral Devices and Their Roles in Bluetooth Communication

central和peripheral设备和他们在蓝牙通讯中的角色

蓝牙通讯中的两个重要的角色,central和peripheral。相对于传统的client-server架构,peripheral代表着拥有数据的一方并且外界是需要这数据的。central代表着使用数据方,从peripheral那里获得数据并完成特定的事情。如图1-1所示。心率监测器有数据,你的mac和ios app 需要这些数据。

Figure 1-1 Central and peripheral devices
ios蓝牙开发学习笔记(一)蓝牙概述_第1张图片

Centrals Discover and Connect to Peripherals That Are Advertising

centrals发现并连接到正在广播的peripherals

peripheral在广播包中广播他们的数据。广告包中应该包含一些有用的信息,比如peripheral的名称和主要功能等。比如,数字恒温器可能就广播当前的温度。在低功耗蓝牙中广播是periphera被发现的主要方式。

central,可以扫描和监听任何他感兴趣的peripheral设备。如图1-2,central可以要求连接到任何他发现广播包的peripheral.

Figure 1-2 Advertising and discovery
这里写图片描述

How the Data of a Peripheral Is Structured

peripheral如何组织数据

peripheral可以包含一个或多个services或提供它们连接信号强度的信息。service是数据和辅助行为的集合。比如,一个心率监控器的服务用来输出心率数据。
Peripherals may contain one or more services or provide useful information about their connected signal strength. A service is a collection of data and associated behaviors for accomplishing a function or feature of a device (or portions of that device). For example, one service of a heart rate monitor may be to expose heart rate data from the monitor’s heart rate sensor.

service本身由characteristics和引用的services组成。characteristic提供服务的详细的信息。比如,心率服务可能包含一个特征值用来描述目标的位置,同时包含另一个特征值用来传输心率的数据。图1-3描述这种组织结构

Figure 1-3 A peripheral’s service and characteristics
ios蓝牙开发学习笔记(一)蓝牙概述_第2张图片

Centrals Explore and Interact with the Data on a Peripheral

central检索并与peripheral交互数据

建立连接之后,就可以discover所有的services和characteristics(广播中可能只包含部分services)

central可以通过services的characteristic来读或写数据。你的应用可以从恒温器那边读取到当前的温度,也可以设置你想要的目标温度。

How Centrals, Peripherals, and Peripheral Data Are Represented

centrals,peripherals 和 peripheral的数据如何表示

角色和数据在蓝牙框架中以一种简单直接的方式表示。

Objects on the Central Side

central端的对象

当你使用central来与peripheral通讯,你执行的是central端的操作。

Local Centrals and Remote Peripherals

在central端,设备用CBCentralManager对象代表。这个对象用来管理被发现的已连接的peripherals。图1-4显示蓝牙框架中如何表示central和peripheral.

Figure 1-4 Core Bluetooth objects on the central side

ios蓝牙开发学习笔记(一)蓝牙概述_第3张图片

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

peripheral的数据用CBService和CBCharacteristic来表示。

当你与peripheral交互时,你需要使用他的sevices和characteristics。在蓝牙sdk中service用CBService对象表示,characteristic用CBCharacteristic对象表示。图1-5描述这种结构

Figure 1-5 A remote peripheral’s tree of services and characteristics
ios蓝牙开发学习笔记(一)蓝牙概述_第4张图片

Objects on the Peripheral Side

peripheral 端的对象

如果是安装OS X v10.9 或 iOS6,那你的mac和ios设备就可以作为peripheral端设备,为其他设别提供数据。让你的设备实现peripheral角色,执行peripheral端的功能。

Local Peripherals and Remote Centrals

本地peripherals和远端centrals

在peripheral端,peripheral设备用CBPeripheralManager对象表示。这个对象用来管理发布services和characteristics,并发出广播。同时peripheral manager可用来响应读和写请求。图1-6显示这种关系

Figure 1-6 Core Bluetooth objects on the peripheral side
ios蓝牙开发学习笔记(一)蓝牙概述_第5张图片

A Local Peripheral’s Data Are Represented by CBMutableService and CBMutableCharacteristic Objects

本地peripheral的数据用CBMutableService和CBMutableCharacteristic对象表示

当你创建并想设置peripheral的数据。你需要处理peripheral manager 对象的services (CBMutableService实例),同样,characteristic的实例也是CBMutableCharacteristic对象。图1-7说明这种关系

Figure 1-7 A local peripheral’s tree of services and characteristics
ios蓝牙开发学习笔记(一)蓝牙概述_第6张图片

你可能感兴趣的:(ios蓝牙开发)