陀螺仪和视觉扫地机

更新时间:2023-05-25 06:23:51

扫地机 SDK 提供接口请求和实时数据通道两种数据查询方式。

  • 查询、删除历史记录等数据需要请求接口。
  • 扫地机清扫中传递的数据可以通过注册实时数据通道监听查询。

查询最新一次清扫记录

接口说明

查询最新一次的扫地机清扫记录。

void queryLatestCleanRecord(String devId, String start, int size, IThingResultCallback<RecordDetaiBean> callback);

参数说明

参数 说明
devId 设备 ID
start 起始行,第一次传空串,后续查询下一页时需要填上一页返回值里的 startRow
size 请求大小,最大值 500

RecordDetaiBean 的主要属性定义如下:

字段 类型 描述
devId Sting 设备 ID
startRow String 起始行
dataList List<String> 地图数据
subRecordId int 清扫记录 ID
hasNext boolean 是否有下一页
startTime long 开始时间
endTime long 结束时间

示例代码

ThingOptimusSdk.getManager(IThingSweeperKitSdk.class).getGyroscopeAndVisualSweeperKit().queryLatestCleanRecord(devId, "", 500, new IThingResultCallback<RecordDetaiBean>() {
                    @Override
                    public void onSuccess(RecordDetaiBean result) {

                    }

                    @Override
                    public void onError(String errorCode, String errorMessage) {

                    }
                });

查询历史清扫记录列表

接口说明

查询历史的清扫记录列表。

void getHistoryCleanRecordList(String devId, int offset, int limit, long startTime, long endTime, IThingResultCallback<HistoryResultBean> callback);

参数说明

字段 类型 描述
devId String 设备 ID
offset int 偏移值
limit int 分页数量
startTime long 开始时间
endTime long 结束时间

HistoryResultBean 的主要属性定义如下:

字段 类型 描述
datas List<RecordListBean> 历史数据列表
totalCount int 总数

RecordListBean 的主要属性定义如下:

字段 类型 描述
recordId String 地图的唯一 ID
gid long 家庭组 ID
dpId int 扫地机产品在 涂鸦 IoT 平台 配置的清扫记录的 DP ID
gmtCreate long 创建时间
value String 地图信息,用来解析 subRecordId
uuid String 设备唯一 ID

示例代码

ThingOptimusSdk.getManager(IThingSweeperKitSdk.class).getGyroscopeAndVisualSweeperKit().getHistoryCleanRecordList(devId, 0, 10, 0, 0, new IThingResultCallback<HistoryResultBean>() {
                    @Override
                    public void onSuccess(HistoryResultBean result) {
                    
                    }

                    @Override
                    public void onError(String errorCode, String errorMessage) {
                       
                    }
                });

查询历史记录详情

接口说明

获取历史记录列表中的详细信息。

 void getCleanRecordDetail(String devId, int subRecordId, String start, int size, IThingResultCallback<RecordDetaiBean> callback);

参数说明

参数 说明
devId 设备 ID
subRecordId 清扫记录 ID,通过解析历史记录列表的 value 数据,根据数据长度使用不同的解析规则,规则见下表
start 起始行,第一次传空串,后面取下一页时填上一页返回值里的 startRow
size 请求数据大小,最大值 500

value 解析协议

记录时间
长度 12 位
清扫时间
长度 3 位
清扫面积
长度 3 位
subRecordId
长度 5 位
举例 说明
20200319202500300200123
  • 取 MCU 上报的时间在面板中显示
  • 点击对应记录可以显示地图
没有 00300200123
  • 取 DP 上报的云端时间戳时间在面板中显示
  • 点击对应记录可以显示地图
没有 202003192025003002
  • 取 MCU 上报的时间在面板中显示
  • 点击对应记录不可以显示地图
没有 没有 003002
  • 取 DP 上报的云端时间戳时间在面板中显示
  • 点击对应记录不可以显示地图

示例代码

ThingOptimusSdk.getManager(IThingSweeperKitSdk.class).getGyroscopeAndVisualSweeperKit().getCleanRecordDetail(devId, subRecordId, "", 2, new IThingResultCallback<RecordDetaiBean>() {
                    @Override
                    public void onSuccess(RecordDetaiBean result) {
                       
                    }

                    @Override
                    public void onError(String errorCode, String errorMessage) {
                      
                    }
                });

获取清扫记录 ID

接口说明

对数值类型字符串(value)解析协议的简单封装方法,可以自行按照上述规则解析也可以使用此方法。仅支持数值类型字符串。

 int getSubRecordId(String value);

示例代码

int subId = ThingOptimusSdk.getManager(IThingSweeperKitSdk.class).getGyroscopeAndVisualSweeperKit().getSubRecordId("20200319202500300200123");

删除一条或多条历史记录

接口说明

最多可以删除 100 条记录。

void deleteHistoryCleanRecord(String devId, List<String> recordIds, IResultCallback callback);

参数说明

参数 说明
devId 设备 ID
recordIds 清扫记录标识,从历史记录列表接口中获取

示例代码

ThingOptimusSdk.getManager(IThingSweeperKitSdk.class).getGyroscopeAndVisualSweeperKit().deleteHistoryCleanRecord(devId, recodIds, new IResultCallback() {
                    @Override
                    public void onError(String code, String error) {

                    }

                    @Override
                    public void onSuccess() {

                    }
                });

实时数据通道

注册实时数据通道监听设备数据流上报,返回数据是数组形式,根据机器协议解析成可用数据,如 x 坐标、y 坐标、颜色值等。

API 入口ThingHomeSdk.getTransferInstance();

通道流程

陀螺仪和视觉扫地机

订阅地图流数据

接口说明

void registerTransferDataListener(IThingDataCallback<TransferDataBean> callback);

代码示例

ThingHomeSdk.getTransferInstance().registerTransferDataListener(new IThingDataCallback<TransferDataBean>() {
	@Override
	public void onSuccess(TransferDataBean result) {

	}

	@Override
	public void onError(String errorCode, String errorMessage) {

	}
});

TransferDataBean

字段 类型 描述
data byte[]
  • 0~3 位数据为地图的 subRecordId
  • 4~12 位数据非业务数据,不参与解析
注意,从 13 位数据开始为地图实际数据,每 3 位数据为一个地图点,分别为地图的 x 坐标、y 坐标和地图点的点类型。
devId String 设备 ID

取消订阅地图流数据

接口说明

void unRegisterTransferDataListener(IThingDataCallback<TransferDataBean> callback);

代码示例

ThingHomeSdk.getTransferInstance().unRegisterTransferDataListener(this);