在CoreBluetooth框架中,有两个主要的角色:周边和中央(Peripheral and Central) ,整个框架都是围绕这两个主要角色设计的,他俩之间有一系列的回调交换数据。
周边(Peripheral)是生成或者保存了数据的设备,中央(Central)是使用这些数据的设备。所有可用的iOS设备可以作为周边(Peripheral)也可以作为中央(Central),但不可以同时既是周边也是中央。
周边和中央这两个角色在CoreBluetooth框架中是用两个类来表示的,CBPeripheralManager这个类代表周边,CBCentralManager 这个类代表中央。在中央这边,一个CBPeripheral 对象代表着相应的和中央连接着的周边;同样的,在周边这边,一个CBCentral 对象代表着相应的和周边连接着的中央。
你可以认为周边是一个广播数据的设备,他广播到外部世界说他这儿有数据,并且也说明了能提供的服务。另一边,中央开始扫描附近有没有服务,如果中央发现了想要的服务,然后中央就会请求连接周边,一旦连接建立成功,两个设备之间就开始交换传输数据了。
在中央这边,CBService 类代表服务,CBCharacteristic 类代表特征。在周边这边,CBMutableService 类代表服务,CBMutableCharacteristic 类代表特征。
创建一个中央:
1、#import<CoreBluetooth/CoreBluetooth.h>
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、
网友评论