RainMaker MQTT¶
Functions¶
-
esp_rmaker_mqtt_conn_params_t *
esp_rmaker_mqtt_get_conn_params(void)¶
-
esp_err_t
esp_rmaker_mqtt_init(esp_rmaker_mqtt_conn_params_t *conn_params)¶ Initialize ESP RainMaker MQTT
- Return
ESP_OK on success.
- Return
error in case of any error.
- Parameters
[in] conn_params: The MQTT configuration data
-
void
esp_rmaker_mqtt_deinit(void)¶
-
esp_err_t
esp_rmaker_mqtt_connect(void)¶ MQTT Connect
Starts the connection attempts to the MQTT broker as per the configuration provided during initializing. This should ideally be called after successful network connection.
- Return
ESP_OK on success.
- Return
error in case of any error.
-
esp_err_t
esp_rmaker_mqtt_disconnect(void)¶ MQTT Disconnect
Disconnects from the MQTT broker.
- Return
ESP_OK on success.
- Return
error in case of any error.
-
esp_err_t
esp_rmaker_mqtt_publish(const char *topic, void *data, size_t data_len, uint8_t qos, int *msg_id)¶ Publish MQTT Message
- Return
ESP_OK on success.
- Return
error in case of any error.
- Parameters
[in] topic: The MQTT topic on which the message should be published.[in] data: Data to be published[in] data_len: Length of the data[in] qos: Quality of Service for the Publish. Can be 0, 1 or 2. Also depends on what the MQTT broker supports.[out] msg_id: msg_id for tracking if message is queued
-
esp_err_t
esp_rmaker_mqtt_subscribe(const char *topic, esp_rmaker_mqtt_subscribe_cb_t cb, uint8_t qos, void *priv_data)¶ Subscribe to MQTT topic
- Return
ESP_OK on success.
- Return
error in case of any error.
- Parameters
[in] topic: The topic to be subscribed to.[in] cb: The callback to be invoked when a message is received on the given topic.[in] priv_data: Optional private data to be passed to the callback[in] qos: Quality of Service for the Subscription. Can be 0, 1 or 2. Also depends on what the MQTT broker supports.
-
esp_err_t
esp_rmaker_mqtt_unsubscribe(const char *topic)¶ Unsubscribe from MQTT topic
- Return
ESP_OK on success.
- Return
error in case of any error.
- Parameters
[in] topic: Topic from which to unsubscribe.
-
esp_err_t
esp_rmaker_mqtt_setup(esp_rmaker_mqtt_config_t mqtt_config)¶
-
void
esp_rmaker_create_mqtt_topic(char *buf, size_t buf_size, const char *topic_suffix, const char *rule)¶ Creates appropriate MQTT Topic String based on CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS
- Parameters
[out] buf: Buffer to hold topic string[in] buf_size: Size of buffer[in] topic_suffix: MQTT Topic suffix[in] rule: Basic Ingests Rule Name
-
bool
esp_rmaker_mqtt_is_budget_available(void)¶ Check if budget is available to publish an mqtt message.
- Return
true if budget is available
- Return
false if budget is exhausted
- Note
esp_rmaker_mqtt_publishAPI already does this check. In addition to that, some use-cases might still need to check for this.
-
bool
esp_rmaker_is_mqtt_connected()¶ Check if device is connected to MQTT Server.
- Return
true if device is connected
- Return
false if device is not connected