蓝牙打印

小计:最近接到一个需求,蓝牙打印小票。所以查了一些资料,了解一下原理。

首先了解一下 CoreBluetooth的使用

概念

  • CBPeripheral 蓝牙外设,比如蓝牙手环、蓝牙心跳监视器、蓝牙打印机。
  • CBCentralManager 蓝牙外设管理中心,与手机的蓝牙硬件模板关联,可以获取到手机中蓝牙模块的一些状态等,但是管理的就是蓝牙外设。
  • CBService 蓝牙外设的服务,每一个蓝牙外设都有0个或者多个服务。而每一个蓝牙服务又可能包含0个或者多个蓝牙服务,也可能包含0个或者多个蓝牙特性。
  • CBCharacteristic 每一个蓝牙特性中都包含有一些数据或者信息。

链接流程
蓝牙打印_第1张图片

代码实现步骤

第一步,创建CBCentralManager。
第二步,扫描可连接的蓝牙外设(必须在蓝牙模块打开的前提下)。
第三步,连接目标蓝牙外设。
第四步,查询目标蓝牙外设下的服务。
第五步,遍历服务中的特性,获取特性中的数据或者保存某些可写的特性,或者设置某些特性值改变时,通知主动获取。
第六步,在通知更新特性中值的方法中读取特性中的数据(再设置特性的通知为YES的情况下)。
第七步,读取特性中的值。
第八步,如果有可写特性,并且需要向蓝牙外设写入数据时,写入数据发送给蓝牙外设。

想要了解具体代码实现,这里我就不在累赘了,主要是介绍一下实现逻辑

  • 具体实现,可以去看简友的蓝牙连接代码

更多关于蓝牙相关的知识:
蓝牙--百度百科
可以只看iOS中三个蓝牙库的介绍


其他

其实每个品牌的打印机,在官网的下载里都有完整的打印机指令文档,记得去下载哦。

  • 另外这里有另外一位简友的文章介绍了打印机指令,另外自己写了一段原始的指令集打印小票指令集

  • 另外介绍一个位大牛封装打印小票的完整demo。
    Bluetooth
    github地址

你可能感兴趣的:(蓝牙打印)