Wi-Fi AP配网

一、概述

本文主要介绍如何使用配网SDK(含UI)、配网SDK(不含UI)进行Wi-Fi Ap配网。

二、前提条件

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

三、使用

3.1 配网流程

Wi-Fi Ap入网,是指设备开启热点模式后,SDK通过连接设备的热点,发送配网信息给设备,设备通过配网信息中的Wi-Fi账户及密码连接绿米云,最后完成激活操作。

3.2 配网SDK(含UI)

3.2.1 跳转到指定设备配网页面

Kotlin

LumiAccessSDKManager.getInstance().gotoAccessConfigModule(
    this,
    "lumi.gateway.agl008", // deviceModel,参见支持设备清单
    object : LumiResultCallBack {
        override fun fail(errorCode: Int?, errorMessage: String?) {
            // 配网失败
        }

        override fun success(activity: WeakReference<Activity>, message: String?) {
            // 配网成功。成功后可在合适时机关闭配网页:
            activity.get()?.finish()
        }
    }
)

Java

LumiAccessSDKManager.getInstance().gotoAccessConfigModule(
        this,
        "lumi.gateway.agl008",
        new LumiResultCallBack() {
            @Override
            public void fail(@Nullable Integer errorCode, @Nullable String errorMessage) {
                // 配网失败
            }

            @Override
            public void success(@NonNull WeakReference<Activity> activity, @Nullable String message) {
                // 配网成功。成功后可在合适时机关闭配网页:
                Activity page = activity.get();
                if (page != null) {
                    page.finish();
                }
            }
        }
);

参数说明

字段 数据类型 说明 获取渠道
deviceModel String 设备模型值 参见配网SDK支持设备清单

3.3 配网SDK(不含UI)

3.3.1 获取BindKey

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

3.3.2 Wi-Fi 搜索

WifiScanner wifiScanner = new WifiScanner(this);
wifiScanner.findDeviceByWifi(2000L)
        .onTerminateDetach()
        .as(AutoDispose.autoDisposable(AndroidLifecycleScopeProvider.from(this)))
        .subscribe(new Consumer<List<android.net.wifi.ScanResult>>() {
            @Override
            public void accept(List<android.net.wifi.ScanResult> scanResults) throws Exception {

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

            }
        });

参数说明

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

3.3.3 连接设备Wi-Fi热点,并发送配网信息

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

AccessAPManager manager = new AccessAPManager.WifiAccessBuilder()
        .setAccessInfo(accessConfigBean)
        .setDeviceAp("设备热点ssid")
        .setAccessMode(AccessAPManager.WifiAccessMode.ACCESS_MODE_UDP)
        .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自行请求接口获取
deviceAp String 设备Wi-Fi热点的ssid 通过wifi搜索获取
accessMode String 设备入网类型 详情参加下面取值

accessMode取值

取值 数据类型 描述
ACCESS_MODE_UDP 枚举 使用UDP进行传输,参见附录支持的入网设备列表
ACCESS_MODE_TCP 枚举 使用TCP进行传输,参见附录支持的入网设备列表
ACCESS_MODE_HTTP 枚举 使用HTTP进行传输,参见附录支持的入网设备列表
lumi LogoCopyright © 2023 深圳绿米联创科技有限公司 all right reserved,powered by Gitbook文档修改时间: 2026-08-11 17:06:15

results matching ""

    No results matching ""