|
TuyaOS
|
TUYA MQTT service 更多...


结构体 | |
| struct | mqtt_config |
| 定义了mqtt client创建需要的配置 更多... | |
类型定义 | |
| typedef VOID(* | MQ_CONN_DENY_CB) (IN BYTE_T deny_times) |
| MQTT client is not permited to connect to broker 更多... | |
| typedef VOID(* | MQ_CONNED_CB) (VOID) |
| MQTT client is connected to broker | |
| typedef VOID(* | MQ_DATA_RECV_CB) (IN BYTE_T *data, IN UINT_T len) |
| MQTT msg is recved from broker 更多... | |
| typedef VOID(* | MQ_DISCONN_CB) (VOID) |
| MQTT client is disconnected to broker | |
| typedef PVOID_T | MQ_HANDLE |
| typedef VOID(* | MQ_MSG_RECV_CB) (IN CONST CHAR_T *topic, IN BYTE_T *data, IN UINT_T len) |
| Callback when specific MQTT msg recv 更多... | |
| typedef INT_T(* | MQ_PERMIT_CONN_CB) (VOID) |
| Check permission when connect to broker 更多... | |
| typedef VOID(* | MQ_PUB_ASYNC_IFM_CB) (IN CONST OPERATE_RET op_ret, IN CONST VOID *prv_data) |
| Async callback that indicates mqtt_publish_async success or not. 更多... | |
| typedef VOID(* | MQ_UPDATE_AUTH_CB) (VOID) |
| Update authentication of MQTT client | |
| typedef struct mqtt_config | mqtt_config_t |
| 定义了mqtt client创建需要的配置 | |
| typedef struct mqtt_config * | p_mqtt_config_t |
函数 | |
| OPERATE_RET | create_mqtt_hand (IN CONST CHAR_T **domain_tbl, IN CONST BYTE_T domain_num, IN CONST USHORT_T serv_port, IN CONST BOOL_T enable_tls, IN CONST MQ_CLIENT_IF_S *mqc_if, IN CONST USHORT_T s_alive, IN CONST MQ_DATA_RECV_CB recv_cb, IN CONST CHAR_T **wakeup_domain_tbl, IN CONST BYTE_T wakeup_domain_num, IN CONST USHORT_T wakeup_serv_port, OUT MQ_HANDLE *hand) |
| Create MQTT client instance 更多... | |
| int | create_mqtt_handle_ext (IN p_mqtt_config_t p_mqtt_config, OUT MQ_HANDLE *hand) |
| 创建mqtt client handle 更多... | |
| BOOL_T | get_mqtt_conn_stat (IN CONST MQ_HANDLE hand) |
| Whether MQTT client is connected to broker or not 更多... | |
| VOID | mq_disconnect (IN CONST MQ_HANDLE hand) |
| Disconnect MQTT client from broker, will re-connect later 更多... | |
| OPERATE_RET | mqtt_book_additional_topic (IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topic) |
| Subcribe an addition topic 更多... | |
| OPERATE_RET | mqtt_book_wakeup_topic (IN CONST MQ_HANDLE hand, IN CONST CHAR_T *wakeup_topic) |
| Subcribe a wakeup topic for lowpower device 更多... | |
| OPERATE_RET | mqtt_client_quit (IN CONST MQ_HANDLE hand) |
| Disconnect MQTT client from broker, delete MQTT client thread 更多... | |
| OPERATE_RET | mqtt_client_start (IN CONST MQ_HANDLE hand, IN CONST CHAR_T *name) |
| Connect to broker, MQTT client thread is created 更多... | |
| VOID | mqtt_close (IN CONST MQ_HANDLE hand) |
| Close MQTT client socket fd, will re-connect later 更多... | |
| INT_T | mqtt_get_alive_time_s (IN CONST MQ_HANDLE hand) |
| Retrieve MQTT PING interval 更多... | |
| OPERATE_RET | mqtt_get_connection_linkage (IN CONST MQ_HANDLE hand, netmgr_linkage_t **linkage) |
| Get current linakge for mqtt connection 更多... | |
| INT_T | mqtt_get_socket_fd (IN CONST MQ_HANDLE hand) |
| Retrieve MQTT client socket fd 更多... | |
| UINT_T | mqtt_get_socket_ip (IN CONST MQ_HANDLE hand) |
| Get MQTT client's IP 更多... | |
| OPERATE_RET | mqtt_keep_alive (IN CONST MQ_HANDLE hand) |
| Send MQTT PING msg immediately 更多... | |
| OPERATE_RET | mqtt_publish_async (IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topic, IN CONST BYTE_T qos, IN CONST BYTE_T *data, IN CONST INT_T len, IN CONST UINT_T to_lmt, IN CONST MQ_PUB_ASYNC_IFM_CB cb, IN VOID *prv_data) |
| Publish a msg to the specific MQTT topic with QOS level and timeout handler 更多... | |
| OPERATE_RET | mqtt_register_cb (IN CONST MQ_HANDLE hand, IN CONST MQ_CONNED_CB conn_cb, IN CONST MQ_DISCONN_CB dis_conn_cb, IN CONST MQ_CONN_DENY_CB conn_deny_cb, IN CONST MQ_PERMIT_CONN_CB permit_conn_cb, IN CONST MQ_UPDATE_AUTH_CB update_auth_cb) |
| Register event handers of MQTT client 更多... | |
| VOID | mqtt_restart (IN CONST MQ_HANDLE hand) |
| Restart MQTT client 更多... | |
| OPERATE_RET | mqtt_set_alive_time_s (IN CONST USHORT_T time) |
| Set the default MQTT keep alive time 更多... | |
| OPERATE_RET | mqtt_set_connection_linkage (IN CONST MQ_HANDLE hand, netmgr_linkage_t *linkage) |
| Set customized linakge for mqtt connection 更多... | |
| int | mqtt_set_url (IN MQ_HANDLE *hand, IN char *url) |
| 设置mqtt的uri 更多... | |
| OPERATE_RET | mqtt_subscribe_multi_topics (IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topics[], IN CONST BYTE_T cnt, MQ_MSG_RECV_CB msg_cb, BOOL_T auto_resub) |
| Subcribe multiple topics within one MQTT request 更多... | |
| OPERATE_RET | mqtt_unsubscribe_multi_topics (IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topics[], IN CONST BYTE_T cnt) |
| Unsubcribe multiple topics within one MQTT request 更多... | |
| OPERATE_RET | mqtt_update_auth (IN CONST MQ_HANDLE hand, IN CONST CHAR_T *p_username, IN CONST CHAR_T *p_passwd) |
| Update crenditials of MQTT client 更多... | |
| VOID | release_mqtt_hand (IN CONST MQ_HANDLE hand) |
| Release MQTT client 更多... | |
TUYA MQTT service
Wrapper of MQTT request and response
| typedef VOID(* MQ_CONN_DENY_CB) (IN BYTE_T deny_times) |
MQTT client is not permited to connect to broker
| [in] | deny_times | How many times this MQTT client is denied by broker |
| typedef VOID(* MQ_DATA_RECV_CB) (IN BYTE_T *data, IN UINT_T len) |
MQTT msg is recved from broker
| [in] | data | Buffer of msg |
| [in] | len | Length os msg |
| typedef VOID(* MQ_MSG_RECV_CB) (IN CONST CHAR_T *topic, IN BYTE_T *data, IN UINT_T len) |
Callback when specific MQTT msg recv
| [in] | topic | Topic that msg is recved from |
| [in] | data | Buffer of msg content |
| [in] | len | Length of msg content |
| typedef INT_T(* MQ_PERMIT_CONN_CB) (VOID) |
Check permission when connect to broker
| typedef VOID(* MQ_PUB_ASYNC_IFM_CB) (IN CONST OPERATE_RET op_ret, IN CONST VOID *prv_data) |
Async callback that indicates mqtt_publish_async success or not.
| [in] | op_ret | OPRT_OK on success. Others on error, please refer to tuya_error_code.h |
| [in] | prv_data | Private data |
| OPERATE_RET create_mqtt_hand | ( | IN CONST CHAR_T ** | domain_tbl, |
| IN CONST BYTE_T | domain_num, | ||
| IN CONST USHORT_T | serv_port, | ||
| IN CONST BOOL_T | enable_tls, | ||
| IN CONST MQ_CLIENT_IF_S * | mqc_if, | ||
| IN CONST USHORT_T | s_alive, | ||
| IN CONST MQ_DATA_RECV_CB | recv_cb, | ||
| IN CONST CHAR_T ** | wakeup_domain_tbl, | ||
| IN CONST BYTE_T | wakeup_domain_num, | ||
| IN CONST USHORT_T | wakeup_serv_port, | ||
| OUT MQ_HANDLE * | hand | ||
| ) |
Create MQTT client instance
| [in] | domain_tbl | Domains of MQTT broker |
| [in] | domain_num | Count of domains |
| [in] | serv_port | Port of MQTT broker |
| [in] | enable_tls | TLS is enabled or not |
| [in] | mqc_if | Credentials of MQTT client |
| [in] | s_alive | MQTT hearbeat interval(unit sec), 0 will use the default timeout(60) |
| [in] | recv_cb | Callback when msg recved from broker |
| [in] | wakeup_domain_tbl | Domains of MQTT lowpower broker |
| [in] | wakeup_domain_num | Count of lowpower domains |
| [in] | wakeup_serv_port | Port of lowpower broker |
| [out] | hand | Handler of MQTT client |
| int create_mqtt_handle_ext | ( | IN p_mqtt_config_t | p_mqtt_config, |
| OUT MQ_HANDLE * | hand | ||
| ) |
创建mqtt client handle
| [in] | mqtt_config | mqtt配置,详见mqtt_config_t定义 |
| [out] | hand | 创建的mqtt handle |
| BOOL_T get_mqtt_conn_stat | ( | IN CONST MQ_HANDLE | hand | ) |
Whether MQTT client is connected to broker or not
| [in] | hand | Handler of MQTT client |
| VOID mq_disconnect | ( | IN CONST MQ_HANDLE | hand | ) |
Disconnect MQTT client from broker, will re-connect later
| [in] | hand | Handler of MQTT client |
| OPERATE_RET mqtt_book_additional_topic | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST CHAR_T * | topic | ||
| ) |
Subcribe an addition topic
| [in] | hand | Handler of MQTT client |
| [in] | topic | Topic to subscribe |
| OPERATE_RET mqtt_book_wakeup_topic | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST CHAR_T * | wakeup_topic | ||
| ) |
Subcribe a wakeup topic for lowpower device
| [in] | hand | Handler of MQTT client |
| [in] | wakeup_topic | Topic to subscribe |
| OPERATE_RET mqtt_client_quit | ( | IN CONST MQ_HANDLE | hand | ) |
Disconnect MQTT client from broker, delete MQTT client thread
| [in] | hand | Handler of MQTT client |
| OPERATE_RET mqtt_client_start | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST CHAR_T * | name | ||
| ) |
Connect to broker, MQTT client thread is created
| [in] | hand | Handler of MQTT client |
| [in] | name | Name of MQTT thread |
| VOID mqtt_close | ( | IN CONST MQ_HANDLE | hand | ) |
Close MQTT client socket fd, will re-connect later
| [in] | hand | Handler of MQTT client |
| INT_T mqtt_get_alive_time_s | ( | IN CONST MQ_HANDLE | hand | ) |
Retrieve MQTT PING interval
| [in] | hand | Handler of MQTT client |
| OPERATE_RET mqtt_get_connection_linkage | ( | IN CONST MQ_HANDLE | hand, |
| netmgr_linkage_t ** | linkage | ||
| ) |
Get current linakge for mqtt connection
| [in] | linkage | Current linkage |
| INT_T mqtt_get_socket_fd | ( | IN CONST MQ_HANDLE | hand | ) |
Retrieve MQTT client socket fd
| [in] | hand | Handler of MQTT client |
| UINT_T mqtt_get_socket_ip | ( | IN CONST MQ_HANDLE | hand | ) |
Get MQTT client's IP
| OPERATE_RET mqtt_keep_alive | ( | IN CONST MQ_HANDLE | hand | ) |
Send MQTT PING msg immediately
| [in] | hand | Handler of MQTT client |
| OPERATE_RET mqtt_publish_async | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST CHAR_T * | topic, | ||
| IN CONST BYTE_T | qos, | ||
| IN CONST BYTE_T * | data, | ||
| IN CONST INT_T | len, | ||
| IN CONST UINT_T | to_lmt, | ||
| IN CONST MQ_PUB_ASYNC_IFM_CB | cb, | ||
| IN VOID * | prv_data | ||
| ) |
Publish a msg to the specific MQTT topic with QOS level and timeout handler
| [in] | hand | Handler of MQTT client |
| [in] | topic | Topic that the msg will be published |
| [in] | qos | QOS level |
| [in] | data | Buffer of msg content |
| [in] | len | Length of msg content |
| [in] | to_lmt | Timeout(unit sec) of QOS-1 ACK, 0 for the default value(3) |
| [in] | cb | Callback when the msg is published and ACK is recved or timeout |
| [in] | prv_data | Private data |
| OPERATE_RET mqtt_register_cb | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST MQ_CONNED_CB | conn_cb, | ||
| IN CONST MQ_DISCONN_CB | dis_conn_cb, | ||
| IN CONST MQ_CONN_DENY_CB | conn_deny_cb, | ||
| IN CONST MQ_PERMIT_CONN_CB | permit_conn_cb, | ||
| IN CONST MQ_UPDATE_AUTH_CB | update_auth_cb | ||
| ) |
Register event handers of MQTT client
| [in] | hand | Handler of MQTT client |
| [in] | conn_cb | Hander when MQTT client is connected to broker |
| [in] | dis_conn_cb | Hander when MQTT client is disconnected to broker |
| [in] | conn_deny_cb | Hander when MQTT client is not permited to connect to broker |
| [in] | permit_conn_cb | Hander to check permission when connect to broker |
| [in] | update_auth_cb | Hander to update authentication |
| VOID mqtt_restart | ( | IN CONST MQ_HANDLE | hand | ) |
Restart MQTT client
| [in] | hand | Handler of MQTT client |
| OPERATE_RET mqtt_set_alive_time_s | ( | IN CONST USHORT_T | time | ) |
Set the default MQTT keep alive time
| [in] | time | keep alive time in milliseconds |
| OPERATE_RET mqtt_set_connection_linkage | ( | IN CONST MQ_HANDLE | hand, |
| netmgr_linkage_t * | linkage | ||
| ) |
Set customized linakge for mqtt connection
| [in] | linkage | Customized linkage |
| int mqtt_set_url | ( | IN MQ_HANDLE * | hand, |
| IN char * | url | ||
| ) |
设置mqtt的uri
| [in] | mqtt_config | mqtt配置,详见mqtt_config_t定义 |
| OPERATE_RET mqtt_subscribe_multi_topics | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST CHAR_T * | topics[], | ||
| IN CONST BYTE_T | cnt, | ||
| MQ_MSG_RECV_CB | msg_cb, | ||
| BOOL_T | auto_resub | ||
| ) |
Subcribe multiple topics within one MQTT request
| [in] | hand | Handler of MQTT client |
| [in] | topics | Array of topics to subscribe |
| [in] | cnt | Count of topics to subscribe |
| [in] | msg_cb | Callback when MQTT msgs recv. If msg_cb is NULL, msgs will transfer to default recv_cb of MQTT client |
| OPERATE_RET mqtt_unsubscribe_multi_topics | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST CHAR_T * | topics[], | ||
| IN CONST BYTE_T | cnt | ||
| ) |
Unsubcribe multiple topics within one MQTT request
| [in] | hand | Handler of MQTT client |
| [in] | topics | Array of topics to unsubscribe |
| [in] | cnt | Count of topics to unsubscribe |
| OPERATE_RET mqtt_update_auth | ( | IN CONST MQ_HANDLE | hand, |
| IN CONST CHAR_T * | p_username, | ||
| IN CONST CHAR_T * | p_passwd | ||
| ) |
Update crenditials of MQTT client
| [in] | hand | Handler of MQTT client |
| [in] | p_username | Username to connect to broker |
| [in] | p_passwd | Password to connect to broker |
| VOID release_mqtt_hand | ( | IN CONST MQ_HANDLE | hand | ) |
Release MQTT client
| [in] | hand | Handler of MQTT client |