设备相关

设备配网

手机需要连到热点,并且填写wifi的ssid和password来进行设备的快速配网。

增加配网超时时间的配置,在任意处可以修改WifiConfig的对应字段。快联发现超时时间默认为60秒,设置建议不少于20秒。

目前支持的芯片有:乐鑫ESP8266、TI CC3200、汉枫LPB120、庆科WIFI模组。

// ESP8266 和RDA快联超时时间不可设置,内部大概60秒。

/**

​ * AirKiss快联超时时间

​ */

public static int AirKissSmartLinkTime = 60000;

/**

​ * 汉枫快联超时时间

​ */

public static int HfmartLinkTime = 60000;

/**

​ * 庆科mico快联超时时间

​ */

public static int MicoSmartLinkTime =60000;

/**

​ * MTK快联超时时间

​ */

public static int MTKSmartLinkTime = 60000;

/**

​ * 高通快联超时时间

​ */

public static int QCSmartLinkTime = 60000;

/**

​ * TICC3200快联超时时间

​ */

// public static int TISmartLinkTime = 60000;

请求参数:

参数名类型说明备注必需
ssidStringWifi 的ssid是
passwordStringWifi的password是
productIdInt设备的产品Id是
ISDKCallbackFunction回调函数是

例子:以下startXXX方法均有对应的stopXXX方法方便用户停止发现设备。

ESP8266的芯片:
IotCloudSDK.getDeviceManager().startEspSmart(ssid,password,productId, 
new ISDKCallback () {
@Override
public void onSuccess() {
    // 配网成功
}
@Override
public void onError(ErrorMessage errorMessage) { 
    // 配网失败
}
});
TI CC3200的芯片:
IotCloudSDK.getDeviceManager(). startTiSmart(ssid, password, 
new ISDKCallback () {
@Override
public void onSuccess() {
    // 配网成功
}
@Override
public void onError(ErrorMessage errorMessage) { 
    // 配网失败
}
});
汉枫wifi芯片
IotCloudSDK.getDeviceManager().startHFSmart(ssid, password, 
new ISDKCallback () {
@Override
public void onSuccess() {
    // 配网成功
}
@Override
public void onError(ErrorMessage errorMessage) { 
    // 配网失败
}
});
庆科MICO芯片
IotCloudSDK.getDeviceManager().startMicoSmart(ssid, password, 
new ISDKCallback () {
@Override
public void onSuccess() {
    // 配网成功
}
@Override
public void onError(ErrorMessage errorMessage) { 
    // 配网失败
}
});
高通芯片
IotCloudSDK.getDeviceManager().startQCSmart(ssid, password, 
new ISDKCallback () {
@Override
public void onSuccess() {
    // 配网成功
}
@Override
public void onError(ErrorMessage errorMessage) { 
    // 配网失败
}
});
Rda芯片
IotCloudSDK.getDeviceManager().startRdaSmart (ssid, password, 
new ISDKCallback () {
@Override
public void onSuccess() {
    // 配网成功
}
@Override
public void onError(ErrorMessage errorMessage) { 
    // 配网失败
}
});
AirKiss芯片
IotCloudSDK.getDeviceManager().startAirKissSmart (ssid, password, 
new ISDKCallback () {
@Override
public void onSuccess() {
    // 配网成功
}
@Override
public void onError(ErrorMessage errorMessage) { 
    // 配网失败
}
});

返回参数:

参数名类型说明备注必需
errorCodeString错误码参照错误码是
errMsgString错误消息参照错误码信息是
cloudDeviceCloudDevice返回成功信息返回success或者需求数据是
参数名类型说明备注必需
iotIdString设备的iot_id从getIotId()获取是
productIdInt产品id是
productNameString产品名称是
iotTokenString设备的token从getIotToken()获取是
deviceMacString设备MAC是
statusInt预留字段目前没有使用否

AP设备配网

​ 用户把设备当做AP的时候可以使用此方法配网

请求参数:

参数名类型说明备注必需
ssidString路由器ssid要连接的路由器名称是
passwordString路由器密码是
timeoutint超时时间毫秒是
// 对AP设备发送目标路由器的ssid和密码
APNetWorkController netWorkController = 
new APNetWorkController(mView.getActivityContext().getApplicationContext());
        netWorkController.start(ssid, password, timeout, new APNetWorkController.Listener() {
            @Override
            public void onSuccess() {
                // 可以执行发现设备的逻辑了
            }

            @Override
            public void onError(ErrorMessage errorMessage) {
                // 失败
            }
        });

发现设备

用户在设备配网成功后进行执行局域网发现,设备会返回自身的数据iotId、iotToken和mac给手机端,手机端保存之后可以对该设备进行处理。

请求参数:

参数名类型说明备注必需
productIdsList<integer>产品id是
timeoutint发现超时时间单位:毫秒(ms)是
IcallbackFunction回调函数是

例子:

IotCloudSDK.getDeviceManager().startSearchDevice(productIdlist, timeout,
new DeviceFoundListener() {
    @Override
    public void onError(ErrorMessage errorMessage) {
}
    @Override
    public void findDevice(CloudDevice device) {
        // 发现到设备了,局域网中有多个设备的时候会持续回调
    }
    @Override
public void noFindDevice() {
// 结束,或者没有发现设备
    }
});

绑定设备


用户需要与发现的设备进行绑定,能够控制设备以及收发设备的信息。一个设备只能被一个用户绑定,不允许多个用户绑定一个设备。

请求参数:

参数名类型说明备注必需
deviceCloudDevice绑定的设备是
IcallbackFunction回调函数是

例子:

IotCloudSDK.getDeviceManager().bindDevice(device
new Icallback<String>() {
@Override
public void onSucess(String result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是

result参数

参数名类型说明备注必需
resultString设备显示名称是

解绑设备


用户需要与已经绑定的设备进行解绑。

请求参数:

参数名类型说明备注必需
deviceCloudDevice绑定的设备是
ISDKCallbackFunction回调函数是

例子:

IotCloudSDK.getDeviceManager().unbindDevice(device, new ISDKCallback() {
@Override
public void onSucess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是

获取设备列表

手机端获取已经绑定设备和被分享的设备信息。

请求参数:

参数名类型说明备注必需
ISDKCallbackFunction回调函数是

例子:

IotCloudSDK.getDeviceManager().getDeviceList(

new Icallback @Override public void onSucess(List<clouddevice> result) {</clouddevice> } @Override public void onError(ErrorMessage errorMessage) { } }); 传入true会拉取设备功能点最新数据 见下面dataMap字段 getDeviceList(true, new Icallback 返回参数: result列表参数 获取单个设备的详细信息 手机端获取指定设备的详细信息。 请求参数: 例子: IotCloudSDK.getDeviceManager().getDeviceInfo(device, new ISDKCallback<deviceinfo>(){</deviceinfo> @Override public void onSucess(DeviceInfo result ) { } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result 参数 获取产品上报功能点 手机查询产品官网上创建的可上报功能点。 请求参数: 例子: IotCloudSDK.getDeviceManager().getReportedDP(productId, new ISDKCallbackList<datapoint>() {</datapoint> @Override public void onSucess(List<datapoint> result ) {</datapoint> } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 获取产品下发功能点 手机查询产品官网上创建的可下发功能点。 请求参数: 例子: IotCloudSDK.getDeviceManager().getIssuedDP(productId, new Icallback @Override public void onSucess(List<datapoint> result ) {</datapoint> } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 获取设备某个功能点上传单条数据 手机端查询某绑定设备的最新一条数据。 请求参数: 例子: IotCloudSDK.getDeviceManager().getDeviceData(device, key, new Icallback<devicedata>(){</devicedata> @Override public void onSucess(DeviceData result ) { } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 获取设备某个功能点上传多条数据 手机端查询某绑定设备当天的指定数目的数据。 请求参数: 例子: IotCloudSDK.getDeviceManager().getDeviceListData(device, key, count, new Icallback @Override public void onSucess(List<devicedata> result ) {</devicedata> } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 修改设备信息 手机修改已经绑定的某设备的信息,修改设备的显示名称。 请求参数: 例子: IotCloudSDK.getDeviceManager().modifyDeviceName(device, displayName, new ISDKCallback() { @Override public void onSucess() { } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: 检查设备固件版本 检查设备固件版本是否需要升级。 请求参数: 例子: IotCloudSDK.getOTAManager().checkDeviceOTA(device, new Icallback<otainfo>() {</otainfo> @Override public void onSucess(OTAInfo result) { } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: 获取设备某个功能点所有数据列表 获取设备历史数据(数据会一分钟进行一次合并) 请求参数: 例子: IotCloudSDK.getDeviceManager().getHistoryDeviceDataList(device,key, new Icallback @Override public void onSucess(List<devicedata> result ) {</devicedata> } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 获取设备所有功能点最新数据 获取设备所有功能点最新数据,如果在网页配置的功能点是可上报的则只能获取到当天最新的,如果当天设备没有上传最新的数值,则为空,如果需要保存某些功能点最新的数据,需要将功能点定义成可上报可下发的。 请求参数: 例子: IotCloudSDK.getDeviceManager().getAllLatestData(device, new Icallback @Override public void onSucess(Map<string, string=""> result ) {</string,> } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 获取设备所在天气和地理位置 获取设备所在天气和地理位置。 请求参数: 例子: IotCloudSDK.getDeviceManager().getDeviceWeatherAndLocation(device, new Icallback<cloudlocationandweather>() {</cloudlocationandweather> @Override public void onSucess(CloudLocationAndWeather result ) { } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: 获取设备某个功能点用户操作数据 获取操作该设备指定功能点的数据,包含操作的用户昵称、操作的数据、时间戳。 请求参数: 例子: IotCloudSDK.getDeviceManager().getUserOperatorList(device, dpKey, ​ count, new Icallback ​ @Override ​ public void onSuccess(List<operatordata> result) {</operatordata> ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: result列表里的参数: 获取设备某个功能点设备操作数据 获取设备操作的数据,一般是设备物理按键操作的功能点、操作的数据、时间戳,这个功能点需要。 请求参数: 例子: IotCloudSDK.getDeviceManager().getDeviceOperatorList(device, dpKey, ​ count, new Icallback ​ @Override ​ public void onSuccess(List<operatordata> result) {</operatordata> ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: result列表里的参数: 添加定时任务 为设备配置定时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().addTimer(device, time, circle, dpKey, dpValue, dpKey, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 修改定时任务 为设备修改定时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().updateTimer(device, time, circle, dpKey, dpValue, dpKey, ​ count, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 获取定时任务列表 获取定时任务列表。 请求参数: 例子: IotCloudSDK.getDeviceManager().getTimerList(device, new Icallback ​ @Override ​ public void onSuccess(List<timer> list) {</timer> ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: result列表里的参数: Tiemr.getWeek()可以获取重复的星期列表List<integer> 打开定时任务 打开关闭的定时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().openTimer(timerId, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 关闭定时任务 关闭打开的定时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().closeTimer(timerId, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 删除定时任务 删除定时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().deleteTimer(timerId, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 添加延时任务 为设备配置延时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().addDelayTime(device, time, timeInterval, dpKey, dpValue, dpKey, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 修改延时任务 修改设备的延时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().updateDelayTime(device, time, timeInterval, dpKey, dpValue, dpKey, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 获取延时任务列表 获取延时任务列表。 请求参数: 例子: IotCloudSDK.getDeviceManager().getDelayTimeList(device, new Icallback ​ @Override ​ public void onSuccess(List<delaytime> list) {</delaytime> ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: result列表里的参数: 关闭延时任务 关闭延时任务。 请求参数: 例子: IotCloudSDK.getDeviceManager().closeDelayTime(timerId, new ISDKCallback () { ​ @Override ​ public void onSuccess() { ​ ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ ​ } ​ }); 返回参数: 删除延时任务 删除延时任务。 请求参数: 例子: 返回参数: 删除子设备 删除子设备。 请求参数: 例子: 返回参数: 通过id获取设备和子设备 请求参数: 例子: 返回参数: 获取多个数据点的汇总数据 从最近开始往前倒,获取多个数据点的汇总数据,以时间为维度进行合并,可能会确实某些时间或者某些时间下对应key的数据 请求参数: 例子: 返回参数: result参数说明 获取多个数据点的以天为单位合并的数据集合 获取时间范围内的多个key的时间和值的集合,以天为维度合并数据,取平均值。 请求参数: 例子: 返回参数: result参数说明 Map TimeAndValue参数说明参数: 获取多个数据点的以月为单位合并的数据集合 获取时间范围内的多个key的时间和值的集合,以月为维度合并数据,取平均值。 请求参数: 例子: 返回参数: result参数说明 Map TimeAndValue参数说明参数: 通过产品id获取产品信息 通过产品id获取产品信息,返回结果同获取产品信息列表 请求参数: 例子: 返回参数: 根据日期获取设备某个功能点所有数据列表 获取设备历史数据(数据会一分钟进行一次合并) 请求参数: 例子: TimeData startDate = new TimeData(2019, 1, 1); TimeData endDate = new TimeData(2019, 1, 30); IotCloudSDK.getDeviceManager().getAllDeviceDataByDate(device,key,startDate,endDate, new Icallback @Override public void onSucess(List<devicedata> result ) {</devicedata> } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 通过MAC地址查询设备绑定信息 通过MAC地址查询设备绑定信息 请求参数: 例子: BindDeviceReqInfo bindDeviceReqInfo = new BindDeviceReqInfo(“00:00:00:00:00:00”); // 传入设备对应的mac地址 IotCloudSDK.getDeviceManager().getDeviceBindInfoByMac(macList, new ICallback @Override public void onSucess(List<devicebindinfo> result ) {</devicebindinfo> } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result列表里的参数: 通知音响盒子设备列表同步 设备解绑的时候,第三方音箱盒子的设备列表是无法同步的,需要调用该接口进行同步设备列表 请求参数: 例子: 返回参数: 长连接相关 MQTT消息发送和接收 ​ 消息接收的配置 消息接受采用广播的形式,用户使用静态或者动态的形式注册广播接收者。 例子: <receiver ​="" android:enabled="”true”" android:exported="”false”" android:name="”com.xxx.xxx.你的广播接收者类名”" android:permission="”应用包名.permission.IOTCLOUD_MESSAGE”"> ​ <intent-filter> <action android:name="com.iot.cloud.sdk.intent.MESSAGE_RECEIVED"> ​ </action></intent-filter> ​ </receiver> 动态注册原理相同,action和permission与静态广播中的一致即可。 例子: public class MqttBroadcast extends BroadcastReceiver { ​ @Override public void onReceive(Context context, Intent intent) { ​ DeviceController.onReceive(intent); } } 消息发送的配置 消息发送一般只用DeviceController类 DeviceController deviceController = new DeviceController(CloudDevice device); // 可以通过CloudDevice初始化 构造一个DeviceController后可以多次使用,下发多次命令或数据。 注意在页面退出(Activity onDestroy)或者不使用DeviceController的时候需要调用 deviceController.onDestroy(); 来回收内存,避免内存泄漏。 全局消息接收 全局消息目前包括收到设备分享消息、收到设备新固件版本消息、收到错误消息。 DeviceController.bindGlobalMessage(new DeviceController.GlobalListener() { ​ @Override ​ public void onMessage(CloudMessage cloudMessage) { ​ if (cloudMessage.getErrorMessage().getCode() == CommonError.MQTT_MESSAGE_SUCCESS) { ​ // success switch (cloudMessage.getType()) { // 有设备需要手动OTA升级 ​ case CloudMessageType.TYPE_OTA_REV: break; // 有分享消息,请到分享消息列表查看 ​ case CloudMessageType.TYPE_SHARE_REV: ​ int shareType = ShareMessageType.getShareType(cloudMessage); ​ if (shareType == ShareMessageType.TYPE_DEVICE) { ​ // 设备分享消息 ​ } else if (shareType == ShareMessageType.TYPE_FAMILY) { ​ // 家庭分享消息 ​ } ​ break; ​ } ​ } else { ​ // error错误信息 ​ ​ } ​ } ​ }); CloudMessage返回参数: 其他消息接收 DeviceController deviceController = new DeviceController(CloudDevice device); 透传字符串(Push)消息 deviceController.setPushListener(new DeviceController.PushListener() { @Override public void onPush(CloudMessage cloudMessage) { if (!TextUtils.isEmpty(cloudMessage.data)) { ​ cloudMessage.data // 设备透传上来的字符串数据 } }); 透传二进制数据 deviceController.setBinaryPushListener(new DeviceController.BinaryPushListener() { @Override public void onBinaryPush(CloudMessage cloudMessage) { if (!TextUtils.isEmpty(cloudMessage.binaryData)) { ​ cloudMessage.binaryData // 设备透传上来的字符串数据 } }); 设备功能点更新消息 deviceController.setDPUPdateListener(new DeviceController.DPUpdateListener() { ​ @Override ​ public void onDPUpdate(List<messagedata> list) {</messagedata> ​ // 设备功能点更新(状态改变) ​ } ​ }); 设备错误信息 deviceController.setErrorListener(new DeviceController.ErrorListener() { ​ @Override ​ public void onError(CloudMessage cloudMessage) { ​ // 设备的错误信息,例如设备不在线 ​ cloudMessage.getErrorMessage(); ​ } ​ }); 下发常规命令 手机端下发命令控制设备,比如让设备关闭、开启等。 DeviceController deviceController = new DeviceController(CloudDevice device); 构造设备功能点数据 MessageData.Builder builder = new MessageData.Builder(); builder.put(key, value); // 注意DeviceController回收 deviceController.sendCommand(builder, new ISDKCallback() { @Override public void onSuccess() { ​ Log.d(“TAG”, “command发送成功”); } @Override public void onError(ErrorMessage errorMessage) { ​ Log.d(“TAG”, “command发送失败” + errorMessage.toString()); } }); 手机透传(push)消息到设备 手机向设备发送消息。 DeviceController deviceController = new DeviceController(CloudDevice device); // 发送字符串 DeviceController.push(“this is phone push message”); // 注意DeviceController回收 // 发送二进制数据 DeviceController.pushBinary(byte[] array); // 注意DeviceController回收 发送分享消息 分享者分享设备和被分享者接收消息都需要调用该接口通知对方消息。 DeviceController deviceController = ​ // 产品id必填项,当发送家庭分享消息时可以取任意产品id ​ new DeviceController(mDeviceSharingBean.productId, // 可以通过产品id和设备iotId初始化,当发送家庭分享消息时iotId可填入”” 空字符串 ​ mDeviceSharingBean.iotId); ​ deviceController.sendShare(tid, type); // 对方用户的id // 不用的时候或者Activity退出的时候需要回收 ​ deviceController.onDestroy(); sendShare的type字段使用ShareMessageType.TYPE_XXX来设置分享消息类型 目前支持TYPE_DEVICE // 设备分享消息 ​ TYPE_FAMILY // 家庭分享消息 MQTT连接状态 获取MQTT连接状态。 请求参数: 例子: IotCloudSDK.setConnectionStatusListener(new IconnectionStatusListener() { @Override public void onConnectionStatus(int result) { } }); 返回参数: 设备手动OTA升级 查询可以OTA升级的设备 请求参数: 例子: IotCloudSDK.getOTAManager().getAllOTAUpdateInfo(ICallback ​ @Override ​ public void onSuccess(OTAUpdateInfo result) { // 这里返回的数据都可以调用获取单个设备升级状态和升级进度 ​ } ​ @Override ​ public void onError(ErrorMessage errorMessage) { ​ } }); 返回参数: result: 向设备主动发送检查升级指令 发送检查升级指令。 请求参数: 例子: IotCloudSDK.getOTAManager().doDeviceCheckOTA(iotId, new ISDKCallback() { @Override public void onSuccess() { } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: 获取单个设备升级状态和升级进度 获取设备的升级状态和升级进度。 请求参数: 例子: IotCloudSDK.getOTAManager().cancelLogout(iotId, mcuVersion, new ICallback<otaupdateprogress>() {</otaupdateprogress> @Override public void onSuccess(OTAUpdateProgress result) { } @Override public void onError(ErrorMessage errorMessage) { } }); 返回参数: result:

参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<clouddevice>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
iotIdString设备的iot_idgetIotId()获取是
iotTokenString设备的tokengetIotToken()获取是
deviceMacString设备的mac是
displayNameString设备的显示名称是
onlineboolean设备是否在线是
productIdInt产品id是
flagInt设备是否是分
享设备
0表示不是分享设备,
1表示该设备是分享设备
是
sharedString分享者姓名或
者手机号
flag为0,该字段为空,flag为1,
该字段为分享者姓名或者手机号
是
fUserIdInt分享者的用户id是
moduleVersionString当前设备固件
版本号
是
subIotIdString子设备的id通过getSubIotId()获取,
当前设备如果是子设备,
本字段就会有值,可以通过
isSubDevice()判断当前
CloudDevice是否是子设备
否
subsetIdString子设备的用户
协商id
通过getSubsetId()获取,
由网关设备等上传,
用户需要与设备端开发人员协商
否
subsetNameString子设备的用户
协商名称
通过getSubsetName()获取,
由网关设备等上传,
用户需要与设备端开发人员协商
否
subsetTypeString子设备的用户
协商类型
通过getSubsetType()获取,
由网关设备等上传,
用户需要与设备端开发人员协商
否
rIdint房间id设备所属房间id否
roomNameString房间名称设备所属房间名称否
gidint分组id设备所属分组id否
groupNameString分组名称设备所属分组名称否
fIdint家庭id设备所属家庭id否
familyNameString家庭名称设备所属家庭名称否
dataMapMap<string, string=""></string,>设备最新功
能点数据
以键值对的形式
对于二进制数据这里是
base64字符串
可以使用
SDKUtils.base64ToByteArray
方法转换成二进制数组
否
参数名类型说明备注必需
deviceCloudDevice设备是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultDeviceInfo返回成功信息返回success或者需求数据是
参数名类型说明备注必需
iotIdString设备的iot_id通过是
deviceMacString设备的mac是
deviceTypeString设备的类型如:手环、户外、车载等是
wifiTypeStringwifi模组的类型如:Esp8266、CC3200等是
displayNameString设备的显示名称是
onlineboolean设备是否在线是
isLinkageboolean设备是否可以联动是
dataPointNumInt该设备的功能点个数是
deviceIpString设备的ip地址设备联网的出口ip是
ipLocationString设备的经纬度是
参数名类型说明备注必需
productIdint产品id是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<datapoint>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
idint功能点的id是
unitint功能点数据类型0 int 1 bool 2 enum 3 string
4 float 5 error 错误类型(字符串)
6 binary 二进制类型
是
updateTimeTime创建时间13位时间戳是
nameString功能点名称是
valueString功能点定义的值多个数据之前逗号分隔是
isdeleteint该功能点是否删除0 删除,1未删除是
typeint功能点类型1可上报可下发, 2上报, 3下发是
keyString功能点变量是
productIdint功能点的产品id是
参数名类型说明备注必需
productIdint产品id是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<datapoint>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
idint功能点的id是
unitint功能点数据类型0 int 1 bool 2 enum 3 string
4 float 5 error 错误类型(字符串)
6 binary 二进制类型
是
updateTimeTime创建时间13位时间戳是
nameString功能点名称是
valueString功能点的值多个数据之前逗号分隔是
isdeleteint该功能点是否删除0 删除,1未删除是
typeint功能点类型1可上报可下发, 2上报, 3下发是
keyString功能点变量是
productIdint功能点的产品id是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
keyString功能点的变量该产品的上报功能点是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultDeviceData返回成功信息返回success或者需求数据是
参数名类型说明备注必需
timeString时间戳Unix时间戳是
valueString数值是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
keyString功能点的变量该产品的上报功能点是
countInt获取多少条数据是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<devicedata>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
timeString时间戳Unix时间戳是
valueString数值是
参数名类型说明备注必需
deviceCloudDevice绑定的设备的是
displayNameString设备显示名是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultOTAInfohasNewVersion返回
true的时候说明有新
的版本可升级
otaDesc 字段表示OTA
更新说明,可能为空
是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
keyString设备功能点是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<devicedata>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
timeString时间戳Unix时间戳是
valueString数值是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultMap<string, string=""></string,>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
resultMap返回指定条数的数据数据以key value的形式返回,如果数据点是
二进制的,则返回的value是base64字符串,
可以使用SDK提供的SDKUtils类转换成byte数组
是
参数名类型说明备注必需
deviceCloudDevice绑定设备的iotId是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultCloudLocationAndWeather返回成功信息返回success或者需求数据是
参数名类型说明备注必需
cityString市是
countryString国家是
operatorString区/街道是
provinceString省是
humidityString湿度是
pm25String可吸入颗粒物是
skyconString天气概况是
temperatureString温度是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
dpKeyString设备的功能点
countint数据列表的数量
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<operatordata>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
userInfoString用户的昵称或手机号或邮箱优先返回的是昵称,按先后顺序的
优先级能够获取到什么数据就返回什么数据
是
timeStampStringUnix时间戳
dataValueString用户操作的数据
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
dpKeyString设备的功能点是
countint数据列表的数量是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<operatordata>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
userInfoString这里数据一直都是空只是复用了用户操作行为实体类是
timeStampStringUnix时间戳
dataValueString用户操作的数据
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
timeIntUnix时间戳是
circleInt星期重复使用Week类,可以使用 Week.MON
& Week.WED 来实现多个星期的重复
Week.NULL是不按星期重复只执行一次。
是
dpKeyString功能点变量名是
dpValueString功能点的值是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
idInt定时任务的id是
timeIntUnix时间戳是
circleInt星期重复使用Week类,可以使用 Week.MON
& Week.WED 来实现多个星期的重复
是
dpKeyString功能点变量名是
dpValueString功能点的值是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultTimer定时任务是
参数名类型说明备注必需
idInt定时任务id是
iotIdString设备id是
timeIntUnix时间戳是
dpIdInt功能点的id是
dpKeyString功能点的key是
dpValueString功能点的值是
statusInt状态,0关闭1开启是
参数名类型说明备注必需
timerIdInt定时任务的id是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
timerIdInt定时任务的id是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
timerIdInt定时任务的id是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
timeIntUnix时间戳要延时的时刻是
timeIntervalInt要延时的秒钟数延时多久是
dpKeyString功能点变量名是
dpValueString功能点的值是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
idInt定时任务的id是
timeIntUnix时间戳是
timeIntervalInt要延时的秒钟数延时多久是
dpKeyString功能点变量名是
dpValueString功能点的值是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
IcallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultDelayTime定时任务是
参数名类型说明备注必需
idInt定时任务id是
iotIdString设备id是
timeIntUnix时间戳是
dpIdInt功能点的id是
dpKeyString功能点的key是
dpValueString功能点的值是
timeIntervalInt延时的秒钟数
statusInt状态,0关闭1开启是
参数名类型说明备注必需
delayTimeIdInt延时任务的id是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
delayTimeIdInt定时任务的id是
ISDKCallbackFunction回调函数是
IotCloudSDK.getDeviceManager().deleteDelayTime(timerId, new ISDKCallback () {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice子设备是
ISDKCallbackFunction回调函数是
IotCloudSDK.getDeviceManager().delSubDevice(device, new ISDKCallback () {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
iotIdString设备id是
subIotIdString子设备id是
IcallbackFunction回调函数是
获取设备信息,信息同设备列表中的CloudDevice
IotCloudSDK.getDeviceManager().getDevice(iotId, new Icallback<CloudDevice> () {
@Override
public void onSuccess(CloudDevice result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

获取子设备设备信息,信息同设备列表中的CloudDevice
IotCloudSDK.getDeviceManager().getDevice(iotId, subIotId, new Icallback<CloudDevice> () {
@Override
public void onSuccess(CloudDevice result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
deviceCloudDevice设备是
keysList<string>设备功能点是
countint数量是
IcallbackFunction回调函数是
IotCloudSDK.getDeviceManager().getCombinedDeviceData(device, keys, count, 
new Icallback<List<CombinedDeviceData>> () {
@Override
public void onSuccess(List<CombinedDeviceData> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<combineddevicedata>
参数名类型说明备注必需
ttStringUNIX时间戳是
dpvList<keyandvalue>键值对list设备数据点的key和对应的值是
KeyAndValueKeyAndValue键值对k表示功能点的变量名 v表示功能点的值是
参数名类型说明备注必需
deviceCloudDevice设备是
keysList<string>设备功能点是
startYearint起始年份是
startMonthint起始月份是
startDayint起始日是
endYearint结束年份是
endMonthint结束月份是
endDayint结束日是
IcallbackFunction回调函数是
IotCloudSDK.getDeviceManager().getDeviceDataByDate(device, keys, startYear, 
startMonth, startDay, endYear, endMonth, endDay,
new Icallback<Map<String, List<TimeAndValue>>> () {
@Override
public void onSuccess(Map<String, List<TimeAndValue>> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultMap <td> <td> 是
参数名类型说明备注必需
tStringUNIX时间戳是
vString对应的值是
参数名类型说明备注必需
deviceCloudDevice设备是
keysList<string>设备功能点是
startYearint起始年份是
startMonthint起始月份是
endYearint结束年份是
endMonthint结束月份是
IcallbackFunction回调函数是
IotCloudSDK.getDeviceManager().getDeviceDataByMonth(device, keys, startYear, startMonth, endYear, endMonth, 
new Icallback<Map<String, List<TimeAndValue>>> () {
@Override
public void onSuccess(Map<String, List<TimeAndValue>> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultMap <td> <td> 是
参数名类型说明备注必需
tStringUNIX时间戳是
vString对应的值是
参数名类型说明备注必需
productIdint产品id是
IcallbackFunction回调函数是
IotCloudSDK.getDeviceManager().getProductInfo(productId, 
new Icallback<Product> () {
@Override
public void onSuccess(Product result) {                  
}
@Override
public void onError(ErrorMessage errorMessage) {                   
}
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultProduct是
参数名类型说明备注必需
deviceCloudDevice绑定的设备是
keyString设备功能点是
startDateTimeData开始时间配置是
endDateTimeData结束时间配置是
callbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<devicedata>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
timeString时间戳Unix时间戳是
valueString数值是
参数名类型说明备注必需
macListList<binddevicereqinfo>设备的mac地址信息列表是
callbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultList<devicebindinfo>返回成功信息返回success或者需求数据是
参数名类型说明备注必需
macString设备的mac地址是
displayNameString设备的名称是
bindStatusint绑定状态0:未绑定,1:被自己绑定,2:被其他人绑定是
bindUserNameString绑定用户昵称是
bindUserTelString绑定用户手机号是
bindUserMailString绑定用户邮箱是
参数名类型说明备注必需
deviceMacString设备mac是
UUIDString唯一标识代表着: 亚马逊的endpointId
天猫的skill_id 谷歌的agentUserId
是
IotCloudSDK.getDeviceManager().getNotifyAudioDevice(deviceMac, UUID, new ICallback<String>() {
@Override
public void onSuccess(String result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
 }
});
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
resultString返回成功信息返回success否
参数名类型说明备注必需
dataString数据是
iotIdString设备id,可能为空是
productIdint产品id,可能为空是
getErrorMessage()ErrorMessage获取错误信息是
getType()int消息类型是
参数名类型说明备注必需
IconnectionStatusListenerFunction回调函数是
参数名类型说明备注必需
resultint连接状态1 已连接未订阅 2 已连接已订阅 3 未连接是
参数名类型说明备注必需
ICallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
productIdint产品id是
nameStringOTA升级名称,管理平台上传ota
升级包的时候可以填写
是
mcuVersionString版本号要升级的版本是
mcuSizeValuelong包的大小,可以上传两个mcu是
mcuSize2Valuelong包的大小,可以上传两个mcu是
descriptionStringOTA升级描述是
iotIdString设备唯一id是
deviceMacString设备mac地址是
deviceNameString设备名称是
参数名类型说明备注必需
iotIdString设备唯一id是
ISDKCallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
iotIdString设备唯一id是
mcuVersionString要升级的目标版本号是
ICallbackFunction回调函数是
参数名类型说明备注必需
errorMessageErrorMessage错误码参照错误码是
参数名类型说明备注必需
statusint状态包含5种: 0未下载
可以向设备发送检查升级指令
1正在下载 2已下载
3更新完成 4更新失败 5正在升级
是
mcuSizeValuelong包的大小,可以上传两个mcu是
mcuSize2Valuelong包的大小,可以上传两个mcu是
iotIdString设备唯一id是
totalSizeValuelong总共大小下载完成后会变为0,即状态2的时候是
downloadSizeValuelong当前下载的大小下载完成后会变为0,即状态2的时候是