Last Updated on : 2025-01-06 03:51:12download
This topic describes how the live map and route transmission feature works on laser robot vacuums and the related APIs.
The live map and route transmission feature supports two file actions:
The map for laser robot vacuums is available in two standard types:
The map for laser robot vacuums also supports custom files, such as ai.bin.stream for AI-powered recognition.
Custom files are typically used in custom panels, and their naming conventions should match those on the panel.
tuya_sweeper_event_cb
download event and connection session ID callback, the app needs to handle the event asynchronously, because the live map and route transmission interfaces are reported in blocking mode.tuya_sweeper_p2p_alone_stream_close
interface to disconnect the connection session with the app proactively. This is usually used when the device or app network error occurs and data transmission fails for a long time. This interface can clear the local cache and parameters, and thus quickly establish a connection with the app after the network is restored.tuya_sweeper_p2p_alone_stream_close
interface in sequence to proactively disconnect from the app.When you initialize the streaming media service, you can set the maximum number of simultaneous sessions. Three to five sessions are recommended, and the default value is five sessions. If the limit is reached, the new connection request will be forcibly closed.
After receiving the tuya_sweeper_event_cb
download cancellation event and connection session ID callback, the app needs to handle the event asynchronously. If multiple download cancellation events are received, call tuya_sweeper_stop_send_data_to_app
sequentially to inform different apps of file transfer termination.
/**
* @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);
Initialize the media streaming service.
Parameter | Description |
---|---|
max_client_num | The number of clients. Currently, up to five clients are supported. |
/**
* \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);
Send the live map data to the mobile app.
Parameter | Description |
---|---|
client | The session handle for the data transmission channel, obtained from the callback during map downloading. |
fileLen | The length of the live map file. |
fileBuff | The content of the live map file. |
timeout_ms | The timeout for live map file transmission. |
When you need to clear the map displayed on the app, call this interface to report an empty map in the following format:
Set fileLen
to 10 bytes and fill fileBuff
with 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);
Send the live route data to the mobile app.
Parameter | Description |
---|---|
client | The session handle for the data transmission channel, obtained from the callback during map downloading. |
fileLen | The length of the live route file. |
fileBuff | The content of the live route file. |
timeout_ms | The timeout for live route file transmission. |
When you need to clear the map displayed on the app, call this interface to report an empty map in the following format:
fileLen
to 13 bytes.fileBuff
with 1
for standard mode and 0
for others./**
* \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);
Send the custom file data to the mobile app.
Parameter | Description |
---|---|
client | The session handle for the data transmission channel, obtained from the callback during map downloading. |
name | The name of the custom file. |
fileLen | The length of the custom file. |
fileBuff | The content of the custom file. |
timeout_ms | The timeout for custom file transmission. |
/**
* \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);
Send the custom file to the TuyaOS SDK, which must be called after TuyaOS SDK initialization. See the description of TUYA_SWEEPER_CUSTOMIZE_FILEINFO
for the request parameters.
/**
* \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);
The device notifies the app of the end of file transmission.
Parameter | Description |
---|---|
client | The session handle for the data transmission channel, obtained from the callback during map downloading. |
/**
* \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);
The device proactively disconnects the transmission channel.
Parameter | Description |
---|---|
client | The session handle for the data transmission channel, obtained from the callback during map downloading. |
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback