美文网首页BLE4.0iOS开发 技术集锦iOS 蓝牙开发学习笔记
ios蓝牙开发学习笔记(一)蓝牙概述

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

作者: idiot_lin | 来源:发表于2016-11-30 21:40 被阅读137次

    本文转载自: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 需要这些数据。

    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

    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

    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

    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

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

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