Android 使用低功耗蓝牙简单介绍
何為低功耗藍牙
Android 4.3(API Level 18)開始引入Bluetooth Low Energy(BLE,低功耗藍牙)的核心功能并提供了相應的 API, 應用程序通過andr這些 API 掃描藍牙設備、查詢 services、讀寫設備的 characteristics(屬性特征)等操作。
Android BLE 使用的藍牙協議是 GATT 協議,有關該協議的詳細內容可以參見藍牙官方文檔。以下我引用一張官網的圖來大概說明 Android 開發中我們需要了解的一些 Bluetooth Low Energy 的專業術語。
? Android系統藍牙的整體架構
傳統藍牙和BLE藍牙的主要區別
?幾個重要概念
GATT(通用屬性規范:Generic Attribute Profile ) : GATT profile是一個通用規范用于在BLE鏈路發送和接收被稱為“屬性(attributes)”的數據片,目前所有的低功耗應用 profile都是基于GATT.
ATT (屬性協議:Attribute Protocol ) : GATT是建立在屬性協議( ATT )的頂層,通常也被稱為GATT/ ATT 。 ATT進行了優化用于在BLE設備上運行。為此,它采用盡可能少的字節越好。每個attribute屬性被UUID(通用唯一標識符)唯一標識 ,UUID是標準128-bit格式的ID用來唯一標識信息。attributes 被 ATT 格式化characteristics和services形式進行傳送。
Characteristic : Characteristic可以理解為一個數據類型(類似于一個類),它包括一個value和0至多個對次value的描述(Descriptor)。
Descriptor : 對Characteristic的描述,例如范圍、計量單位等。
Service : Characteristic的集合。例如一個service叫做“Heart Rate Monitor”,它可能包含多個Characteristics,其中可能包含一個叫做“heart rate measurement”的Characteristic。
Android BLE API 簡介
BluetoothAdapter
BluetoothAdapter 擁有基本的藍牙操作,例如開啟藍牙掃描,使用已知的 MAC 地址 (BluetoothAdapter#getRemoteDevice)實例化一個 BluetoothDevice 用于連接藍牙設備的操作等等。
BluetoothDevice
代表一個遠程藍牙設備。這個類可以讓你連接所代表的藍牙設備或者獲取一些有關它的信息,例如它的名字,地址和綁定狀態等等。
BluetoothGatt
這個類提供了 Bluetooth GATT 的基本功能。例如重新連接藍牙設備,發現藍牙設備的 Service 等等。
BluetoothGattService
這一個類通過 BluetoothGatt#getService 獲得,如果當前服務不可見那么將返回一個 null。這一個類對應上面說過的 Service。我們可以通過這個類的 getCharacteristic(UUID uuid) 進一步獲取 Characteristic 實現藍牙數據的雙向傳輸。
BluetoothGattCharacteristic
這個類對應上面提到的 Characteristic。通過這個類定義需要往外圍設備寫入的數據和讀取外圍設備發送過來的數據。
?
總結
以上是生活随笔為你收集整理的Android 使用低功耗蓝牙简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信驾校服务平台功能开发
- 下一篇: 批量裁剪GIS数据(包含GDB,MDB,