LBLECentral
這個類別可讓 LinkIt 7697 作為一個 BLE 主控裝置。透過它,可以掃描鄰近的 BLE 周邊裝置,檢查其廣播內容,並且取得其裝置地址。
LBLECentral 類別並不提供連線到周邊裝置的服務。開發者應該透過 LBLEClient 類別來連線到特定的裝置地址,以存取周邊裝置上面的資料特性。
LBLECentral 實際上是一個單件(singleton),開發者不需要創建物件,只需要直接呼叫 LBLECentral.scan()
,然後就可以用 LBLECentral.getPeripheralCount()
來取得掃描到的裝置數量。接著就可以使用比如 getName()
跟 getAddress()
等方法來取得裝置資訊。如下:
跟掃描相關的 API
> scan()
> stopScan()
> getPeripheralCount ()
開始掃描鄰近的周邊裝置。此 API 會讓系統進入掃描狀態,並且在背景持續掃描周邊的 BLE 裝置。
當掃描到新的周邊裝置之後,系統會自動更新內部的資料,開發者可呼叫 getPeripheralCount() 來取得當前掃描到的裝置數量,然後根據裝置的索引號(從 0 開始),用 getPeripheralName
或是 isBeacon
等 API 來取得每個裝置的資訊。
Syntax
Parameters
n/a
Returns
n/a
周邊裝置資訊相關 API
當取得周邊裝置的數量之後,可根據周邊裝置的索引號(從 0 開始,到「周邊裝置的數量 - 1」),透過下列的 API 來取得周邊裝置的相關資訊。要注意的是,因為 BLE 廣播資訊可以高度自訂,不是所有的周邊裝置都會提供同樣的資訊。比如說,有的裝置可能不會提供自己的裝置名稱。在這種情況下,將會得到空白的結果。
getAddress()
getBLEAddress()
getManufacturer()
getName()
getRSSI()
getTxPower()
getServiceUuid()
根據索引號取得裝置的字串形式位址。
Syntax
String addressString = LBLECentral.getAddress(index);
Parameters
index 從 0 到 (getRemotePeripheralCount() - 1) 之間的索引號。相同的索引號代表相同的裝置。
Returns
該周邊裝置的裝置地址,以字串形式呈現。
取得掃描時的 RSSI 信號強度。
Syntax
Parameters
index 從 0 到 (getRemotePeripheralCount() - 1) 之間的索引號。相同的索引號代表相同的裝置。
Returns
RSSI 信號強度,以 dbm 為單位。
Last updated