更新时间:2024-12-06 09:18:52下载pdf
基于 TuyaOS SDK,本文详细介绍激光扫地机的实时地图与路径传输的业务流程及 API 接口。
目前,实时地图与路径传输业务支持 2 种文件操作:
对于激光扫地机的地图,支持 2 种固定的文件:
对于激光扫地机的地图,还支持自定义文件,例如 AI 识别文件 ai.bin.stream。
自定义文件一般在面板定制的产品中使用,命名规则需与面板端对齐。
tuya_sweeper_event_cb
下载事件和连接的会话 ID 号回调后,需要异步处理该事件,原因是实时地图及路径的传输接口都是阻塞模式上报。tuya_sweeper_p2p_alone_stream_close
接口,主动断开与 App 的连接会话。一般在设备或者 App 端网络出现异常,长时间发送数据失败的情况下使用,可以清除本地的发送缓存及参数,等待网络恢复后快速与 App 建立连接。tuya_sweeper_p2p_alone_stream_close
接口,主动断开与 App 的连接会话。在流媒体服务初始化时,您可以根据自己的需要设定同时支持的连接会话数量(一般建议 3~5 路为宜),默认 5 路。若超过以上限制,新建连接会被强制关闭。
tuya_sweeper_event_cb
取消下载事件和连接的会话 ID 号回调后,需要异步处理该事件。如收到多个取消下载事件,可循序调用 tuya_sweeper_stop_send_data_to_app
接口,告知不同的 App 客户端文件传输停止。/**
* @brief Initialize media streaming service
* @param [in] max_client_num range: 0 to 5
* @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
*/
OPERATE_RET tuya_media_server_customize_init(int max_client_num);
以上接口是初始化媒体流服务。
参数 | 说明 |
---|---|
max_client_num | 客户端数量,目前支持的最大客户端数量为 5 路 |
/**
* \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 | 实时地图文件的通道超时时间 |
当开发者需要清空 App 端显示的地图时,调用该接口上报空地图,空地图的格式如下:
fileLen
设置为 10 字节,fileBuff
都填 0 即可。
/**
* \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 | 实时路径文件的通道超时时间 |
当开发者需要清空 App 端显示的路径时,调用该接口上报空路径,空路径的格式如下:
fileLen
设置为 13 字节, fileBuff
中的路径类型填普通模式即 1 ,其余都填 0 即可。
/**
* \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 | 自定义文件的通道超时时间 |
/**
* \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
结构体说明。
/**
* \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 | 数据传输通道的会话句柄,在下载地图时,从回调函数中获取 |
/**
* \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 | 数据传输通道的会话句柄,在下载地图时,从回调函数中获取 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈