多楼层地图及清扫记录传输

更新时间:2024-02-05 07:44:17下载pdf

本文基于 TuyaOS SDK,详细介绍激光扫地机的多楼层地图及清扫记录传输的流程及 API 接口。

流程说明

清扫记录上报

设备TuyaOS SDK云端涂鸦体系 Apptuya_iot_map_record_upload_buffer上报数据到服务器successPUBLISH(Qos0,Msg601)Delete(Msg)PUBLISH(Qos0,Msg601)下载清扫记录数据success设备TuyaOS SDK云端涂鸦体系 App

多楼层地图上报

设备TuyaOS SDK云端涂鸦体系 Apptuya_iot_map_upload_file上报数据到服务器successPUBLISH(Qos0,Msg601)下载清扫记录数据success用户删除地图tuya_iot_map_delete上报数据到服务器successtuya_iot_map_update_file更新地图数据到服务器successPUBLISH(Qos0,Msg601)更新地图successtuya_iot_get_all_maps_info读取云端地图信息successtuya_iot_get_map_files获取云端地图文件success设备TuyaOS SDK云端涂鸦体系 App

API 接口

tuya_iot_map_record_upload_buffer

/**
 * @brief tuya_iot_map_record_upload_buffer
 * @desc Robot vacuum function. Upload record map info
 *
 * @param[in] map_id
 * @param[in] buffer
 * @param[in] len
 * @param[in] descript
 *
 * @return OPERATE_RET
 */
OPERATE_RET tuya_iot_map_record_upload_buffer(IN CONST INT_T map_id, IN CONST BYTE_T *buffer, IN CONST UINT_T len, IN CONST CHAR_T *descript);

功能说明:上传清扫记录

参数名称 说明
map_id 本地地图 ID
buffer 上报的数据内容,数据格式参考涂鸦激光协议
len 上报的数据长度
descript 描述信息,格式参考 RecordId_BeginTime_CleanTime_CleanArea_MapLen_PathLen_VirtualLen,参考涂鸦激光协议

返回值

返回值 说明
OPRT_OK 操作成功
错误码 失败返回错误码

tuya_iot_map_upload_files

/***********************************************************
*  Function: tuya_iot_map_upload_files
*  Desc: Robot vacuum function. Upload cleaning map info
*  Input: bitmap_file& datamap_file & descript
*  output: map_id
*  Return: OPERATE_RET
***********************************************************/
OPERATE_RET tuya_iot_map_upload_files(IN CONST CHAR_T *bitmap_file, IN CONST CHAR_T *datamap_file, IN CONST CHAR_T *descript, OUT CONST UINT_T *map_id);

功能说明:上传地图。

参数名称 说明
bitmap_file 需要上传用于 App 显示的地图文件,文件名不能超过 16 字节,文件格式参考涂鸦激光协议
datamap_file 涂鸦无要求,客户自定义,文件名不能超过 16 字节
descript 描述信息,格式参考 mm_bin_mapid_nowtime.txt,参考涂鸦激光协议
map_id 上报成功后,云端返回的地图 ID

返回值

返回值 说明
OPRT_OK 操作成功
错误码 失败返回错误码

tuya_iot_map_update_files

/***********************************************************
*  Function: tuya_iot_map_update_files
*  Desc: Robot vacuum function. Update cleaning map info
*  Input: map_id
*  Input: bitmap & data_map_file
*  Return: OPERATE_RET
***********************************************************/
OPERATE_RET tuya_iot_map_update_files(IN CONST UINT_T map_id, IN CONST CHAR_T *bitmap_file, IN CONST CHAR_T *data_map_file);

功能说明:更新云端分配地图 ID 对应的地图文件。

参数名称 说明
map_id cloud_map_id 第一次上传地图,由云端分配的地图 ID
bitmap_file 需要更新的用于 App 显示的地图文件,全路径
data_map_file 涂鸦无要求,客户自定义

返回值

返回值 说明
OPRT_OK 操作成功
错误码 失败返回错误码

tuya_iot_map_delete

/***********************************************************
*  Function: tuya_iot_map_delete
*  Desc: Robot vacuum function. Delete map files in cloud
*  Input: map_id
*  Return: OPERATE_RET
***********************************************************/
OPERATE_RET tuya_iot_map_delete(IN CONST UINT_T map_id);

功能说明:删除云端保存的地图文件。

参数名称 说明
map_id 云端分配的地图 ID,cloud_map_id

返回值

返回值 说明
OPRT_OK 操作成功
错误码 失败返回错误码

tuya_iot_get_all_maps_info

/***********************************************************
*  Function: tuya_iot_get_all_maps_info
*  Desc: Robot vacuum function. Get map files
*  Input: map_info
*  Input: info_len
*  Output: get all map info (Maximum 5 sets of data)
*  Return: OPERATE_RET
***********************************************************/
OPERATE_RET tuya_iot_get_all_maps_info(OUT M_MAP_INFO *map_info, INOUT UINT8_T *info_len);

功能说明:获取楼层地图文件列表信息。

参数名称 说明
map_info 地图信息列表,具体可参考 M_MAP_INFO 结构体
info_len 要获取的地图信息个数,最大 5 个

返回值

返回值 说明
OPRT_OK 操作成功
错误码 失败返回错误码

tuya_iot_get_map_files

/***********************************************************
*  Function: tuya_iot_get_map_files
*  Desc: Robot vacuum function. Get map files
*  Input: map_id
*  Input: map_path
*  Output: map files under map_path path.
*  Return: OPERATE_RET
***********************************************************/
OPERATE_RET tuya_iot_get_map_files(IN CONST UINT_T map_id, IN CONST CHAR_T *map_path);

功能说明:获取指定 map_id 的地图文件,下载后保存在指定的路径下。

参数名称 说明
map_id 云端分配的地图 ID,cloud_map_id
map_path 下载地图文件保存的路径

返回值

返回值 说明
OPRT_OK 操作成功
错误码 失败返回错误码

常见注意事项

  • 上报地图文件接口中 bitmap_filedatamap_file 的地图文件不能为空,也不可以用同一个路径文件传入,否则会导致云端唯一索引冲突,导致入库报错。

    多楼层地图及清扫记录传输
  • 地图更新、删除地图及获取指定地图文件接口中 map_id 都是云端分配的 ID,您自行将云端分配的 ID 保存起来。

  • 您在使用多楼层地图及清扫记录传输接口时,完善补报的机制,避免因为网络抖动原因导致数据上报不成功。