更新时间:2023-05-22 06:38:30
激光扫地机历史记录数据。以文件的形式存储在涂鸦 IoT 开发平台上。
实时数据的地图和路径是分别存储在不同文件内的。
历史数据的地图和路径是存储在同一个文件内的,根据指定规则进行拆分读取地图和路径数据。
扫地机 SDK v3.1.0 及以后版本,不再支持对象存储 OSS 实时数据功能。请使用 P2P 获取实时数据。
建议所有接口在 initCloudConfig
成功之后调用,配置信息的有效期半个小时失败后可以调用 updateCloudConfig
。
获取文件存储的 bucket
信息。
/**
*
* @param devId 设备 ID
* @param callback
*/
void initCloudConfig(String devId, ITuyaCloudConfigCallback callback);
示例代码
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().initCloudConfig("xxx", new ITuyaCloudConfigCallback() {
@Override
public void onConfigSuccess(String bucket) {
}
@Override
public void onConfigError(String errorCode, String errorMessage) {
}
});
获取最新 bucket
信息。获取到的文件地址有时效性限制。如果文件地址失效,您可以调用以下接口更新云配置。
/**
*
* @param devId 设备ID
* @param callback
*/
void updateCloudConfig(String devId, ITuyaCloudConfigCallback callback);
示例代码
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().updateCloudConfig("", new ITuyaCloudConfigCallback() {
@Override
public void onConfigSuccess(String bucket) {
}
@Override
public void onConfigError(String errorCode, String errorMessage) {
}
});
获取地图文件在服务器上完整的路径,可自行下载解析。
接口说明
/**
*
* @param bucket 文件存储的 Bucket
* @param path 文件相对路径(startConnectSweeperDataChannel)
*/
String getCloudFileUrl(String bucket, String path);
代码示例
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().getCloudFileUrl("bucket","path");
获取历史数据时,可以直接调用该接口读取云端的文件内容。
接口说明
/**
* 获取数据内容(byte[])
*
* @param bucket
* @param path
* @param listener
*/
void getSweeperByteData(String bucket, String path, ITuyaByteDataListener listener);
代码示例
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().getSweeperByteData("bucket", "path", new ITuyaByteDataListener() {
@Override
public void onSweeperByteData(byte[] data) {
}
@Override
public void onFailure(int code, String msg) {
}
});
接口说明
/**
*
* @param devId 设备 ID
* @param limit 一次获取数据的数量(建议最大不要超过 100)
* @param offset 获取数据的偏移量(用于分页)
* @param callback
*/
void getSweeperHistoryData(String devId, int limit, int offset,ITuyaResultCallback<SweeperHistory> callback);
/**
*
* @param devId 设备 ID
* @param limit 一次获取数据的数量(建议最大不要超过 100)
* @param offset 获取数据的偏移量(用于分页)
* @param startTime 起始时间戳
* @param endTime 结束时间戳
* @param callback
*/
void getSweeperHistoryData(String devId, int limit, int offset, long startTime, long endTime,ITuyaResultCallback<SweeperHistory> callback);
回调数据 SweeperHistory
字段 | 类型 | 描述 |
---|---|---|
datas | List |
历史数据列表 |
totalCount | int | 数据总量 |
历史数据 SweeperHistoryBean
字段 | 类型 | 描述 |
---|---|---|
id | String | 地图 ID |
time | long | 文件上传时间戳 |
bucket | String | 文件存储的 Bucket |
file | String | 文件路径 |
extend | String | 扩展字段 |
extend
是一个扩展字段可以和设备透传。例如 {"map_id":123, "layout_size":4589, "route_size":1024}
。
读取历史数据的文件时,根据 layout_size
和 route_size
分别读取地图数据和路径数据。
代码示例
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().getSweeperHistoryData("devId", 10, 0, new ITuyaResultCallback<SweeperHistory>() {
@Override
public void onSuccess(SweeperHistory result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
删除云端历史记录以及存储的数据。最多可以删除 100 条记录。
接口说明
/**
* @param devId 设备 ID
* @param fileIdList 历史记录 ID 集合
* @param callback
*/
void deleteSweeperHistoryData(String devId, List<String> fileIdList, final ITuyaDelHistoryCallback callback);
代码示例
List<String> list = new ArrayList<>();
list.add("10");
list.add("11");
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().deleteSweeperHistoryData("devId", list, new ITuyaDelHistoryCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
/**
* 获取扫地机历史记录(多地图)
* @param devId 设备 ID
* @param limit 一次获取数据的数量(建议最大不要超过 100)
* @param offset 获取数据的偏移量(用于分页)
* @param callback
*/
void getSweeperMultiMapHistoryData(String devId, int limit, int offset,
ITuyaResultCallback<SweeperHistory> callback);
/**
* 获取扫地机历史记录 (适用于多地图)
* @param devId 设备 ID
* @param limit 一次获取数据的数量(建议最大不要超过 100)
* @param offset 获取数据的偏移量(用于分页)
* @param startTime 起始时间戳
* @param endTime 结束时间戳
* @param callback
*/
void getSweeperMultiMapHistoryData(String devId, int limit, int offset, long startTime, long endTime,
ITuyaResultCallback<SweeperHistory> callback);
代码示例
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().getSweeperMultiMapHistoryData("devId", 20, 0, new ITuyaResultCallback<SweeperHistory>() {
@Override
public void onSuccess(SweeperHistory result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
针对激光型扫地机一次清扫记录有多个地图的情况,提供多楼层地图命名的接口。
接口说明
/**
* 多楼层地图命名
* @param devId 设备 ID
* @param id 地图 ID
* @param name 地图名称
* @param callback 命名回调
*/
void sweeperFileNameUpdateWithDevId(String devId, long id, String name,final ITuyaSweeperNameUpdateCallback callback);
代码示例
TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class).getSweeperInstance().sweeperFileNameUpdateWithDevId("devId",id,"name", new ITuyaSweeperNameUpdateCallback() {
@Override
public void onNameUpdate(boolean result){
}
@Override
public void void onFailure(String code, String msg){
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈