iOS蓝牙4.0使用(最近公司开发一个关于蓝牙4.0的项目,开发完成之后自己随手写了点东西)

项目背景:

  基于一个含有蓝牙的设备进行开锁等对锁的相关操作。

废话不多说,直接上代码

  蓝牙开发主要分为两步:中心对象和外设  中心对象即为我们手机蓝牙,外设即为外置蓝牙设备(自己理解,不对的请大家指出来)

蓝牙连接相关步骤

  创建中心对象-扫描外设-连接外设-搜索外设服务-搜索服务下面的特征值-根据特征值进行通讯(数据的收发)-断开与设备的连接

创建中心对象 

首先在我自己类的头文件中要包含CoreBluetooth的头文件,并继承两个协议<CBCentralManagerDelegate,CBPeripheralDelegate>,代码如下:

打开蓝牙,扫描外设 (蓝牙打开状态可以监听)

      

扫描外设(此处可以过滤到不想搜索到的设备,只搜索指定的设备)

 

搜到外设之后会进入这个回调方法中,在此方法中可以将搜索到的设备保存起来 

链接外设(连接上面搜索到的某个外设,通过搜索到的peripheral进行连接)

连接外设成功则会进入此方法

 搜索外设服务(此处的_peripheral则为上面连接的peripheral,可以在连接成功之后保存起来)

 

搜索到外设服务(进入此回调方法中,在此方法中可以进行对搜索到的服务进行特征搜索)

搜索到特征值(在此处可以根据搜索到的特征值进行相关操作,读、写、通知 写数据的时候 根据外设的通讯协议进行数据的封装)

监听是否向设备发送数据成功

 

蓝牙有数据返回在此代理方法中执行

断开与蓝牙的连接(在你需要的位置断开与此外设的连接)

 

断开外设成功之后会进入此代理方法中(方法中可以进行与断开设备的重连或者其余操作)

 

 以上就是在做蓝牙项目中的收获,以及对蓝牙的相关操作,贴出来希望大家一起交流,探讨!

 通常项目中会在多个页面中用到蓝牙的操作,因此最好的方法就是将蓝牙封装成单例模式!(后期会把封装的蓝牙单例模式发出来供大家参考)

转载请注明出处:http://www.cnblogs.com/lyll139/p/5667208.html 

posted @ 2016-07-14 10:55  有个人叫小毅啊  阅读(1252)  评论(0)    收藏  举报