iOS開發 藍芽學習的總結

2021-07-23 15:19:51 字數 956 閱讀 1361

前言:

藍芽我們知道在外設方面用的比較多,況且目前在醫療運動等方便使用也比較廣泛,博主個人對於外設這一塊其實挺看重的,未來必定是可穿戴裝置的天下,在達不到完全把功能整合到穿戴裝置的技術和降低成本的條件下,外設是乙個很好的選擇,藍芽無疑起到決定性的作用。

最近在看藍芽,關於藍芽,也許你很了解這個名詞,但是你並不知道它的原理,先推薦幾篇大神寫的部落格,初步了解下:

藍芽有兩種情況:中心裝置(central)和外設(peripheral)

從其字面理解,中心裝置就是用來接收並處理外設傳送資料的端,外設自然就是發射訊息端,這是在相對層面來說,中心也可以向外設傳送資料,不過一般都是傳送指令來控制外設,這一點理解就好。

中心裝置(central)

將我們的手機作為中心裝置,來接收外設傳送的資料,如手環。這種情況是最簡單也最好處理的,不需要設定uuid和一些藍芽的引數。需要處理的就是掃瞄裝置->發現裝置->連線裝置->接收廣播->處理服務和特徵->展示服務和特徵。

在此可能還會有裝置斷開重連,自動連線,繫結裝置的一些操作:

斷開重連:連線後可獲取到裝置的uuid並儲存,在斷開**中檢測到斷開後,查詢搜尋到的裝置的uuid是否和儲存的uuid一致,若一致則連線;

自動連線:第一次連線保留了外接裝置的uuid,再次開啟藍芽一旦檢測到外接裝置的uuid和儲存的一致則自動連線;

繫結裝置:裝置都會有唯一mac位址,一般很少會寫進外接裝置中,繫結裝置在外置裝置中也不多見,我們所見到的也不過是斷開重連和自動連線的結合使用,好像繫結了一樣,這兩個功能足以滿足使用者需要,如果需要繫結則需要外接裝置提供mac位址,因為裝置uuid並不是唯一的,這種情況發生在我們使用另外一台裝置來連線外接裝置,只有在同一臺裝置上,外設的uuid是不變的。

外設(peripheral)

外設就像是乙個廣播,工作時無時無刻不在向外廣播著,廣播的內容我們叫做服務,每乙個服務可以有多個特徵,在**中,裝置建立連線後可以拿到服務和特徵的值。

總結

ios開發藍芽 BLE

import 中心管理者 property nonatomic,strong cbcentralmanager themanager property nonatomic,strong cbperipheral theperpher property nonatomic,strong cbchara...

iOS藍芽開發 藍芽連線和資料讀寫

在做藍芽開發之前,最好先了解一些概念 服務 services 藍芽外設對外廣播的必定會有乙個服務,可能也有多個,服務下面包含著一些特徵,服務可以理解成乙個模組的視窗 特徵 characteristic 存在於服務下面的,乙個服務下面也可以存在多個特徵,特徵可以理解成具體實現功能的視窗,一般特徵都會有...

開發藍芽程式

這幾天需要開發乙個藍芽程式,指定用widcomm驅動,網上查了下資料,找到32feet.net 的乙個開源專案,利用這個專案可以實現想要的功能.不過先得裝乙個widcomm驅動程式,網上有很多破解版本.開發時,看裡面的幫助文件,還有很好的例子,幾乎都是用vb寫的,可以參照介面轉化為c 需要說明的是 ...