更新时间:2024-06-19 09:05:16下载pdf
扫地机 SDK 提供接口请求和实时通道两种数据查询方式。
类名 | 说明 |
---|---|
ThingSmartSweeperDevice | 涂鸦扫地机设备相关的类 |
接口说明
//流服务 1.0
- (void)queryLatestCleanRecord:(NSString *)devId start:(NSString *)start size:(NSInteger)size complete:(void(^)(ThingSmartSweeperRecordDetail *model, NSError *error))complete;
//流服务 2.0
- (void)queryLatestCleanRecordV2:(NSString *)devId start:(NSString *)start size:(NSInteger)size complete:(void(^)(ThingSmartSweeperRecordDetail *model, NSError *error))complete;
入参说明
字段名 | 类型 | 描述 |
---|---|---|
devId | String | 设备 ID。 |
start | String | 开始位置。第一次传空,之后取下一页时填上一页返回值里的 startRow 值。 |
size | Integer | 查询数据的大小,最大为 500 。 |
响应参数:ThingSmartSweeperRecordDetail
字段名 | 类型 | 描述 |
---|---|---|
devId | String | 设备 ID |
startRow | String | 分页查询索引 |
dataList | Array | 流数据 |
subRecordId | String | 清扫记录 ID |
hasNext | BOOL | 是否有下一页数据 |
startTime | long | 开始时间 |
endTime | long | 结束时间 |
响应示例
{
"devId":"6ccdd506b7186ee85avntm",
"startRow":"mtnva58ee6817b605ddcc6_35_1535629239586",
"dataList":[
"373702373700",
"383702383802373901383901383800",
"373802373901373800",
"373802363901363801373800",
"373702373602373600",
"373502373500",
"373502373402373301363301373400",
"363502363500",
"363502363500"
],
"subRecordId":35,
"hasNext":true,
"startTime":1535629049,
"endTime":1535629244,
"status":2
}
接口说明
- (void)getHistoryCleanRecordList:(NSString *)devId offset:(NSInteger )offset limit:(NSInteger)limit startTime:(long long)startTime endTime:(long long)endTime complete:(void(^)(NSArray <ThingSmartSweeperRecordList *> *list, NSError *error))complete;
入参说明
字段名 | 类型 | 描述 |
---|---|---|
devId | String | 设备 ID |
offset | Integer | 分页偏移量 |
limit | Integer | 分页大小 |
startTime | Long | 开始时间 |
endTime | Long | 结束时间 |
响应参数:NSArray <ThingSmartSweeperRecordList *> *list
数组,其中 ThingSmartSweeperRecordList
字段如下:
字段名 | 类型 | 描述 |
---|---|---|
recordId | String | 地图 ID |
gid | int | 家庭组 ID |
dpId | int | 在 涂鸦开发者平台 配置的清扫记录的 DP ID |
gmtCreate | long | 创建时间 |
value | String | 地图信息,解析 subRecordId |
uuid | String | 设备 ID |
响应示例
{
"recordId":"162992AAXKaZCdL2tDvVcWYecT9AA9630150",
"gid":38498424,
"dpId":15,
"gmtCreate":1629929630203,
"value":"20210826052504804100145",
"uuid":"ecc8c633ef1d9ede"
}
接口说明
//流服务 1.0
- (void)getCleanRecordDetail:(NSString *)devId subRecordId:(NSInteger)subRecordId start:(NSString *)start size:(NSInteger)size complete:(void(^)(ThingSmartSweeperRecordDetail *model, NSError *error))complete;
//流服务 2.0
- (void)getCleanRecordDetailV2:(NSString *)devId subRecordId:(NSInteger)subRecordId mapId:(NSInteger)mapId datatype:(NSInteger)datatype start:(NSString *)start size:(NSInteger)size complete:(void(^)(ThingSmartSweeperRecordDetail *model, NSError *error))complete;
入参说明
字段名 | 类型 | 描述 |
---|---|---|
devId | String | 设备 ID。 |
subRecordId | Integer | 清扫记录 ID,通过解析历史记录列表的 value 数据,根据数据长度使用不同的解析规则,规则见下表。 |
start | String | 开始位置。第一次传空,之后取下一页时填上一页返回值里的 startRow 值。 |
size | Integer | 查询数据的大小,最大为 500 。 |
mapId | Integer | 子地图 ID(流服务 2.0 专用)。 |
datatype | Integer | 地图类型(流服务 2.0 专用)。 |
value 解析协议
记录时间 长度 12 位 |
清扫时间 长度 3 位 |
清扫面积 长度 3 位 |
subRecordId 长度 5 位 |
举例 | 说明 |
---|---|---|---|---|---|
有 | 有 | 有 | 有 | 20200319202500 300200123 |
|
没有 | 有 | 有 | 有 | 00300200123 |
|
有 | 有 | 有 | 没有 | 202003192025 003002 |
|
没有 | 有 | 有 | 没有 | 003002 |
|
提供一种解析方法,参考 ThingSmartSweeperRecordList
类:
+ (NSString *)subRecordIdObtainFromValue:(NSString *)value;
您也可以按照 value 解析协议自行转换。
响应参数:ThingSmartSweeperRecordDetail
字段名 | 类型 | 描述 |
---|---|---|
devId | String | 设备 ID |
startRow | String | 分页查询索引 |
dataList | Array | 流数据 |
subRecordId | String | 清扫记录 ID |
hasNext | BOOL | 是否有下一页数据 |
startTime | long | 开始时间 |
endTime | long | 结束时间 |
响应示例
{
"devId":"6ccdd506b7186ee85avntm",
"startRow":"mtnva58ee6817b605ddcc6_31_1535622776561",
"dataList":[
"3e3f02403e013e3f00",
"3f3f024040013f3f00",
"3f3f02403f014040013f3f00",
"3f40024140014040013f3f024041013f41013f3f00",
"3f3f024040014041013f41013f3f00"
],
"subRecordId":31,
"hasNext":true,
"startTime":1535621566,
"endTime":1535623017,
"status":2
}
接口说明
- (void)deleteHistoryCleanRecord:(NSString *)devId recordId:(NSString *)recordId complete:(void(^)(BOOL success, NSError *error))complete;
入参说明
字段名 | 类型 | 描述 |
---|---|---|
devId | String | 设备 ID |
recordId | String | 清扫记录 ID(清扫记录标识,从历史记录列表接口中获取) |
响应示例
{
"result":true,
"success":true,
"status":"ok",
"t":1557740732829
}
涂鸦陀螺仪型或视觉型的扫地机是使用流通道来传输地图数据,实现 ThingSmartSweeperDeviceDelegate
代理协议接收用来接收地图流数据回调。
类名 | 说明 |
---|---|
ThingSmartSweeperDevice | 涂鸦扫地机设备相关的类 |
接口说明
订阅设备的地图流数据。
- (void)subscribeDeviceDataTransfer;
示例代码
Objc:
- (void)subscribeDevice {
[self.sweeperDevice subscribeDeviceDataTransfer];
}
Swift:
func subscribeDevice() {
sweeperDevice?.subscribeDeviceDataTransfer()
}
接口说明
取消订阅设备的地图流数据。
- (void)unsubscribeDeviceDataTransfer;
示例代码
Objc:
- (void)unsubscribeDevice {
[self.sweeperDevice unsubscribeDeviceDataTransfer];
}
Swift:
func unsubscribeDevice() {
sweeperDevice?.unsubscribeDeviceDataTransfer()
}
接口说明
设备上报的流数据实时回调。
- (void)sweeperDevice:(ThingSmartSweeperDevice *)sweeperDevice didReceiveStreamData:(NSData *)data;
参数说明
参数 | 说明 |
---|---|
sweeperDevice | ThingSmartSweeperDevice 实例对象。 |
data | 流数据(NSData 类型)。0~3 位数据为地图的 subRecordId ,4~12 位数据非业务数据,不参与解析。注意,从 13 位数据开始为地图实际数据,每 3 位数据为一个地图点,分别为地图的 x 坐标、y 坐标和地图点的点类型。 |
示例代码
Objc:
self.sweeperDevice = [ThingSmartSweeperDevice deviceWithDeviceId:<#devId#>];
self.sweeperDevice.delegate = self;
// 实现代理方法
- (void)sweeperDevice:(ThingSmartSweeperDevice *)sweeperDevice didReceiveStreamData:(NSData *)data {
}
Swift:
sweeperDevice = ThingSmartSweeperDevice.init(deviceId: "your_devId")
sweeperDevice?.delegate = self
func sweeperDevice(_ sweeperDevice: ThingSmartSweeperDevice, didReceiveStreamData data: Data) {
}
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈