什么是有线设备
有线设备是指设备插着网线连接路由器,这类设备统称为有线设备,他们的配网称为有线设备配网
设备配网的前提
- 有线设备重置后,会向所连接的网络中发送广播数据包
- sdk 在进行有线设备配网相关任务时,会向当前手机连接的Wi-FI网络中的局域网进行监听检索广播数据包,若检索到有待配网的广播包,则认为有效的 待配网设备,从而进行下一步动作。
- 结合前两条,app的交互上 需要引导用户手机连接的Wi-FI与有线设备的连接的路由器是同一个网络,否则无法交换信息
交互建议
由于有线配网可以在配网前先通过局域网发现设备,所以通常可以设计成两种交互。
① 可以设计成 先扫描到设备,由用户点击 在进行有线设备配网。 ② 不需要扫描直接扫码 或者其他的方式进入配网,配网中扫到哪个设备 就进行直接配网。
无需先扫描设备的设计:
1、扫码设备
Code: Select all
IThingGwSearcher mThingGwSearcher = ThingHomeSdk.getActivatorInstance().newThingGwActivator().newSearcher();
mThingGwSearcher.registerGwSearchListener(new IGwSearchListener() {
@Override
public void onDevFind(HgwBean hgwBean) {
}
});
扫描的对象 HgwBean中会包含productkey\uuid等信息 可以用于展示设备
2、进行配网
参数介绍:
- token为配网所需要请求的token,所有的配网都是一样的创建方式,这里不重复说明。
- timeout表示超时时间 单位为秒
- hgwBean 为上一步扫描到的对象
3、若不需要扫描直接配网 可以用一下方式
Code: Select all
IThingActivator mIThingActivator = ThingHomeSdk.getActivatorInstance().newGwActivator( new ThingGwActivatorBuilder() .setToken(token) .setTimeOut(timeout) .setContext(context) .setHgwBean(hgwBean) .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) { } } ));
参数介绍:- token为配网所需要请求的token,所有的配网都是一样的创建方式,这里不重复说明。
- timeout表示超时时间 单位为秒
- hgwBean 不填,内部会自动扫描,并配第一个扫描的设备。
Code: Select all
IThingActivator mIThingActivator = ThingHomeSdk.getActivatorInstance().newGwActivator( new ThingGwActivatorBuilder() .setToken(token) .setTimeOut(timeout) .setContext(context) .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) { } } ));
开发文档可参考
https://developer.tuya.com/cn/docs/app- ... xklb5bxmps
有问题可以反馈