蓝牙

在CoreBluetooth框架中,有两个主要的角色:周边和中央(Peripheral and Central) ,整个框架都是围绕这两个主要角色设计的,他俩之间有一系列的回调交换数据。

周边(Peripheral)是生成或者保存了数据的设备,中央(Central)是使用这些数据的设备。所有可用的iOS设备可以作为周边(Peripheral)也可以作为中央(Central),但不可以同时既是周边也是中央。

周边和中央这两个角色在CoreBluetooth框架中是用两个类来表示的,CBPeripheralManager这个类代表周边,CBCentralManager 这个类代表中央。在中央这边,一个CBPeripheral 对象代表着相应的和中央连接着的周边;同样的,在周边这边,一个CBCentral 对象代表着相应的和周边连接着的中央。

你可以认为周边是一个广播数据的设备,他广播到外部世界说他这儿有数据,并且也说明了能提供的服务。另一边,中央开始扫描附近有没有服务,如果中央发现了想要的服务,然后中央就会请求连接周边,一旦连接建立成功,两个设备之间就开始交换传输数据了。

在中央这边,CBService 类代表服务,CBCharacteristic 类代表特征。在周边这边,CBMutableService 类代表服务,CBMutableCharacteristic 类代表特征。

创建一个中央:

1、#import

2、使当前类遵循CBCentralManagerDelegate和CBPeripheralDelegate两个协议

3、创建一个数组管理外设,声明一个中央的对象

@property (nonatomic, strong)NSMutableArray *periperals;

@property (nonatomic, strong)CBCentralManager *manager;

4、创建该中央对象,并指定代理,实现数组懒加载

self.manager = [[CBCentralManager alloc] init];

self.manager.delegate = self;

- (NSMutableArray *)peripherals

{

if (!_periperals){

_periperals = [NSMutableArray array];

}

return _periperals;

}

5、

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