SDK提供藍牙Mesh組控業(yè)務(wù)的App端解決方案,提供了藍牙Mesh添加分組、刪除分組以及組控的能力。
概述
單控使用物模型 SDK即可。
依賴 SDK | 概述 |
物模型SDK提供了App端的物模型。 |
使用說明
連接到Mesh網(wǎng)絡(luò)
在單控或組控設(shè)備前,需要保證當(dāng)前APP連接到Mesh網(wǎng)絡(luò)。
// 使用默認的 ConnectionParams 連接到Mesh網(wǎng)絡(luò)
ConnectionParams connectionParams = new ConnectionParams();
TgMeshManager.getInstance().connect(connectionParams);
獲取Mesh網(wǎng)絡(luò)是否連接
可以使用下面的方式判斷當(dāng)前是否已經(jīng)連接到了Mesh網(wǎng)絡(luò)。
boolean isConnected2Mesh = TgMeshManager.getInstance().isConnectedToMesh();
給設(shè)備配置組播地址
組控設(shè)備前,需要先給這些設(shè)備單獨配置組播地址以加到一個組中。其中對單個設(shè)備配置使用下面的方法調(diào)用,方法入?yún)⑿枰蕾嚳刂品纸M相關(guān)API,詳見API創(chuàng)建設(shè)備組、預(yù)先獲取mesh設(shè)備組播地址配置、獲取設(shè)備組的設(shè)備列表、批量刪除設(shè)備組、刪除設(shè)備組。
String deviceKey = ""; // 待添加組播地址設(shè)備的deviceKey
int primaryAddress = 0; // 主節(jié)點的單播地址
int elementAddress = 0; // 待配置節(jié)點的單播地址
int subscriptionAddress = 59097; //需要訂閱的組播地址
int modelIdentifier = 0; // SIG Model ID or Vendor Model ID
TgMeshManager.getInstance().configModelSubscriptionAdd(deviceKey, primaryAddress, elementAddress, subscriptionAddress, modelIdentifier, new IActionListener<Boolean>() {
@Override
public void onSuccess(Boolean result) {
}
@Override
public void onFailure(int errorCode, String desc) {
}
}
);
參數(shù)說明
名稱 | 類型 | 必填 | 默認值 | 描述 |
deviceKey | String | 是 | 待配置節(jié)點的deviceKey。不同設(shè)備的deviceKey不一樣。 | |
primaryAddress | Integer | 是 | 和elementAddress一致。 | |
elementAddress | Integer | 是 | 待配置節(jié)點的單播地址。 | |
subscriptionAddress | Integer | 是 | 需要訂閱的組播地址。 | |
modelIdentifier | Integer | 是 | SIG Model ID or Vendor Model ID,用于標識節(jié)點內(nèi)的模型。 | |
deviceControlListener | IActionListener<Boolean> | 否 | 配置結(jié)果回調(diào)。 |
刪除設(shè)備配置的組播地址
刪除一個組或者從組里刪除某些設(shè)備時候,需要對這些設(shè)備執(zhí)行刪除組播地址的操作。其中對單個設(shè)備刪除組播配置使用下面的方法調(diào)用,方法入?yún)⑿枰蕾嚳刂品纸M相關(guān)API,詳見API創(chuàng)建設(shè)備組、預(yù)先獲取mesh設(shè)備組播地址配置、獲取設(shè)備組的設(shè)備列表、批量刪除設(shè)備組、刪除設(shè)備組。
String deviceKey = ""; // 待添加組播地址設(shè)備的deviceKey
int primaryAddress = ; // 主節(jié)點的單播地址
int elementAddress = ; // 待刪除配置節(jié)點的單播地址
int subscriptionAddress = ; //需要刪除的組播地址
int modelIdentifier = ; // SIG Model ID or Vendor Model ID
TgMeshManager.getInstance().configModelSubscriptionDelete(deviceKey, primaryAddress, elementAddress, subscriptionAddress, modelIdentifier, new IActionListener<Boolean>() {
@Override
public void onSuccess(Boolean result) {
}
@Override
public void onFailure(int errorCode, String desc) {
}
}
);
參數(shù)說明
名稱 | 類型 | 必填 | 默認值 | 描述 |
deviceKey | String | 是 | 待配置節(jié)點的deviceKey。不同設(shè)備的deviceKey不一樣 | |
primaryAddress | Integer | 是 | 和elementAddress一致 | |
elementAddress | Integer | 是 | 待配置節(jié)點的單播地址 | |
subscriptionAddress | Integer | 是 | 需要刪除的已訂閱的組播地址 | |
modelIdentifier | Integer | 是 | SIG Model ID or Vendor Model ID,用于標識節(jié)點內(nèi)的模型 | |
deviceControlListener | IActionListener<Boolean> | 否 | 配置結(jié)果回調(diào) |
組控調(diào)用
設(shè)備組控是基于物的模型對設(shè)備定義的屬性進行操作。關(guān)于屬性的描述,請參見基本概念。
String groupId = "";
String method = "thing.attribute.set";
String params = "{\"powerstate\":1}";
Map<String, Object> extensionMap = new HashMap<>();
extensionMap.put("iotId", "9GsLSxg4FYgoGi4F8ET4000000");
extensionMap.put("groupAddress", 59097);
TgMeshManager.getInstance().sendGroupMessage(groupId, method, params, extensionMap, new IActionListener<Boolean>() {
@Override
public void onSuccess(Boolean result) {
}
@Override
public void onFailure(int errorCode, String desc) {
}
});
參數(shù)說明
名稱 | 類型 | 必填 | 默認值 | 描述 |
groupId | String | 是 | 待控制組的ID。 | |
method | String | 是 | 目前取值"thing.attribute.set"。 | |
params | String | 是 | JSON String. 基于物模型的描述。 | |
extensionMap | Map<Stringm, Object> | 是 | 擴展參數(shù) 包括分組內(nèi)其中一個設(shè)備的iotId, key = "iotId" 和該分組的組播地址,key = "groupAddress"。 | |
deviceControlListener | IActionListener<Boolean> | 否 | 組控消息回調(diào)。onSuccess表示發(fā)送成功, onFailure 表示發(fā)送失敗。 |
- 本页导读 (0)
- 概述
- 使用說明