更新时间:2024-02-21 07:25:23
由于 Matter 设备的特性,其一切能力都建立在 Matter Fabric 网络之上。在使用 Matter 设备配网和控制管理等功能前,您需要调用相关接口进行 Matter 基础信息配置。该配置操作需要在进行 Matter 相关业务处理前完成。
Fabric 是 Matter 定义的同一安全域下节点(即设备)的集合,在该安全域下节点能够彼此认证建立安全通信。一个 Fabric 共享同一证书机构(Certificate Authority,CA)的根证书(Root of Trust),同时约定一个 Fabric ID。
前提条件
在开始之前,请确保您已经完成 SDK 的 快速集成 工作。
支持范围
支持 Matter 协议的设备。
设备要求
操作系统:Android M(6.0,API 级别 23 或更高版本)
所需权限:蓝牙权限、定位权限、Wi-Fi 权限
若您需要使用 UI 业务包,请确保您集成的智能生活 App SDK 版本和 UI 业务包版本保持一致,以确保配网、控制的稳定。
配置时序如下图所示:
Matter 相关的信息与家庭相关联,因此需在 家庭切换完成 或 家庭首次加载完成 时,调用 - initFabric
查询该家庭对应的 Fabric 信息。
API
void initFabric( Context context, long gid, IThingDataCallback<OpenFabricInfo> callback);
参数说明
参数 | 说明 |
---|---|
Context | 上下文 context |
gid | 当前家庭 HomeID |
callback | 回调 |
示例代码
IThingMatterFabricManager fabricManager = ThingHomeSdk.getFabricManager();
fabricManager.initFabric(getContext(), spaceId, new IThingDataCallback<OpenFabricInfo>() {
@Override
public void onSuccess(OpenFabricInfo result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
Matter 设备的信息相较于其他类型的设备,有部分信息需要提前处理,必须在 家庭设备 和 Fabric 信息准备 两者加载完成后,调用 getDevicesFabricNodes
处理家庭下的 Matter 设备。
API
void getDevicesFabricNodes(Set<String> devIds, IThingDataCallback<ArrayList<DeviceNodeBean>> listener);
参数说明
参数 | 说明 |
---|---|
devIds | 设备 ID 列表 |
示例代码
List<DeviceBean> deviceList = homeBean.getDeviceList();
Set<String> devIds = new HashSet<>();
devIds.add(deviceBean.getDevId());
fabricManager.getDevicesFabricNodes(devIds, new IThingDataCallback<ArrayList<DeviceNodeBean>>() {
@Override
public void onSuccess(ArrayList<DeviceNodeBean> result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈