激光扫地机

更新时间:2023-05-22 06:38:30

激光型扫地机借助 MQTT 和云存储来进行数据的传输。扫地机将地图或清扫路径以文件的形式保存在云端,其中涉及到获取云存储配置信息,接收文件上传完成的实时消息和文件下载功能。

功能简介

扫地机设备所有功能对应 TuyaSmartSweepDevice 类,需要使用设备 ID 进行初始化。错误的设备 ID 会导致初始化失败,返回 nil。

扫地机 SDK v3.1.0 及以后版本,不再支持对象存储 OSS 实时数据功能。请使用 P2P 获取实时数据。

类名 说明
TuyaSmartSweepDevice 扫地机设备相关的类

获取云存储配置

从云端获取云存储配置信息。

- (void)initCloudConfigWithSuccess:(void (^)(NSString *bucket))success
                           failure:(void (^)(NSError * _Nullable error))failure;

参数说明

类名 说明
success 成功回调,返回 bucket 文件存储空间信息
failure 失败回调

示例代码

Objc:

[self.sweeperDevice initCloudConfigWithSuccess:^(NSString * _Nonnull bucket) {

} failure:^(NSError * _Nullable error) {

}];

Swift:

sweeperDevice?.initCloudConfig(success: { (bucket) in

}, failure: { (error) in

})

获取完整文件地址

获取地图文件在存储服务器上完整的路径,您可以自行下载解析。

接口说明

- (nullable NSString *)getCloudFileDownloadURLWithBucket:(NSString *)bucket path:(NSString *)path;

参数说明

参数 说明
bucket 文件存储空间
path 地图、清扫路径等文件的存储相对路径

示例代码

Objective-C:

NSString *url = [self.sweeperDevice getCloudFileDownloadURLWithBucket:<#bucket#> path:<#path#>];

Swift:

let url = sweeperDevice?.getCloudFileDownloadURL(withBucket: "", path: "")

获取数据内容

根据地图、清扫路径等文件在云端存储的相对路径,下载文件数据。

接口说明

- (void)getSweeperDataWithBucket:(NSString *)bucket
                            path:(NSString *)path
                         success:(void (^)(NSData *data))success
                         failure:(void (^)(NSError * _Nullable error))failure;

参数说明

参数 说明
bucket 文件存储空间
path 地图、清扫路径等文件等的存储相对路径
success 成功回调,返回文件具体内容的 data
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice getSweeperDataWithBucket:<#bucket#> path:<#path#> success:^(NSData * _Nonnull data) {

} failure:^(NSError * _Nullable error) {

}];

Swift:

sweeperDevice?.getSweeperData(withBucket: "", path: "", success: { (data) in

}, failure: { (error) in

})

获取历史清扫记录

从云端获取激光型扫地机的历史清扫记录。

接口说明

- (void)getSweeperHistoryDataWithLimit:(NSUInteger)limit
                                offset:(NSUInteger)offset
                             startTime:(long)startTime
                               endTime:(long)endTime
                               success:(void (^)(NSArray<TuyaSmartSweeperHistoryModel *> *datas, NSUInteger totalCount))success
                               failure:(void (^)(NSError * _Nullable error))failure;

参数说明

类名 说明
TuyaSmartSweeperHistoryModel 历史清扫记录
属性 类型 说明
fileId NSString 清扫记录文件 ID
time long 清扫记录文件时间戳
extend NSString 清扫记录拆分读取规则
bucket NSString 清扫记录文件的存储空间
file NSString 清扫记录文件存储的相对路径
参数 说明
limit 一次获取数据的数量,建议最大不要超过 100
offset 获取数据的偏移量,用于分页
startTime 起始时间戳,默认不传
endTime 结束时间戳,默认不传
success 成功回调,返回清扫记录数组的 datas 和历史清扫记录总数 totalCount
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice getSweeperHistoryDataWithLimit:50 offset:0 startTime:-1 endTime:-1 success:^(NSArray<TuyaSmartSweeperHistoryModel *> * _Nonnull datas, NSUInteger totalCount) {

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.getSweeperHistoryData(withLimit: 50, offset: 0, success: { (datas, count) in

        }, failure: { (error) in

        })

删除历史清扫记录

删除当前激光型扫地机设备指定的历史清扫记录。最多可以删除 100 条记录。

接口说明

- (void)removeSweeperHistoryDataWithFileIds:(NSArray<NSString *> *)fileIds
                                    success:(void (^)(void))success
                                    failure:(void (^)(NSError * _Nullable error))failure;

参数说明

参数 说明
fileIds 清扫记录文件 ID 的字符串数组
success 成功回调
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice removeSweeperHistoryDataWithFileIds:<#fileIds#> success:^{

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.removeSweeperHistoryData(withFileIds: [""], success: {

        }, failure: { (error) in

        })

获取多楼层地图数据

针对激光型扫地机一次清扫记录有多个地图的情况,提供从云端获取多地图的历史清扫记录。

接口说明

- (void)getSweeperMultiHistoryDataWithLimit:(NSUInteger)limit
                                     offset:(NSUInteger)offset
                                  startTime:(long)startTime
                                    endTime:(long)endTime
                                    success:(void(^)(NSArray<TuyaSmartSweeperHistoryModel *> *datas, NSUInteger totalCount))success
                                    failure:(void(^)(NSError * _Nullable error))failure;

参数说明

参数 说明
limit 一次获取数据的数量,建议最大不要超过 100
offset 获取数据的偏移量,用于分页
startTime 起始时间戳,默认不传
endTime 结束时间戳,默认不传
success 成功回调,返回清扫记录数组的 datas 和历史清扫记录总数 totalCount
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice getSweeperMultiHistoryDataWithLimit:50 offset:0 startTime:-1 endTime:-1 success:^(NSArray<TuyaSmartSweeperHistoryModel *> * _Nonnull datas, NSUInteger totalCount) {

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.getSweeperMultiHistoryData(withLimit: 50, offset: 0, success: { (datas, count) in

        }, failure: { (error) in

        })

多楼层地图命名

针对激光型扫地机一次清扫记录有多个地图的情况,可以使用多楼层地图命名的接口。

接口说明

- (void)sweeperFileNameUpdateWithFileId:(NSNumber *)fileId
                              fileName:(NSString *)fileName
                               success:(void (^)(id result))success
                               failure:(void (^)(NSError * _Nullable error))failure;

参数说明

参数 说明
fileId 地图 ID
fileName 地图名称
success 成功回调
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice sweeperFileNameUpdateWithFileId:@1 fileName:@"" success:^(id  _Nonnull result) {

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.sweeperFileNameUpdate(withFileId: 1, fileName: "", success: { (success) in

        }, failure: { (error) in

        })