这是BLE开发的最后一篇文章了,这篇文章将介绍一下CoreBluetooth.framework框架的外设模式。也就是APP被作为外设,连接到中心设备的实现。前边的几篇文章,将相关概念已经介绍的比较清楚了,所以这里就不在说明相关名词概念了。
一. 相关流程
将APP作为外设,其实就是让手机作为一个硬件设备来被中心设备所连接。所以我们要:
1.创建外设对象
2.设置自己所提供的服务
3.设置提供的特征
4.将特征添加到相对应的服务中
5.将自身信息广播出去
6.与中心设备做数据交互
二 .代码的实现
这里我们直接创建一个单视图工程就好了,当然还是需要先导入CoreBluetooth框架。
1.创建外设对象:在中心模式下我们首先要创建中心管理员对象,外设模式下同理也要先创建外设管理员对象。
.h文件中先导入CoreBluetooth以及声明代理。
.m文件创建对象,这里的UUID和广播名字都是自己起的。 2.配置蓝牙信息:在外设模式中外设管理员对象也有其设备状态的回调方法,我们要在设备状态正常的时候才去配置信息。
创建若干特征,然后再创建若干服务,将特征添加到服务中,再将服务添加到外设中:
接上图:
你所设置的特征和服务的个数,由自己的需求而定。这里的描述字段CBMutableDescriptor就相当于一个说明书,我们可以给每一个服务和特征都set一个Descriptor,比如说我给上边的读写特征添加了一个Descriptor,那么我们搜索到它的时候就会显示这个特征的名字为“特征1”,其他没有设置的就默认显示其UUID。3.配置成功,开始广播
添加服务到外设置后 ,通过系统的回调方法,可以看到是否添加成功。如果添加成功了,就可以向外部广播自己的信息了。我们还可以通过广播的回调方法来监听是否广播成功。4.与中心设备进行数据交互
广播出去自己的信息以后,如果中心设备与之连接成功,那么就开始进行数据的交互了。数据交互有三种方式:
(1.)向中心设备不断的发送通知:
(2.)中心设备请求读取数据:
(3.)中心设备请求写入数据:
这就是与中心设备的数据交互的过程了,到这里外设模式的介绍也就结束了,有兴趣的话,大家可以自己写一个中心模式的和一个外设模式的,可以互相通讯。IOS的蓝牙4.0(BLE)开发总共写了六篇文章,将整个CoreBluetooth框架的结构以及使用介绍了一遍。外设模式用的不是很多,也相对容易一点,所以篇幅较少。这里将整个蓝牙开发的知识整理出来,即是自己做一个随笔,也是给做蓝牙开发的小伙伴们一个参考,目前BLE的开发基本就是这些了,这些东西也都是我自己再学习还有实际的开发过程中整理出来的。只要理解了这几篇文章的内容,进行这方面的开发工作基本就没有问题了。恳请大家多多指正,一起交流,共同进步!
网友评论
我是用IPAD进行广播的。