美文网首页蓝牙
CoreBluetooth系列教程(一):蓝牙连接流程

CoreBluetooth系列教程(一):蓝牙连接流程

作者: 卢叁 | 来源:发表于2022-07-22 09:47 被阅读0次

    iOS系统中总共提供了4个框架用于实现蓝牙连接,分别如下:

    1.GameKit.framework(用法简单)
    只能用于iOS设备之间的同个应用内连接,多用于游戏(如:棋牌类),从iOS7开始过期
    2.MultipeerConnectivity.framework(代替GameKit.framework)
    只能用于iOS设备之间的连接,从iOS7开始引入,主要用于非联网状态下,通过wifi或者蓝牙进行文件共享(仅限于沙盒的文件),多用于附近无网聊天
    3.ExternalAccessory.framework(MFi)
    可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证
    4.CoreBluetooth.framework(常用 Apple推行蓝牙的核心)可用于第三方蓝牙设备交互,必须要支持蓝牙4.0。硬件至少是4s,系统至少是iOS6。蓝牙4.0以低功耗著称,一般也叫BLE(Bluetooth Low Energy)
    

    关联使用的框架有HealthKitHomeKitwathOSiBeacon。现在厂商主要使用蓝牙做自家智能硬件产品,如跑步机、蓝牙音箱、蓝牙车锁等。蓝牙上限传输是20字节,蓝牙传输上限是20字节 所以大数据传输会涉及到拆包、拼包、校验等。

    蓝牙连接流程

    1.建立设备管理者
    2.扫描设备
    3.连接设备
    4.扫描设备的服务
    5.扫描设备中的特征
    6.订阅或读取设备特征值
    7.获取设备中的数据或将数据写入设备
    

    CenterManager 扫描链接外设成功后 启动一个Peripheral外设管理对象 负责外设数据的操作处理

    1.启动一个Peripheral外设管理对象 负责设备数据的操作处理
    2.扫描设备中的服务和特征(Discover Services And Characteristics)
    3.获取设备的services (基本服务(电池信息和设备信息)、硬件自定服务)
    4.Discover指定Service下的特征 获取的Characteristics,
    5.通过指定特征( Characteristics)订阅(Notiy)/读取(Read)/写入(Write) 等操作
    6.获取Characteristics的Descriptor和Descriptor的值
    

    Characteristics是蓝牙数据传输操作的做小单元。蓝牙通信里的服务和特征是指每个设备都会有1个或多个服务,每个服务里都会有1个或多个特征。而特征就是具体的键值对,提供数据的地方,每个特征属性分为:读、写、通知等等。
    下一篇会讲代码具体的实现。

    相关文章

      网友评论

        本文标题:CoreBluetooth系列教程(一):蓝牙连接流程

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