小计:最近接到一个需求,蓝牙打印小票。所以查了一些资料,了解一下原理。
首先了解一下 CoreBluetooth的使用
概念
-
CBPeripheral
蓝牙外设,比如蓝牙手环、蓝牙心跳监视器、蓝牙打印机。 -
CBCentralManager
蓝牙外设管理中心,与手机的蓝牙硬件模板关联,可以获取到手机中蓝牙模块的一些状态等,但是管理的就是蓝牙外设。 -
CBService
蓝牙外设的服务,每一个蓝牙外设都有0个或者多个服务。而每一个蓝牙服务又可能包含0个或者多个蓝牙服务,也可能包含0个或者多个蓝牙特性。 -
CBCharacteristic
每一个蓝牙特性中都包含有一些数据或者信息。
链接流程
代码实现步骤
第一步,创建CBCentralManager。
第二步,扫描可连接的蓝牙外设(必须在蓝牙模块打开的前提下)。
第三步,连接目标蓝牙外设。
第四步,查询目标蓝牙外设下的服务。
第五步,遍历服务中的特性,获取特性中的数据或者保存某些可写的特性,或者设置某些特性值改变时,通知主动获取。
第六步,在通知更新特性中值的方法中读取特性中的数据(再设置特性的通知为YES的情况下)。
第七步,读取特性中的值。
第八步,如果有可写特性,并且需要向蓝牙外设写入数据时,写入数据发送给蓝牙外设。
想要了解具体代码实现,这里我就不在累赘了,主要是介绍一下实现逻辑
- 具体实现,可以去看简友的蓝牙连接代码
更多关于蓝牙相关的知识:
蓝牙--百度百科
可以只看iOS中三个蓝牙库的介绍
其他
其实每个品牌的打印机,在官网的下载里都有完整的打印机指令文档,记得去下载哦。