以太网有线配网
一、概述
本文主要介绍如何使用配网SDK(含UI)、配网SDK(不含UI)进行Ethernet(以太网)有线网络配网。
二、前提条件
- 完成准备工作
- 完成环境搭建
- 完成配网SDK(含UI)或者配网SDK(不含UI)集成
三、使用
3.1 配网流程
Ethernet(以太网)有线配网,是指设备通过有线线路接入网络(路由器),免去用户在配网过程中输入账户/密码的操作,直接将配网信息发送给设备,最后完成注册、绑定等激活操作。
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 发现设备
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 | 枚举 | 使用以太网进行配网,参见附录支持的入网设备列表 |