以太网有线配网

一、概述

本文主要介绍如何使用配网SDK(含UI)、配网SDK(不含UI)进行Ethernet(以太网)有线网络配网。

二、前提条件

  1. 完成准备工作
  2. 完成环境搭建
  3. 完成配网SDK(含UI)或者配网SDK(不含UI)集成

三、使用

3.1 配网流程

Ethernet(以太网)有线配网,是指设备通过有线线路接入网络(路由器),免去用户在配网过程中输入账户/密码的操作,直接将配网信息发送给设备,最后完成注册、绑定等激活操作。

3.2 配网SDK(含UI)

3.2.1 跳转到配网设备列表页

跳转到选择设备列表页,里面列举了当前SDK支持的所有设备

   LMAccessSDKManager.Companion.getInstance()
                .gotoAccessListPage(
                        this,
                        "homeId",
                        "roomId",
                        "coapServer",
                        new LumiResultCallBack() {
                            @Override
                            public void success(@NonNull WeakReference<Activity> weakReference, @Nullable String s) {

                            }

                            @Override
                            public void fail(@Nullable Integer integer, @Nullable String s) {

                            }
                        }
                );

参数说明

字段 数据类型 描述 获取渠道
homeId String 家庭位置 接口获取,详情参见Aqara开发者平台
roomId String 房间位置 接口获取,详情参见Aqara开发者平台
coapServer String 设备入网域名(设备入网到哪个服务器) 接口获取,详情参见Aqara开发者平台

3.2.2 跳转到指定的设备配网页面

LMAccessSDKManager.Companion.getInstance()
        .gotoAccessConfigModule(
                this,
                "deviceModel",
                "homeId",
                "roomId",
                "coapServer",
                new LumiResultCallBack() {
                    @Override
                    public void success(@NonNull WeakReference<Activity> weakReference, @Nullable String s) {

                    }

                    @Override
                    public void fail(@Nullable Integer integer, @Nullable String s) {

                    }
                }

        );

参数说明

字段 数据类型 描述 获取渠道
deviceModel String 设备模型值 参见附录支持的入网设备列表
homeId String 家庭位置 接口获取,详情参见Aqara开发者平台
roomId String 房间位置 接口获取,详情参见Aqara开发者平台
coapServer String 设备入网域名(设备入网到哪个服务器) 接口获取,详情参见Aqara开发者平台

3.3 配网SDK(不含UI)

3.3.1 获取BindKey

需要第三方App自行请求云端接口获取,详情参见接口文档

3.3.2 发现设备

WifiScanner wifiScanner = new WifiScanner(this);
wifiScanner.findDeviceByMDns(2000L)
        .onTerminateDetach()
        .as(AutoDispose.autoDisposable(AndroidLifecycleScopeProvider.from(this)))
        .subscribe(new Consumer<List<LANDeviceEntity>>() {
            @Override
            public void accept(List<LANDeviceEntity> lanDeviceEntities) throws Exception {

            }
        }, new Consumer<Throwable>() {
            @Override
            public void accept(Throwable throwable) throws Exception {

            }
        });

参数说明

字段 数据类型 描述 说明
intervalTime long 间隔时间 每隔多少毫秒SDK回调一次结果

3.3.3 发送配网信息

AccessConfigBean accessConfigBean = new AccessConfigBean(
        "coapServer",
        "bindKey"
);

AccessAPManager manager = new AccessAPManager.WifiAccessBuilder()
        .setAccessInfo(accessConfigBean)
        .setDeviceIp("设备ip地址")
        .setAccessMode(AccessAPManager.WifiAccessMode.ACCESS_MODE_TETHERNET)
        .setAccessListener(new IAccessListener() {
            @Override
            public void connectSuccess() {

            }

            @Override
            public void accessResult(@Nullable String s) {

            }

            @Override
            public void accessFail(int i, @Nullable String s) {

            }
        })
        .build(this);

//开始配网
manager.startAccess();

//在适当时候调用资源回收,否则可能会出现配网数据缓存,导致不成功的问题
manager.onDestroy();

参数说明

字段 数据类型 描述 获取渠道
ssid String 配网Wi-Fi名称 Wi-Fi搜索获取
password String 配网Wi-Fi密码 用户输入
coapServer String 设备入网服务器 接口获取,详情参见Aqara开发者平台
bindKey String 设备入网唯一标识 第三方App自行请求接口获取
deviceIp String 设备ip地址 通过mDNS搜索获取
accessMode String 设备入网类型 详情参加下面取值

accessMode取值

取值 数据类型 描述
ACCESS_MODE_TETHERNET 枚举 使用以太网进行配网,参见附录支持的入网设备列表
Copyright © 2023 深圳绿米联创科技有限公司 all right reserved,powered by Gitbook文档修改时间: 2024-06-05 16:27:09

results matching ""

    No results matching ""