小計:最近接到一個需求,藍牙打印小票。所以查了一些資料,了解一下原理。
首先了解一下 CoreBluetooth的使用
概念
-
CBPeripheral
藍牙外設,比如藍牙手環、藍牙心跳監視器、藍牙打印機。 -
CBCentralManager
藍牙外設管理中心,與手機的藍牙硬件模板關聯,可以獲取到手機中藍牙模塊的一些狀態等,但是管理的就是藍牙外設。 -
CBService
藍牙外設的服務,每一個藍牙外設都有0個或者多個服務。而每一個藍牙服務又可能包含0個或者多個藍牙服務,也可能包含0個或者多個藍牙特性。 -
CBCharacteristic
每一個藍牙特性中都包含有一些數據或者信息。
鏈接流程
代碼實現步驟
第一步,創建CBCentralManager。
第二步,掃描可連接的藍牙外設(必須在藍牙模塊打開的前提下)。
第三步,連接目標藍牙外設。
第四步,查詢目標藍牙外設下的服務。
第五步,遍歷服務中的特性,獲取特性中的數據或者保存某些可寫的特性,或者設置某些特性值改變時,通知主動獲取。
第六步,在通知更新特性中值的方法中讀取特性中的數據(再設置特性的通知為YES的情況下)。
第七步,讀取特性中的值。
第八步,如果有可寫特性,并且需要向藍牙外設寫入數據時,寫入數據發送給藍牙外設。
想要了解具體代碼實現,這里我就不在累贅了,主要是介紹一下實現邏輯
- 具體實現,可以去看簡友的藍牙連接代碼
更多關于藍牙相關的知識:
藍牙--百度百科
可以只看iOS中三個藍牙庫的介紹
其他
其實每個品牌的打印機,在官網的下載里都有完整的打印機指令文檔,記得去下載哦。