扫设备二维码配网

更新时间:2022-02-17 07:03:40下载pdf

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

配网流程

扫设备二维码配网

查询设备 UUID

扫描设备二维码查询 URL,然后通过通用接口 查询 UUID。

接口说明

以下示例采用的是通用接口中不带 session 的接口请求。

<T> void requestWithApiNameWithoutSession(String apiName, String version, Map<String, Object> postData, Class<T> object, final ITuyaDataCallback<T> callback);

参数说明

参数 说明
apiName API 名
version API 版本号
postData post 发送的数据
object 服务端返回的数据对象
callback 回调

示例代码

Map<String, Object> postData = new HashMap<>();
//二维码扫码得到的URL
postData.put("code", url);

TuyaOSDevice.getRequestInstance().requestWithApiNameWithoutSession("tuya.m.qrcode.parse", "4.0", postData, String.class, new ITuyaDataCallback<String>() {
	@Override
	public void onSuccess(String result) {
	  //从result中得到uuid
	  Log.i("TAG" , result);
	}

	@Override
	public void onError(String errorCode, String errorMessage) {
		Log.i("TAG" , errorCode);
	}
});

初始化配网参数

示例代码

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

				@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,单位: 秒

配网方法调用

ITuyaActivator mTuyaActivator = TuyaOSActivator.deviceActivator().newQRCodeDevActivator(builder);
//开始配网
mTuyaActivator.start();
//停止配网
mTuyaActivator.stop();
//销毁
mTuyaActivator.onDestory();