实时地图与路径传输

更新时间:2024-09-13 06:47:05下载pdf

基于 TuyaOS SDK,本文详细介绍激光扫地机的实时地图与路径传输的业务流程及 API 接口。

业务介绍

目前,实时地图与路径传输业务支持 2 种文件操作:

  • 下载扫地机地图
  • 取消下载扫地机地图

对于激光扫地机的地图,支持 2 种固定的文件:

  • 全量地图
  • 清扫路径图

对于激光扫地机的地图,还支持自定义文件,例如 AI 识别文件 ai.bin.stream

自定义文件一般在面板定制的产品中使用,命名规则需与面板端对齐。

流程说明

主业务流程

设备TuyaOS SDKSTUN 服务器涂鸦 App判断会话数量是否超过-限制,超过则关闭会话发送鉴权信息鉴权,若失败,则关闭-会话查询设备支持的地图文件回调查询信息返回查询结果返回查询结果下载地图文件回调下载信息返回下载结果返回下载结果调用发送数据接口发送地图与路径文件数据取消下载地图文件回调取消下载信息返回文件传输停止返回取消下载结果设备TuyaOS SDKSTUN 服务器涂鸦 App

下载扫地机地图

涂鸦 AppTuyaOS SDK设备下载扫地机地图下载事件回调读取本地地图文件,并发送数据tuya_sweeper_send_map_data_w-ith_buff发送数据读取本地路径文件,并发送数据tuya_sweeper_send_cleanpath_d-ata_with_buff发送数据读取本地自定义文件,并发送数据tuya_sweeper_send_customize_d-ata_with_buff发送数据涂鸦 AppTuyaOS SDK设备

取消下载扫地机地图

涂鸦 AppTuyaOS SDK设备取消下载扫地机地图返回已接收到下载命令下载事件回调调用tuya_sweeper_stop_send_data_-to_app,告知涂鸦 App文件传输停止将消息发给涂鸦 App返回已接收到取消下载命令涂鸦 AppTuyaOS SDK设备

API 接口

tuya_sweeper_send_map_data_with_buff

/**
 * \fn tuya_sweeper_send_map_data_with_buff
 * \brief send file to app by P2P
 * \param[in] client: client handle
 * \param[in] fileLen: file len
 * \param[in] fileBuff: file buff
 * \param[in] timeout_ms: timeout, in ms
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */
OPERATE_RET tuya_sweeper_send_map_data_with_buff(IN INT_T client, IN INT_T fileLen, IN CHAR_T* fileBuff, IN INT_T timeout_ms);

该接口是将实时地图数据发送给 App。

参数 说明
client 数据传输通道的会话句柄,在下载地图时,从回调函数中获取
fileLen 实时地图文件的长度
fileBuff 实时地图文件的内容
timeout_ms 实时地图文件的通道超时时间

tuya_sweeper_send_cleanpath_data_with_buff

/**
 * \fn tuya_sweeper_send_cleanpath_data_with_buff
 * \brief send file to app by P2P
 * \param[in] client: client handle
 * \param[in] fileLen: file len
 * \param[in] fileBuff: file buff
 * \param[in] timeout_ms: timeout, in ms
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */
OPERATE_RET tuya_sweeper_send_cleanpath_data_with_buff(IN INT_T client, IN INT_T fileLen, IN CHAR_T* fileBuff, IN INT_T timeout_ms);

该接口是将实时路径数据发送给 App。

参数 说明
client 数据传输通道的会话句柄,在下载地图时,从回调函数中获取
fileLen 实时路径文件的长度
fileBuff 实时路径文件的内容
timeout_ms 实时路径文件的通道超时时间

tuya_sweeper_send_customize_data_with_buff

/**
 * \fn tuya_sweeper_send_customize_data_with_buff
 * \brief send file to app by P2P
 * \param[in] client: client handle
 * \param[in] name: file name
 * \param[in] fileLen: file len
 * \param[in] fileBuff: file buff
 * \param[in] timeout_ms: timeout, in ms
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */
OPERATE_RET tuya_sweeper_send_customize_data_with_buff(IN INT_T client, IN CHAR_T* name , IN INT_T fileLen, IN CHAR_T* fileBuff,IN INT_T timeout_ms);

该接口是将自定义文件数据发送给 App。

参数 说明
client 数据传输通道的会话句柄,在下载地图时,从回调函数中获取
name 自定义文件名
fileLen 自定义文件的长度
fileBuff 自定义文件的内容
timeout_ms 自定义文件的通道超时时间

tuya_sweeper_set_customize_name

/**
 * \fn tuya_sweeper_set_customize_name
 * \brief send file to app by P2P
 * \param[in] name_info: file name
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */
OPERATE_RET tuya_sweeper_set_customize_name(IN TUYA_SWEEPER_CUSTOMIZE_FILEINFO* name_info);

该接口是将自定义文件传递给 TuyaOS SDK,需要在 TuyaOS SDK 初始化之后调用。入参请参考 TUYA_SWEEPER_CUSTOMIZE_FILEINFO 结构体说明。

tuya_sweeper_stop_send_data_to_app

/**
 * \fn tuya_sweeper_stop_send_data_to_app
 * \brief send file to app by P2P
 * \param[in] client: client handle
 * \return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */
OPERATE_RET tuya_sweeper_stop_send_data_to_app(IN INT_T client);

该接口是设备通知 App 文件传输结束。

参数 说明
client 数据传输通道的会话句柄,在下载地图时,从回调函数中获取

tuya_sweeper_p2p_alone_stream_close

/**
 * \fn tuya_sweeper_p2p_alone_stream_close
 * \brief One link is closed on the device
 * \param[in] client: client handle
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */
OPERATE_RET tuya_sweeper_p2p_alone_stream_close(IN INT_T client);

该接口是设备主动断开传输通道。

参数 说明
client 数据传输通道的会话句柄,在下载地图时,从回调函数中获取