陀螺仪和视觉扫地机
SDK 提供两种数据获取方式:HTTP 接口请求和实时通道,获取、删除历史记录等数据需要请求 HTTP 接口,扫地机清扫中传递的数据可以通过注册实时通道监听获取
通用接口
接口说明
HTTPS 类接口采用 TuyaHomeSdk 的通过接口调用,主要传入接口名称,接口 版本号,入参等。
入口:TuyaHomeSdk.getRequestInstance()
public interface ITuyaSmartRequest {
/**
*
* @param apiName 接口名称
* @param version 接口版本号
* @param postData 发送数据
* @param callback 接口回调
* @param object 接收回调数据的数据结构,例如相应的javabean
*/
<T> void requestWithApiName(String apiName, String version, Map<String, Object> postData, Class<T> object, final ITuyaDataCallback<T> callback);
<T> void requestWithApiNameWithoutSession(String apiName, String version, Map<String, Object> postData, Class<T> object, final ITuyaDataCallback<T> callback);
void onDestroy();
}
1.最新一次清扫记录
请求参数:
apiName:tuya.m.device.media.latest
version:2.0
postData:
{
"devId" : "xxx",
"start":"",
"size" : 500
}
返回数据示例
{
"devId" : "xxx",
"startRow" : "mtnva58ee6817b605ddcc6_35_1535629239586",
"dataList" : [ "373702373700", "383702383802373901383901383800"],
"subRecordId" : 35,
"hasNext" : true,
"startTime" : 1535629049,
"endTime" : 1535629244,
"status" : 2
}
2.获取历史记录列表
请求参数:
apiName:m.smart.scale.history.get.list
version:1.0
postData:
{
"devId" : "xxx",
"dpIds" : "",
"offset": 0,
"limit" : 10
}
字段 | 类型 | 描述 |
---|---|---|
devId | String | 设备ID |
dpIds | String | 在涂鸦平台配置的清扫记录的dpId |
offset | int | 偏移值 |
limit | int | 分页数量 |
返回数据示例:
{
"datas":[
{
"devId":"xxxx",
"dps":[
{
"15":"201906171721009007"
}
],
"avatar":"https://airtake-public-data.oss-cn-hangzhou.aliyuncs.com/smart/user_res/avatar/scale/no_body_icon.png",
"userName":"未知",
"gmtCreate":1560763848501,
"uuid":"15607600058B81A6C4A0273FDD61091D0B02403848501",
"userId":"0",
"tags":0,
"status":1
}
],
"hasNext":false,
"totalCount":1
}
字段 | 类型 | 描述 |
---|---|---|
uuid | String | 删除记录时候用的 UUID |
15 | String | 在涂鸦平台上配置的清扫记录的 dpId |
201906171721009007 | String | 设备在 dpId 下上报的值【2019年06月17号,17点21分,清扫时间009,清扫面积007】具体数据和设备拟定 |
total | int | 总共条数 |
hasNext | boolean | 是否有下一页 |
3.历史记录详情信息
请求参数:
apiName:tuya.m.device.media.detail
version:2.0
postData:
{
"devId" : "xxx",
"subRecordId" : 31,
"start":"",
"size" : 500
}
字段 | 类型 | 描述 |
---|---|---|
devId | String | 设备 id |
subRecordId | int | 清扫记录 id |
start | String | 第一次传空串,后面取下一页时填上一页返回值里的 startRow 值 |
size | int | 请求数据大小 |
返回数据示例
{
"devId" : "xxx",
"startRow" : "mtnva58ee6817b605ddcc6_31_1535622776561",
"dataList" : ["3e3f02403e013e3f00", "3f3f024040013f3f00"],
"subRecordId" : 31,
"hasNext" : true,
"startTime" : 1535621566,
"endTime" : 1535623017,
"status" : 2
}
字段 | 类型 | 描述 |
---|---|---|
startRow | String | 下次请求传入的 Start 值 |
subRecordId | int | 清扫记录 id |
startTime | String | 开始时间 |
endTime | String | 结束时间 |
hasNext | boolean | 是否有下一页 |
4.删除历史记录(最多100条)
请求参数:
apiName:m.smart.scale.history.delete
version:1.0
postData:
{
"devId" : "xxx",
"uuid":"15607600058B81A6C4A0273FDD61091D0B02403848501,
15607600058B81A6C4A0273FDD61091D0B0240384850"、
}
返回数据示例
ture / false
实时数据通道
功能简介
注册实时数据通道监听设备数据流上报,返回数据是 byte 数组形式,根据机器协议解析成可用数据,如x、y坐标、颜色值等。
通道流程图
入口:TuyaHomeSdk.getTransferInstance();
订阅地图流数据
void registerTransferDataListener(ITuyaDataCallback<TransferDataBean> callback);
代码示例
TuyaHomeSdk.getTransferInstance().registerTransferDataListener(new ITuyaDataCallback<TransferDataBean>() {
@Override
public void onSuccess(TransferDataBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
取消订阅地图流数据
void unRegisterTransferDataListener(ITuyaDataCallback<TransferDataBean> callback);
代码示例
TuyaHomeSdk.getTransferInstance().unRegisterTransferDataListener(this);