Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Data Structures | |
struct | mqtt_utf8 |
Abstracts UTF-8 encoded strings. More... | |
struct | mqtt_binstr |
Abstracts binary strings. More... | |
struct | mqtt_topic |
Abstracts MQTT UTF-8 encoded topic that can be subscribed to or published. More... | |
struct | mqtt_publish_message |
Parameters for a publish message. More... | |
struct | mqtt_connack_param |
Parameters for a connection acknowledgment (CONNACK). More... | |
struct | mqtt_puback_param |
Parameters for MQTT publish acknowledgment (PUBACK). More... | |
struct | mqtt_pubrec_param |
Parameters for MQTT publish receive (PUBREC). More... | |
struct | mqtt_pubrel_param |
Parameters for MQTT publish release (PUBREL). More... | |
struct | mqtt_pubcomp_param |
Parameters for MQTT publish complete (PUBCOMP). More... | |
struct | mqtt_suback_param |
Parameters for MQTT subscription acknowledgment (SUBACK). More... | |
struct | mqtt_unsuback_param |
Parameters for MQTT unsubscribe acknowledgment (UNSUBACK). More... | |
struct | mqtt_publish_param |
Parameters for a publish message (PUBLISH). More... | |
struct | mqtt_subscription_list |
List of topics in a subscription request. More... | |
union | mqtt_evt_param |
Defines event parameters notified along with asynchronous events to the application. More... | |
struct | mqtt_evt |
Defines MQTT asynchronous event notified to the application. More... | |
struct | mqtt_sec_config |
TLS configuration for secure MQTT transports. More... | |
struct | mqtt_transport |
MQTT transport specific data. More... | |
struct | mqtt_internal |
MQTT internal state. More... | |
struct | mqtt_client |
MQTT Client definition to maintain information relevant to the client. More... | |
Macros | |
#define | MQTT_UTF8_LITERAL(literal) ((struct mqtt_utf8) {literal, sizeof(literal) - 1}) |
Initialize UTF-8 encoded string from C literal string. | |
Typedefs | |
typedef void(* | mqtt_evt_cb_t) (struct mqtt_client *client, const struct mqtt_evt *evt) |
Asynchronous event notification callback registered by the application. | |
Functions | |
void | mqtt_client_init (struct mqtt_client *client) |
Initializes the client instance. | |
int | mqtt_connect (struct mqtt_client *client) |
API to request new MQTT client connection. | |
int | mqtt_publish (struct mqtt_client *client, const struct mqtt_publish_param *param) |
API to publish messages on topics. | |
int | mqtt_publish_qos1_ack (struct mqtt_client *client, const struct mqtt_puback_param *param) |
API used by client to send acknowledgment on receiving QoS1 publish message. | |
int | mqtt_publish_qos2_receive (struct mqtt_client *client, const struct mqtt_pubrec_param *param) |
API used by client to send acknowledgment on receiving QoS2 publish message. | |
int | mqtt_publish_qos2_release (struct mqtt_client *client, const struct mqtt_pubrel_param *param) |
API used by client to request release of QoS2 publish message. | |
int | mqtt_publish_qos2_complete (struct mqtt_client *client, const struct mqtt_pubcomp_param *param) |
API used by client to send acknowledgment on receiving QoS2 publish release message. | |
int | mqtt_subscribe (struct mqtt_client *client, const struct mqtt_subscription_list *param) |
API to request subscription of one or more topics on the connection. | |
int | mqtt_unsubscribe (struct mqtt_client *client, const struct mqtt_subscription_list *param) |
API to request unsubscription of one or more topics on the connection. | |
int | mqtt_ping (struct mqtt_client *client) |
API to send MQTT ping. | |
int | mqtt_disconnect (struct mqtt_client *client) |
API to disconnect MQTT connection. | |
int | mqtt_abort (struct mqtt_client *client) |
API to abort MQTT connection. | |
int | mqtt_live (struct mqtt_client *client) |
This API should be called periodically for the client to be able to keep the connection alive by sending Ping Requests if need be. | |
int | mqtt_keepalive_time_left (const struct mqtt_client *client) |
Helper function to determine when next keep alive message should be sent. | |
int | mqtt_input (struct mqtt_client *client) |
Receive an incoming MQTT packet. | |
int | mqtt_read_publish_payload (struct mqtt_client *client, void *buffer, size_t length) |
Read the payload of the received PUBLISH message. | |
int | mqtt_read_publish_payload_blocking (struct mqtt_client *client, void *buffer, size_t length) |
Blocking version of mqtt_read_publish_payload function. | |
int | mqtt_readall_publish_payload (struct mqtt_client *client, uint8_t *buffer, size_t length) |
Blocking version of mqtt_read_publish_payload function which runs until the required number of bytes are read. | |
#include <include/zephyr/net/mqtt.h>
Initialize UTF-8 encoded string from C literal string.
Use it as follows:
struct mqtt_utf8 password = MQTT_UTF8_LITERAL("my_pass");
[in] | literal | Literal string from which to generate mqtt_utf8 object. |
typedef void(* mqtt_evt_cb_t) (struct mqtt_client *client, const struct mqtt_evt *evt) |
#include <include/zephyr/net/mqtt.h>
Asynchronous event notification callback registered by the application.
[in] | client | Identifies the client for which the event is notified. |
[in] | evt | Event description along with result and associated parameters (if any). |
#include <include/zephyr/net/mqtt.h>
MQTT CONNACK return codes.
enum mqtt_evt_type |
#include <include/zephyr/net/mqtt.h>
MQTT Asynchronous Events notified to the application from the module through the callback registered by the application.
Enumerator | |
---|---|
MQTT_EVT_CONNACK | Acknowledgment of connection request. Event result accompanying the event indicates whether the connection failed or succeeded. |
MQTT_EVT_DISCONNECT | Disconnection Event. MQTT Client Reference is no longer valid once this event is received for the client. |
MQTT_EVT_PUBLISH | Publish event received when message is published on a topic client is subscribed to.
|
MQTT_EVT_PUBACK | Acknowledgment for published message with QoS 1. |
MQTT_EVT_PUBREC | Reception confirmation for published message with QoS 2. |
MQTT_EVT_PUBREL | Release of published message with QoS 2. |
MQTT_EVT_PUBCOMP | Confirmation to a publish release message with QoS 2. |
MQTT_EVT_SUBACK | Acknowledgment to a subscribe request. |
MQTT_EVT_UNSUBACK | Acknowledgment to a unsubscribe request. |
MQTT_EVT_PINGRESP | Ping Response from server. |
enum mqtt_qos |
#include <include/zephyr/net/mqtt.h>
MQTT Quality of Service types.
#include <include/zephyr/net/mqtt.h>
MQTT SUBACK return codes.
enum mqtt_transport_type |
#include <include/zephyr/net/mqtt.h>
MQTT transport type.
Enumerator | |
---|---|
MQTT_TRANSPORT_NON_SECURE | Use non secure TCP transport for MQTT connection. |
MQTT_TRANSPORT_NUM | Shall not be used as a transport type. Indicator of maximum transport types possible. |
enum mqtt_version |
#include <include/zephyr/net/mqtt.h>
MQTT version protocol level.
Enumerator | |
---|---|
MQTT_VERSION_3_1_0 | Protocol level for 3.1.0. |
MQTT_VERSION_3_1_1 | Protocol level for 3.1.1. |
int mqtt_abort | ( | struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
API to abort MQTT connection.
This will close the corresponding transport without closing the connection gracefully at the MQTT level (with disconnect message).
[in] | client | Identifies client instance for which procedure is requested. |
void mqtt_client_init | ( | struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
Initializes the client instance.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
int mqtt_connect | ( | struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
API to request new MQTT client connection.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
CONFIG_MQTT_KEEPALIVEtime to override default of 1 minute.
int mqtt_disconnect | ( | struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
API to disconnect MQTT connection.
[in] | client | Identifies client instance for which procedure is requested. |
int mqtt_input | ( | struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
Receive an incoming MQTT packet.
The registered callback will be called with the packet content.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
int mqtt_keepalive_time_left | ( | const struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
Helper function to determine when next keep alive message should be sent.
Can be used for instance as a source for poll
timeout.
[in] | client | Client instance for which the procedure is requested. |
int mqtt_live | ( | struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
This API should be called periodically for the client to be able to keep the connection alive by sending Ping Requests if need be.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
int mqtt_ping | ( | struct mqtt_client * | client | ) |
#include <include/zephyr/net/mqtt.h>
API to send MQTT ping.
The use of this API is optional, as the library handles the connection keep-alive on it's own, see mqtt_live.
[in] | client | Identifies client instance for which procedure is requested. |
int mqtt_publish | ( | struct mqtt_client * | client, |
const struct mqtt_publish_param * | param | ||
) |
#include <include/zephyr/net/mqtt.h>
API to publish messages on topics.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
[in] | param | Parameters to be used for the publish message. Shall not be NULL. |
int mqtt_publish_qos1_ack | ( | struct mqtt_client * | client, |
const struct mqtt_puback_param * | param | ||
) |
#include <include/zephyr/net/mqtt.h>
API used by client to send acknowledgment on receiving QoS1 publish message.
Should be called on reception of MQTT_EVT_PUBLISH with QoS level MQTT_QOS_1_AT_LEAST_ONCE.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
[in] | param | Identifies message being acknowledged. |
int mqtt_publish_qos2_complete | ( | struct mqtt_client * | client, |
const struct mqtt_pubcomp_param * | param | ||
) |
#include <include/zephyr/net/mqtt.h>
API used by client to send acknowledgment on receiving QoS2 publish release message.
Should be called on reception of MQTT_EVT_PUBREL.
[in] | client | Identifies client instance for which the procedure is requested. Shall not be NULL. |
[in] | param | Identifies message being completed. |
int mqtt_publish_qos2_receive | ( | struct mqtt_client * | client, |
const struct mqtt_pubrec_param * | param | ||
) |
#include <include/zephyr/net/mqtt.h>
API used by client to send acknowledgment on receiving QoS2 publish message.
Should be called on reception of MQTT_EVT_PUBLISH with QoS level MQTT_QOS_2_EXACTLY_ONCE.
[in] | client | Identifies client instance for which the procedure is requested. Shall not be NULL. |
[in] | param | Identifies message being acknowledged. |
int mqtt_publish_qos2_release | ( | struct mqtt_client * | client, |
const struct mqtt_pubrel_param * | param | ||
) |
#include <include/zephyr/net/mqtt.h>
API used by client to request release of QoS2 publish message.
Should be called on reception of MQTT_EVT_PUBREC.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
[in] | param | Identifies message being released. |
int mqtt_read_publish_payload | ( | struct mqtt_client * | client, |
void * | buffer, | ||
size_t | length | ||
) |
#include <include/zephyr/net/mqtt.h>
Read the payload of the received PUBLISH message.
This function should be called within the MQTT event handler, when MQTT PUBLISH message is notified.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
[out] | buffer | Buffer where payload should be stored. |
[in] | length | Length of the buffer, in bytes. |
int mqtt_read_publish_payload_blocking | ( | struct mqtt_client * | client, |
void * | buffer, | ||
size_t | length | ||
) |
#include <include/zephyr/net/mqtt.h>
Blocking version of mqtt_read_publish_payload function.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
[out] | buffer | Buffer where payload should be stored. |
[in] | length | Length of the buffer, in bytes. |
int mqtt_readall_publish_payload | ( | struct mqtt_client * | client, |
uint8_t * | buffer, | ||
size_t | length | ||
) |
#include <include/zephyr/net/mqtt.h>
Blocking version of mqtt_read_publish_payload function which runs until the required number of bytes are read.
[in] | client | Client instance for which the procedure is requested. Shall not be NULL. |
[out] | buffer | Buffer where payload should be stored. |
[in] | length | Number of bytes to read. |
int mqtt_subscribe | ( | struct mqtt_client * | client, |
const struct mqtt_subscription_list * | param | ||
) |
#include <include/zephyr/net/mqtt.h>
API to request subscription of one or more topics on the connection.
[in] | client | Identifies client instance for which the procedure is requested. Shall not be NULL. |
[in] | param | Subscription parameters. Shall not be NULL. |
int mqtt_unsubscribe | ( | struct mqtt_client * | client, |
const struct mqtt_subscription_list * | param | ||
) |
#include <include/zephyr/net/mqtt.h>
API to request unsubscription of one or more topics on the connection.
[in] | client | Identifies client instance for which the procedure is requested. Shall not be NULL. |
[in] | param | Parameters describing topics being unsubscribed from. Shall not be NULL. |