iOS 蓝牙 Bluetooth 外围设备 中央设备


今天项目中的蓝牙功能已经开发完毕,总结一下。
CoreBluetooth.framework:功能强大的蓝牙框架,只要该设备支持蓝牙4.0,就可以进行蓝牙传输,只要该设备支持蓝牙4.0。
CoreBluetooth中分为两大设备:中央设备和外围设备。
1.如果一个设备设置为外围设备,那他负责发布并广播服务,通知周围的中央设备它的可用服务和特征,相当于通信中的服务端
2.如果设备设置为中央设备,那他负责和外围设备建立连接,连接成功可以使用外围设备的服务和特征,相当于通信中的客户端。
即:
外围设备 —–类似于——-》服务器端
中央设备 —–类似于——-》客户端

这两大设备进行交互靠的是服务和特征。服务和特征都有唯一标识CBUUID来确定。
1.服务CBService:
中央设备只有通过服务才能与外围设备进行数据传输,类似于客户端通过网址URL才能与服务器连接一样
2.特征CBCharacteristic:
每个服务可以有多个特征,中央设备必须订阅外围设备服务的特征值,才能获取外围设备的数据,类似于GET请求可以请求获取服务器数据,POST请求可以向服务器传输数据一样。

一般我们需要的是中央设备,外围设备可以是手环,耳机……
设备作为中央设备 实现过程如下:

1.创建中央设备管理器对象,遵循代理CBCentralManagerDelegate

    self.manager = [[CBCentralManager alloc]initWithDelegate:self queue:dispatch_get_main_queue()];
    self.BleViewPerArr = [[NSMutableArray alloc]initWithCapacity:1];


2.代理方法 判断设备的蓝牙是否开启

- (void)centralManagerDidUpdateState:(CBCentralManager *)central{

        switch (central.state) {
            case CBCentralManagerStatePoweredOff:
                NSLog(@"您的手机蓝牙未开启");
                break;
            case CBCentralManagerStateResetting:
                NSLog(@"检测到您的手机蓝牙重置");
                break;
            case CBCentralManagerStateUnsupported:
                NSLog(@"检测到您的手机不支持蓝牙4.0");
                break;
            case CBCentralManagerStateUnauthorized:
                NSLog(@"检测到您的手机蓝牙没有授权");
                break;
            case CBCentralManagerStateUnknown:
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值