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

本文转载自:http://blog.csdn.net/swibyn/article/details/52096148

Core Bluetooth Overview

概览 略

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

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


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

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

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

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

Figure 1-2 Advertising and discovery


peripheral如何组织数据

peripheral可以包含一个或多个services或提供它们连接信号强度的信息。service是数据和辅助行为的集合。比如,一个心率监控器的服务用来输出心率数据。

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

Figure 1-3 A peripheral’s service and characteristics


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

central检索并与peripheral交互数据

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

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

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

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

central端的对象

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

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

Figure 1-4 Core Bluetooth objects on the central side


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

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张图片

peripheral 端的对象

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

本地peripherals和远端centrals

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

Figure 1-6 Core Bluetooth objects on the peripheral side


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

本地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蓝牙开发学习笔记(一)蓝牙概述)