更新时间: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
})
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈