天天看點

Android BLE與終端通信(二)——Android Bluetooth基礎科普以及搜尋藍牙裝置顯示清單Android BLE與終端通信(二)——Android Bluetooth基礎搜尋藍牙裝置顯示清單

第一篇算是個熱身,這一片開始來寫些硬菜了,這篇就是實際和藍牙打交道了,是以要用到真機調試喲,這篇我會把基本上要講的概念都通俗易懂的來一遍,這樣我們腦子裡先有個邏輯,我們就好操作了,先看一下我們的剖析圖
Android BLE與終端通信(二)——Android Bluetooth基礎科普以及搜尋藍牙裝置顯示清單Android BLE與終端通信(二)——Android Bluetooth基礎搜尋藍牙裝置顯示清單
藍牙這個名稱來自于第十世紀的一位丹麥國王哈拉爾藍牙王,blatand 在英文裡的意思就是哈拉爾藍牙王 可以被解釋為 bluetooth( 藍牙 )因為國王喜歡吃藍莓,牙龈每天都是藍色的是以叫藍牙。 在行業協會籌備階段,需要一個極具有表現力的名字來命名這項高新技術。行業組織人員, 在經過一夜關于歐洲曆史和未來無線技術發展的讨論後,有些人認為用 blatand 國王的名字 命名再合适不過了。blatand 國王将挪威,瑞典和丹麥統一起來;他的口齒伶俐,善于交際,就如同這項即将面世的技術,技術将被定義為允許不同工業領域之間的協調工作,保持着各個系統領域之間的良好交流,例如計算機,手機和汽車行業之間的工作。名字于是就這麼定 下來了。 藍牙的創始人是愛立信公司,愛立信早在 1994 年就已進行研發。1997 年,愛立信與 其他裝置生産商聯系,并激發了他們對該項技術的濃厚興趣。 1998 年 2 月,跨國大公司, 包括諾基亞、蘋果、三星組成的一個特殊興趣小組(sig),他們共同的目标是建立一 個全球性的小範圍無線通信技術,即藍牙。 而藍牙這個标志的設計:它取自 harald bluetooth 名字中的「h」和「b」兩個字母, 用古北歐字母來表示,将這兩者結合起來,就成為了藍牙的 logo
藍牙技術規定每一對裝置之間進行藍牙通訊時,必須一個為主角色,另一為從角色, 才能進行通信,通信時,必須由主端進行查找,發起配對,建鍊成功後,雙方即可收發資料。 理論上,一個藍牙主端裝置,可同時與 7 個藍牙從端裝置進行通訊。一個具備藍牙通訊功 能的裝置, 可以在兩個角色間切換,平時工作在從模式,等待其它主裝置來連接配接,需要時, 轉換為主模式,向其它裝置發起呼叫。一個藍牙裝置以主模式發起呼叫時,需要知道對方的 藍牙位址,配對密碼等資訊,配對完成後,可直接發起呼叫。
藍牙主端裝置發起呼叫,首先是查找,找出周圍處于可被查找的藍牙裝置。主端裝置 找到從端藍牙裝置後,與從端藍牙裝置進行配對,此時需要輸入從端裝置的 pin 碼,也有 裝置不需要輸入 pin 碼。配對完成後,從端藍牙裝置會記錄主端裝置的信任資訊,此時主 端即可向從端裝置發起呼叫,已配對的裝置在下次呼叫時,不再需要重新配對。已配對的裝置,做為從端的藍牙耳機也可以發起建鍊請求,但做資料通訊的藍牙子產品一般不發起呼叫。鍊路建立成功後,主從兩端之間即可進行雙向的資料或語音通訊。在通信狀态下,主端和從 端裝置都可以發起斷鍊,斷開藍牙鍊路。
藍牙資料傳輸應用中,一對一序列槽資料通訊是最常見的應用之一,藍牙裝置在出廠前 即提前設好兩個藍牙裝置之間的配對資訊,主端預存有從端裝置的 pin 碼、位址等,兩端 裝置加電即自動建鍊,透明序列槽傳輸,無需外圍電路幹預。一對一應用中從端裝置可以設為兩種類型,一是靜默狀态,即隻能與指定的主端通信,不被别的藍牙裝置查找;二是開發狀 态,既可被指定主端查找,也可以被别的藍牙裝置查找建鍊。

<a href="http://blog.csdn.net/qq_26787115/article/details/50551197">android ble與終端通信(一)——android bluetooth基礎api以及簡單使用擷取本地藍牙名稱位址</a>

下面依然會被提及
1.1 認識一下 uuid uuid 含義是通用唯一識别碼 (universally unique identifier),這 是一個軟體建構的标 準,也是被開源軟體基金會 (open software foundation, osf) 的組織應用在分布式計算 環境 (distributed computing environment, dce) 領域的一部分。 在藍牙 3.0 及一下版本中,uuid 被用于唯一辨別一個服務,比如檔案傳輸服務,序列槽 服務、列印機服務等,如下: 藍牙序列槽服務 serialportserviceclass_uuid = ‘{00001101-0000-1000-8000-00805f9b34fb}’ lanaccessusingpppserviceclass_uuid = ‘{00001102-0000-1000-8000-00805f9b34fb}’ 撥号網絡服務 dialupnetworkingserviceclass_uuid = ‘{00001103-0000-1000-8000-00805f9b34fb}’ 資訊同步服務 irmcsyncserviceclass_uuid = ‘{00001104-0000-1000-8000-00805f9b34fb}’ sdp_obexobjectpushserviceclass_uuid = ‘{00001105-0000-1000-8000-00805f9b34fb} ’ 檔案傳輸服務 obexfiletransferserviceclass_uuid = ‘{00001106-0000-1000-8000-00805f9b34fb}’ irmcsynccommandserviceclass_uuid = ‘{00001107-0000-1000-8000-00805f9b34fb}’ 藍牙的連接配接有主從裝置,提供服務的可以認為是從裝置。主裝置通過 uuid 通路從裝置 提供具有相同 uuid 的服務,進而建立客服端—伺服器(c/s)模式。
Android BLE與終端通信(二)——Android Bluetooth基礎科普以及搜尋藍牙裝置顯示清單Android BLE與終端通信(二)——Android Bluetooth基礎搜尋藍牙裝置顯示清單
Android BLE與終端通信(二)——Android Bluetooth基礎科普以及搜尋藍牙裝置顯示清單Android BLE與終端通信(二)——Android Bluetooth基礎搜尋藍牙裝置顯示清單

1.注冊廣播

1.廣播接收器

Android BLE與終端通信(二)——Android Bluetooth基礎科普以及搜尋藍牙裝置顯示清單Android BLE與終端通信(二)——Android Bluetooth基礎搜尋藍牙裝置顯示清單

繼續閱讀