iOS 蓝牙4.0(数据交互)

作者: LYSNote | 来源:发表于2017-11-23 17:06 被阅读19次

    苹果提供了#import <CoreBluetooth/CoreBluetooth.h>框架,以供我们去进行蓝牙方面的开发

    首先第一步:

    要实现蓝牙功能,首先要确定设备具有蓝牙功能,并且出于开启状态

    开发中使用最多的三个类:

    • CBCentralManager 中心设备:负责扫描外围设备,查找对应服务及特征,并且提供订阅监听操作
    • CBPeripheralManager 外围设备:负责开发广播,以供中心设备查询,可以更新特征值以供中心设备监听
    • CBPeripheral 设备对象

    首先先从中心设备

    CBCentralManager创建方法


    中央设备创建方法.png 中央设备创建方法.png

    从创建方法可以看出,需要设备代理


    蓝牙状态监控代理.png

    当设备蓝牙已经开启,接下来就是搜索外围设备


    开始搜索外围设备.png

    系统还提供了其他两中方法


    系统提供的另外两种搜索外围设备方法.png 系统提供的另外两种搜索外围设备方法.png

    既然调用了搜索方法,就会有相应的回调代理


    搜索外围设备回调方法.png

    搜索到周边设备,接下来就是连接某一个设备


    连接外围设备.png

    对应的代理回调


    连接外围设备成功回调.png 连接外围设备失败回调.png 连接外围设备断开回调.png

    连接成功之后,就需要将CBPeripheral类设置代理,同时开始查询设备类对应有哪些服务


    连接外围设备成功之后,设置代理,查询服务.png

    查询服务,参数穿空就是查询所有服务


    查询外围设备服务.png

    查询回调


    查询到外围设备服务回调.png

    查询服务特征


    查询服务特征.png

    查询服务特征回调


    查询服务特征回调.png

    当你走到这一步的时候,就已经基本差不多了,接下来就是读取数据和发送数据了

    读取特征值


    读取特征值.png

    订阅服务特征,YES和NO分别是开始订阅和取消订阅


    订阅服务特征,YES和NO分别是开始订阅和取消订阅.png

    对应代理回调


    对应代理回调.png

    当订阅状态发生改变时,代理回调


    当订阅状态发生改变时,代理回调.png

    发送数据


    发送数据.png

    对应代理回调


    发送数据成功回调.png

    至此中心设备代理实现就结束了,其实没有什么


    中央设备实现流程.png

    然后就是外围设备代理实现

    CBPeripheralManager 外围设备


    外围设备创建方法.png 外围设备创建方法.png

    判断蓝牙是否开启,这个和中心设备原理一样,必须实现


    判断蓝牙是否开启,这个和中心设备原理一样,必须实现.png

    接下来就是创建服务并添加特征,我这里使用的uuid是随机创建的,到时候你们自己定


    创建服务和特征.png

    添加服务


    添加服务.png

    代理回调


    添加服务代理回调.png

    添加完服务之后,就是要开启广播


    开启广播.png

    代理回调


    开启广播代理.png

    接下来,中心设备就可以搜索到外围设备了

    然后就是处理订阅和接受数据回调

    接收到读取数据请求

    接收到读取数据请求.png

    接收到写数据请求


    接收到写数据请求.png

    接受到订阅请求

    接受到订阅请求.png

    这样基本的蓝牙功能就已经实现了,其他还有一些没有提到的方法,大家可以自己研究

    相关文章

      网友评论

        本文标题:iOS 蓝牙4.0(数据交互)

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