RCM — ESP32 Room Controller
WT32-ETH01 firmware
Loading...
Searching...
No Matches
mqtt_app.h File Reference

Публичный интерфейс MQTT-клиента. More...

#include <stdbool.h>
#include "esp_err.h"

Go to the source code of this file.

Functions

esp_err_t mqtt_app_start (void)
 Запускает MQTT-клиент и подключается к брокеру.
 
esp_err_t mqtt_app_stop (void)
 Останавливает MQTT-клиент и освобождает ресурсы.
 
esp_err_t mqtt_app_publish (const char *topic, const char *data, int qos, int retain)
 Публикует сообщение в MQTT, если клиент подключён.
 
bool mqtt_app_is_connected (void)
 Проверяет, установлено ли соединение с MQTT-брокером.
 
const char * mqtt_app_get_client_id (void)
 Возвращает Client ID устройства (префикс + MAC Ethernet).
 

Detailed Description

Публичный интерфейс MQTT-клиента.

Подключение к брокеру и публикация тестового сообщения запускаются из ethernet.c после получения IP (IP_EVENT_ETH_GOT_IP).

Definition in file mqtt_app.h.

Function Documentation

◆ mqtt_app_get_client_id()

const char * mqtt_app_get_client_id ( void )

Возвращает Client ID устройства (префикс + MAC Ethernet).

Инициализируется при первом вызове, до подключения к брокеру.

Definition at line 45 of file mqtt_app.c.

References build_client_id(), and s_client_id.

Referenced by modbus_poll_task(), and mqtt_app_start().

◆ mqtt_app_is_connected()

bool mqtt_app_is_connected ( void )

Проверяет, установлено ли соединение с MQTT-брокером.

Definition at line 138 of file mqtt_app.c.

References s_mqtt_connected.

◆ mqtt_app_publish()

esp_err_t mqtt_app_publish ( const char * topic,
const char * data,
int qos,
int retain )

Публикует сообщение в MQTT, если клиент подключён.

Returns
ESP_OK при успешной постановке в очередь, ESP_ERR_INVALID_STATE если нет соединения.

Definition at line 143 of file mqtt_app.c.

References s_mqtt_client, s_mqtt_connected, and TAG.

Referenced by modbus_poll_task().

◆ mqtt_app_start()

esp_err_t mqtt_app_start ( void )

Запускает MQTT-клиент и подключается к брокеру.

Параметры брокера задаются в mqtt_app.c. После успешного подключения публикуется тестовое сообщение в тестовый топик.

Returns
ESP_OK при успешной инициализации клиента.

Definition at line 92 of file mqtt_app.c.

References mqtt_app_get_client_id(), MQTT_BROKER_URI, mqtt_event_handler(), MQTT_PASSWORD, MQTT_USERNAME, s_client_id, s_mqtt_client, and TAG.

Referenced by got_ip_event_handler().

◆ mqtt_app_stop()

esp_err_t mqtt_app_stop ( void )

Останавливает MQTT-клиент и освобождает ресурсы.

Returns
ESP_OK; если клиент не запущен — также ESP_OK без действий.

Definition at line 123 of file mqtt_app.c.

References s_mqtt_client, s_mqtt_connected, and TAG.

Referenced by eth_event_handler().