iOS開發(fā)--藍牙BLE4.0

最近用到了藍牙,外部藍牙設備是讀卡器,給讀卡器發(fā)送指令,接受讀卡器返回數(shù)據(jù)。只設計到了中心模式。概念性的東西就不說了,自行百度吧。


藍牙的連接大體步驟:

1、建立中心角色—掃描外設(discover) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???

2、連接外設(connect)

3、掃描外設中的服務和特征(discover)

4、外設做數(shù)據(jù)交互(explore and interact)

5、斷開連接(disconnect)。


準備工作:

1、添加CoreBluetooth.framework

2、在用到藍牙的頁面加入?yún)f(xié)議 CBCentralManagerDelegate ?CBPeripheralDelegate

3、用到的屬性(中心管理者,外設(基本上每次只連接一個),特征。)

在viewDidLoad中對中心管理者進行初始化 ? ? ? [self centralManager];


開始連接:

1、檢查中心設備藍牙狀態(tài)、可用則搜索周邊外設

2、篩選符合條件的外設進行連接

3、連接外設成功(查找服務)、失敗等狀態(tài)對應不同的代理方法

4、發(fā)現(xiàn)服務,繼續(xù)向下查找特征characteristics,找到之后訂閱特征,開始監(jiān)聽,需要寫指令給藍牙設備的也是在這個方法里面寫。

讀取數(shù)據(jù)的唯一方法,那個value就是返回的數(shù)據(jù),一般還會做一些處理,每個設備都有不同的處理,這個值是十六進制的

其他的一些代理方法,監(jiān)控讀寫狀態(tài)

5、斷開連接


總結(jié):連接外設很簡單,難的是對寫入的數(shù)據(jù)和讀取數(shù)據(jù)的處理,進制類型的轉(zhuǎn)換,一般藍牙廠商會有文檔說明數(shù)據(jù)處理的規(guī)則,but我們的文檔并不準??。有問題的可以簡信我哦。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容