获取设备列表

IotCloudSDK.getDeviceManager().getDeviceList(new ICallback<List<CloudDevice>>() {

@Override

public void onSuccess\(List<CloudDevice> deviceList\) {

// 成功

}

@Override

public void onError\(ErrorMessage errorMessage\) {

// 失败,查看错误码和错误信息

// errorMessage.getCode\(\), errorMessage.getMessage\(\)

}

});

发现设备

// 注意,目前相关模组仅支持2.4GWIFI,5GWIFI和混合WIFI可能无法正常工作

// WIFI模组目前支持、乐鑫ESP8266、汉枫、庆科Mico、高通等

IotCloudSDK.getDeviceManager().startEspSmart("路由器名称", "路由器密码", 产品id, new DeviceFoundListener() {

@Override

public void onError\(ErrorMessage errorMessage\) {

// 一般不会支持此回调

}

@Override

public void findDevice\(CloudDevice device\) {

// 可能会多次回调,回调在主线程

// 回调了设备信息,其中iotId和iotToken可用于后续绑定设备

// iotId表示设备唯一id

// iotToken主要用于业务上的信息验证,一般不要展示该字段

String iotId = device.getIotId\(\);

String iotToken = device.getIotToken\(\);

}

@Override

public void noFindDevice\(\) {

// 在没有发现设备信息的时候或者超时后总会回调此接口

// 可以表示本次调用完成,不代表没有发现设备

}

});

绑定设备

// 绑定接口,传入设备对象

IotCloudSDK.getDeviceManager().bindDevice(CloudDevice cloudDevice,

new IBindDeviceCallback\(\) {

@Override

public void onSuccess\(BindDeviceInfo bindDeviceInfo\) {

// 绑定成功

}

@Override

public void onError\(ErrorMessage errorMessage, BindDeviceInfo bindDeviceInfo\) {

// 绑定失败

}

});

控制设备

1、控制设备之前需要为该设备所属的产品增加功能点,点击进入产品功能后,添加功能点即可。

// 从产品列表,设备列表获取的元素

// Product的productId

// CloudDevice.getIotId

// CloudDevice.getSubIotId 该字段可能为空,当CloudDevice实例是子设备的时候该字段有值

// CloudDevice.isSubDevice 判断是否是子设备

DeviceController deviceController = new DeviceController(产品id, "设备id", "子设备id如果有");

MessageData.Builder builder = new MessageData.Builder();

// key是云端产品功能页面的数据点功能键

// value可以是 二进制数据类型、int、float、String

// put方法可以多次调用,同一个key不会覆盖,会添加多次

builder.put("key", value);

builder.put("key", value);

builder.put("key", value);

// 发送命令

deviceController.sendCommand(builder, new ISDKCallback() {

@Override

public void onSuccess\(\) {

// 发送成功

}

@Override

public void onError\(ErrorMessage errorMessage\) {

// 发送失败

}

});

接收设备上报消息

deviceController.setDPUPdateListener(new DeviceController.DPUpdateListener() {

@Override

public void onDPUpdate\(List<MessageData> list\) {

// list可能为空

// MessageData.key表示数据点功能键

// 根据key来判断是哪个数据点,然后使用对应的getValue方法,强转类型即可

// getIntValue、getFloatValue、getStringValue、getByteArray

}

});

Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""