扫设备二维码配网

更新时间:2023-09-18 07:42:10下载pdf

该功能只适用于已连接互联网的设备。

配网流程

设备HTTPS DNSMQTTApp云端设备上电联网重置设备为待配网状态选择 HTTPDNS,获取mqttsUrl 域名返回 mqttsUrl 域名使用 UUID 连接 MQTT扫设备二维码查询设备 UUID,请求配网 Token根据配网 Token 轮询入网设备推送 Token 和 region透传给设备激活设备激活成功激活成功,返回成功设备列表设备HTTPS DNSMQTTApp云端扫描设备二维码配网流程

查询设备 UUID

//二维码扫码得到的 URL
ThingHomeSdk.getActivatorInstance().deviceQrCodeParse("url", new IThingDataCallback<QrScanBean>() {
            @Override
            public void onSuccess(QrScanBean result) {
                if(result != null){
                    //取出 result.actionData 中的 uuid 用于后续配网入参

                }
            }

            @Override
            public void onError(String errorCode, String errorMessage) {
                //errorCode:QR_PROTOCOL_NOT_RECOGNIZED 协议不可识别

            }
        });

初始化配网参数

ThingQRCodeActivatorBuilder builder = new ThingQRCodeActivatorBuilder()
        .setUuid(uuid)
        .setHomeId(homeId)
        .setContext(mActivity)
        .setTimeOut(timeout)
        .setListener(new IThingSmartActivatorListener() {

                @Override
                public void onError(String errorCode, String errorMsg) {

                }

                @Override
                public void onActiveSuccess(DeviceBean devResp) {

                }

                @Override
                public void onStep(String step, Object data) {

                }
            }
        ));

参数说明

参数 说明
uuid 设备 UUID,可通过扫设备二维码获取
homeId 家庭 ID,获取方式请参考 家庭管理 章节
timeout 配网的超时时间设置,默认是 100s,单位为秒

调用配网方法

IThingActivator mThingActivator = ThingHomeSdk.getActivatorInstance().newQRCodeDevActivator(builder);
//开始配网
mThingActivator.start();
//停止配网
mThingActivator.stop();
//销毁
mThingActivator.onDestory();