有线设备配网

更新时间:2024-06-12 10:23:52下载pdf

有线设备配网是指通过有线网络连接路由器,配网过程无需输入路由器的热点名称和密码。本文以 Zigbee 有线网关为例,介绍有线配网业务流程。

IActivator 初始化

参数说明

参数名 类型 是否必填 说明
mode ActivatorMode 配网模式

代码示例

WiredActivator wiredActivator = (WiredActivator) ActivatorService.activator(ActivatorMode.Wired);

获取配网 Token

在执行有线设备配网操作之前,SDK 需要从云端获取配网令牌,此令牌有效期为 10 分钟。配网成功后,此令牌立即失效。如果您需要重新配网,必须重新获取令牌。

参数说明

参数名 类型 是否必填 说明
assetId String 指定的资产 ID
callback IndustryDataCallBack 回调函数

代码示例

// 获取资产激活令牌
ActivatorService.activatorToken("assetId", new IndustryDataCallBack<String>() {
            @Override
            public void onSuccess(String s) {
                Log.d(TAG, "onSuccess: " + s);
            }

            @Override
            public void onFailure(@NonNull String s, @NonNull String s1) {
                Log.d(TAG, "onFailure: " + s);
            }
        });

注册 IDiscoveryListener 监听扫描设备结果

参数说明

IWiredDevice 数据模型说明

参数名 类型 是否必填 说明
getIP() String 获取设备的 IP 地址
getGWId() String 获取设备的网关 ID
getProductKey() String 获取设备的产品密钥
IDiscovery iDiscovery = ActivatorService.discovery(DiscoveryMode.WIRED);
iDiscovery.setListener(new IDiscoveryListener() {
            @Override
            public void didDiscover(@NonNull IDiscoveryDevice iDiscoveryDevice) {
                if (iDiscoveryDevice instanceof IWiredDevice){
                    ((IWiredDevice) iDiscoveryDevice).getIP();
                    ((IWiredDevice) iDiscoveryDevice).getGWId();
                    ((IWiredDevice) iDiscoveryDevice).getProductKey();
                }
            }
        });

初始化配网参数

参数说明

参数名 类型 是否必填 说明
gwDevice IWiredDevice 传入网关设备对象
time int 设置超时时间
token String 设置令牌

代码示例

WiredActivatorParams wiredActivatorParams = new WiredActivatorParams.Builder()
                .setGWDevice(gwDevice)
                .setTimeout(time)
                .setToken("token")
                .build();
wiredActivator.setParams(wiredActivatorParams);

注册 IActivatorListener 监听配网结果

参数说明

参数名 类型 是否必填 说明
listener IActivatorListener 监听回调

代码示例

wiredActivator.setListener(new IActivatorListener() {
            @Override
            public void onSuccess(@Nullable IDevice iDevice) {
                Log.d(TAG, "onSuccess: ");
            }

            @Override
            public void onError(@NonNull String s, @NonNull String s1) {
                Log.d(TAG, "onError: " + s);

            }
        });

开始配网

该方法用于开始设备配网操作。

代码示例

wiredActivator.start();

停止配网

该方法用于停止设备配网操作。

代码示例

wiredActivator.stop();