iOS 蓝牙技术CoreBluetooth

IOS蓝牙技术—CoreBluetooth

一、iOS蓝牙简述
二、CoreBluetooth简介
1、基本概念
2、CoreBluetooth 框架介绍
三、开发模式
1、中心模式
2、外设模式

一、iOS蓝牙简述

​ iOS开发中关于蓝牙技术的框架有四种:

GameKit.framework 多用于游戏开发,iOS设备之间的连接。
MultipeerConnectivity.framework iOS设备之间传递文件,点对点的连接。
ExternalAccessory.framework 主要是用于和蓝颜2.0(需要苹果认证)设备连接通信的框架。
CoreBluetooth.framework 主要用户和蓝牙4.0的设备连接和通讯。蓝牙4.0也叫 BLE。
在这里我们就主要针对蓝牙4.0的开发,也就是iOS的BLE开发。

二、CoreBluetooth简介

1、基本概念

中心设备(central)。主动发起连接的设备。

外设(peripheral)。外部设备,比如耳机,音箱,智能手环。(当然手机也可以是外部设备,中兴设备也可能成为外部设备)。

服务。每个外设都有若干个服务,可以添加和删除服务。外设可以广播服务供中心设备区扫描。每个服务都有一个UUID,用来标识每个服务。

特征。每个服务都有若干个特征,设备之间是通过特征值来进行数据交互的。这些特征值有很多属性(比如:读,写,通知)。只有这个特征设置了相应的属性才能进行相应的操作。如果没有读的属性,中心设备数无法读取到外设的数据的。

特征的属性。每个特征都有它的属性值。不同的属性限制了外设对外提供的服务。读的属性可以有对外提供数据的能力,写属性可以对外提供数据写入特征的能力。

typedef NS_OPTIONS(NSUInteger, CBCharacteristicProperties) {
​ CBCharacteristicPropertyBroadcast = 0x01,
​ CBCharacteristicPropertyRead = 0x02,
​ CBCharacteristicPropertyWriteWithoutResponse = 0x04,
​ CBCharacteristicPropertyWrite = 0x08,
​ CBCharacteristicPropertyNotify = 0x10,
​ CBCharacteristicPropertyIndicate = 0x20,
​ CBCharacteristicPropertyAuthenticatedSignedWrites = 0x40,
​ CBCharacteristicPropertyExtendedProperties = 0x80,
​ CBCharacteristicPropertyNotifyEncryptionRequired NS_ENUM_AVAILABLE(10_9, 6_0) = 0x100,
​ CBCharacteristicPropertyIndicateEncryptionRequired NS_ENUM_AVAILABLE(10_9, 6_0) = 0x200
};
2、CoreBluetooth 框架介绍

CBCentralManager 中心设备管理,检测设备状态,扫描外部设备,链接外部设备等。

CBPeripheralManager 外部设备管理,检测外部设备状态,添加/移除服务,广播服务,更新特征值,响应中心设备的读写等。

CBPeripheral 外设对象 向外设写/读数据,订阅通知,查找服务,查找服务特征等。

CBCentral 中心设备

CBMutableService 特征服务

CBMutableCharacteristic 特征

CBUUID 表示id

CBATTError 状态码, 比如响应请求返回状态码。

typedef NS_ENUM(NSInteger, CBATTError) {
​ CBATTErrorSuccess NS_ENUM_AVAILABLE(10_9, 6_0) = 0x00,
​ CBATTErr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值