藍牙打印

小計:最近接到一個需求,藍牙打印小票。所以查了一些資料,了解一下原理。

首先了解一下 CoreBluetooth的使用

概念

  • CBPeripheral 藍牙外設,比如藍牙手環、藍牙心跳監視器、藍牙打印機。
  • CBCentralManager 藍牙外設管理中心,與手機的藍牙硬件模板關聯,可以獲取到手機中藍牙模塊的一些狀態等,但是管理的就是藍牙外設。
  • CBService 藍牙外設的服務,每一個藍牙外設都有0個或者多個服務。而每一個藍牙服務又可能包含0個或者多個藍牙服務,也可能包含0個或者多個藍牙特性。
  • CBCharacteristic 每一個藍牙特性中都包含有一些數據或者信息。

鏈接流程

代碼實現步驟

第一步,創建CBCentralManager。
第二步,掃描可連接的藍牙外設(必須在藍牙模塊打開的前提下)。
第三步,連接目標藍牙外設。
第四步,查詢目標藍牙外設下的服務。
第五步,遍歷服務中的特性,獲取特性中的數據或者保存某些可寫的特性,或者設置某些特性值改變時,通知主動獲取。
第六步,在通知更新特性中值的方法中讀取特性中的數據(再設置特性的通知為YES的情況下)。
第七步,讀取特性中的值。
第八步,如果有可寫特性,并且需要向藍牙外設寫入數據時,寫入數據發送給藍牙外設。

想要了解具體代碼實現,這里我就不在累贅了,主要是介紹一下實現邏輯


更多關于藍牙相關的知識:
藍牙--百度百科
可以只看iOS中三個藍牙庫的介紹


其他

其實每個品牌的打印機,在官網的下載里都有完整的打印機指令文檔,記得去下載哦。

  • 另外這里有另外一位簡友的文章介紹了打印機指令,另外自己寫了一段原始的指令集打印小票指令集

  • 另外介紹一個位大牛封裝打印小票的完整demo。
    Bluetooth
    github地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容