Matter 设备接入准备

更新时间:2024-05-16 07:15:49下载pdf

由于 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 业务包,请确保您集成的 Cube App SDK 版本和 UI 业务包版本保持一致,以确保配网、控制的稳定。

Fabric 信息准备

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) {

}
});