iOS蓝牙开发实战

ios蓝牙开发 

开发前提介绍  : 1. XCode  2.蓝牙手环(60)  3.苹果手机一部(1000)

蓝牙开发步骤 

iOS蓝牙开发实战_第1张图片
iOS蓝牙开发实战_第2张图片
iOS蓝牙开发实战_第3张图片

规矩我懂 先上图

蓝牙4.2

2014.12.2 蓝牙技术联盟发布

具备更低功耗, 更高的传输速度。 唤醒速度可以和zigbee媲美

iOS蓝牙开发 基础知识

蓝牙2.0 需要MIFI 认证,这个大家都知道 。 MIFI : Make for ipad , iphone , itouch  专门为苹果设备制作的设备

蓝牙4.0 : 本文章的主讲

开发框架 : CoreBluetooth

蓝牙4.0 开始正常切入开发

  • 基础知识
  •            

    central: 中心,连接硬件设备(手机端连接蓝牙手环 等等智能设备)

    peripheral: 外设, 被连接的设备(仅当外设在不断广播的时候 才能被发现)

    service: 服务

    characteristic: 特征

  • 中心模式流程
  •                

    1. 建设中心角色
    2. _manager = [[CBCentralManager alloc] initWithDelegate: self queue: nil];

      在调用这个方法的时候 带来会调用

      - (void)centralManagerDidUpdataState:(CBCentralManager *)central

      返回 :

      当前蓝牙的状态 :

      if (central.state != CBManagerStatePoweredOn) // 就代表返回失败了  当然自己看一下这个枚举


    3. 扫描外设
    4. [_manager scanForPeripheralsWithServices:#你的特征值# options: nil];

      # : 如果特征值写的是nil  那么当前所以可以被连接管理的蓝牙都可以扫描到

      但是这里有个坑 , 已经连接上的蓝牙 不会在代理里面被返回

      对应代理 :

      处理 :


      centralManager: (CBCentralManager *)central didDiscoverPeripheral: (CBPeripheral *)peripheral advertisementData: (NSDictionar *id)advertisementData RSSI: (NSNumber *)RSSI{

      if(peripheral.name != nil && ![_perilist containsObject: peripheral]){

      [_perilist addObject: peripheral];

      }

      }


    5. 连接外设
    6. 连接外设失败 : disFailToConnectPeripheral

      连接断开: didDisconnectPeripheral

      连接成功: didConectPeripheral

    7. 扫描外设中的服务

      discoverServices


      发现并获取外设中的服务

      didDiscoverServices


    8. 扫描外设对于的服务特征

      discoverCharacteristice


      发现并获取外设对应的服务特征 disDiscoverCharateristiceForService

      给对应的特征写数据 writeValue:forCharacteristic:type

    9. 订阅特征的通知 setNotifyValue: forCharacteristic

      根据特殊读取数据 didUpdataValueForCharacteristic

    10. 蓝牙开发核心代码

      建立蓝牙管理类  采用单利模式

    11. /*

      这么重要的信息要注释掉

      我觉得我还是视频来干这些事情比较好 写出来 好麻烦啊

      */

    12. 你可能感兴趣的:(iOS蓝牙开发实战)