iOS开发之蓝牙(一)

作者: YungFan | 来源:发表于2019-03-07 15:41 被阅读22次

    在iOS开发中,我们最常用的蓝牙开发框架应该是Core Bluetooth,因为它可以与第三方蓝牙设备交互(必须要支持蓝牙4.0),蓝牙4.0以低功耗著称,所以一般也叫BLE(Bluetooth Low Energy),目前广泛应用于智能手环,智能嵌入式设备,智能家居等领域。笔者最近需要用到这个知识,所以一起来学习一下吧。在Core Bluetooth中提供了与蓝牙设备进行通信所需的类与协议,所以在开发之前一定要将他们的关系弄清楚,那么开发起来才会事半功倍。

    Apple 官方文档地址:https://developer.apple.com/documentation/corebluetooth

    重要的类与协议

    • CBCentral:中心设备,发起连接的是CBCentral
    • CBCentralManager:中心设备管理者,类似定位中的CLLocationManager
    • CBPeripheral:外围设备,被连接的设备是CBPeripheral
    • CBService:外围设备的服务,每个外围设备都会提供很多服务
    • CBCharacteristic:外围设备的特征,包含在每个服务里
    • CBDescriptor:用于描述CBCharacteristic的信息或属性
    • CBCentralManagerDelegate:CBCentralManager对象遵守的协议,用于监视外围设备的发现、连接和检索
    • CBPeripheralDelegate:CBPeripheral对象遵守的协议,用于监视外围设备的服务和属性的发现、检索和交互
    外围设备、服务和特征值的关系

    两种开发模式

    • 中心模式:如下图左边所示,以App为中心,连接其他的外设进行通信;(常见开发模式
    • 外设模式:如下图右边所示,使用手机作为外设,连接其他中心设备进行通信;


      两种开发模式

    中心模式的开发步骤

    1. 创建CBCentralManager实例进行蓝牙管理
    2. 搜索外围设备
    3. 连接外围设备
    4. 获得外围设备的服务
    5. 获得服务的特征
    6. 从外围设备读数据(读取或订阅)
    7. 给外围设备发送数据
    8. 断开连接

    注意问题

    • 不要对Core Bluetooth中的任何类进行子类化
    • iOS 10以后需要在info.plist文件中加上NSBluetoothPeripheralUsageDescription

    相关文章

      网友评论

        本文标题:iOS开发之蓝牙(一)

        本文链接:https://www.haomeiwen.com/subject/slifpqtx.html