iOS开发--蓝牙BLE4.0

最近用到了蓝牙,外部蓝牙设备是读卡器,给读卡器发送指令,接受读卡器返回数据。只设计到了中心模式。概念性的东西就不说了,自行百度吧。


蓝牙的连接大体步骤:

1、建立中心角色—扫描外设(discover)                                            

2、连接外设(connect)

3、扫描外设中的服务和特征(discover)

4、外设做数据交互(explore and interact)

5、断开连接(disconnect)。


准备工作:

1、添加CoreBluetooth.framework

iOS开发--蓝牙BLE4.0_第1张图片

2、在用到蓝牙的页面加入协议 CBCentralManagerDelegate  CBPeripheralDelegate

3、用到的属性(中心管理者,外设(基本上每次只连接一个),特征。)

在viewDidLoad中对中心管理者进行初始化       [self centralManager];

iOS开发--蓝牙BLE4.0_第2张图片
iOS开发--蓝牙BLE4.0_第3张图片

开始连接:

1、检查中心设备蓝牙状态、可用则搜索周边外设

iOS开发--蓝牙BLE4.0_第4张图片

2、筛选符合条件的外设进行连接

iOS开发--蓝牙BLE4.0_第5张图片

3、连接外设成功(查找服务)、失败等状态对应不同的代理方法

iOS开发--蓝牙BLE4.0_第6张图片

4、发现服务,继续向下查找特征characteristics,找到之后订阅特征,开始监听,需要写指令给蓝牙设备的也是在这个方法里面写。

iOS开发--蓝牙BLE4.0_第7张图片

读取数据的唯一方法,那个value就是返回的数据,一般还会做一些处理,每个设备都有不同的处理,这个值是十六进制的

iOS开发--蓝牙BLE4.0_第8张图片

其他的一些代理方法,监控读写状态

iOS开发--蓝牙BLE4.0_第9张图片

5、断开连接

iOS开发--蓝牙BLE4.0_第10张图片
iOS开发--蓝牙BLE4.0_第11张图片

总结:连接外设很简单,难的是对写入的数据和读取数据的处理,进制类型的转换,一般蓝牙厂商会有文档说明数据处理的规则,but我们的文档并不准。有问题的可以简信我哦。


你可能感兴趣的:(iOS开发--蓝牙BLE4.0)