|
RCM — ESP32 Room Controller
WT32-ETH01 firmware
|
MQTT-клиент: подключение к облачному брокеру и публикация тестового сообщения. More...
#include "mqtt_app.h"#include <stdio.h>#include "esp_check.h"#include "esp_crt_bundle.h"#include "esp_log.h"#include "esp_mac.h"#include "mqtt_client.h"Go to the source code of this file.
Macros | |
| #define | MQTT_BROKER_URI "mqtts://microtec-lab.ru:8883" |
| URI облачного MQTT-брокера | |
| #define | MQTT_USERNAME "ozlocks_mqtt" |
| Учётные данные брокера | |
| #define | MQTT_PASSWORD "Tr0cK's_57$Y74" |
| #define | MQTT_CLIENT_ID_PREFIX "ozl-mb" |
| Префикс Client ID; суффикс — MAC Ethernet (уникален для каждого устройства) | |
Functions | |
| static void | build_client_id (void) |
| Формирует Client ID вида wt32-eth02-AABBCCDDEEFF из MAC Ethernet. | |
| const char * | mqtt_app_get_client_id (void) |
| Возвращает Client ID устройства (префикс + MAC Ethernet). | |
| static void | mqtt_event_handler (void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) |
| Обработчик событий MQTT (подключение, ошибки, публикация). | |
| esp_err_t | mqtt_app_start (void) |
| Запускает MQTT-клиент и подключается к брокеру. | |
| esp_err_t | mqtt_app_stop (void) |
| Останавливает MQTT-клиент и освобождает ресурсы. | |
| bool | mqtt_app_is_connected (void) |
| Проверяет, установлено ли соединение с MQTT-брокером. | |
| esp_err_t | mqtt_app_publish (const char *topic, const char *data, int qos, int retain) |
| Публикует сообщение в MQTT, если клиент подключён. | |
Variables | |
| static const char * | TAG = "mqtt_app" |
| static esp_mqtt_client_handle_t | s_mqtt_client |
| static bool | s_mqtt_connected |
| static char | s_client_id [24] |
MQTT-клиент: подключение к облачному брокеру и публикация тестового сообщения.
Definition in file mqtt_app.c.
| #define MQTT_BROKER_URI "mqtts://microtec-lab.ru:8883" |
URI облачного MQTT-брокера
Definition at line 19 of file mqtt_app.c.
Referenced by mqtt_app_start().
| #define MQTT_CLIENT_ID_PREFIX "ozl-mb" |
Префикс Client ID; суффикс — MAC Ethernet (уникален для каждого устройства)
Definition at line 26 of file mqtt_app.c.
Referenced by build_client_id().
| #define MQTT_PASSWORD "Tr0cK's_57$Y74" |
Definition at line 23 of file mqtt_app.c.
Referenced by mqtt_app_start().
| #define MQTT_USERNAME "ozlocks_mqtt" |
|
static |
Формирует Client ID вида wt32-eth02-AABBCCDDEEFF из MAC Ethernet.
Definition at line 35 of file mqtt_app.c.
References MQTT_CLIENT_ID_PREFIX, s_client_id, and TAG.
Referenced by 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().
| bool mqtt_app_is_connected | ( | void | ) |
Проверяет, установлено ли соединение с MQTT-брокером.
Definition at line 138 of file mqtt_app.c.
References s_mqtt_connected.
| esp_err_t mqtt_app_publish | ( | const char * | topic, |
| const char * | data, | ||
| int | qos, | ||
| int | retain ) |
Публикует сообщение в MQTT, если клиент подключён.
Definition at line 143 of file mqtt_app.c.
References s_mqtt_client, s_mqtt_connected, and TAG.
Referenced by modbus_poll_task().
| esp_err_t mqtt_app_start | ( | void | ) |
Запускает MQTT-клиент и подключается к брокеру.
Параметры брокера задаются в mqtt_app.c. После успешного подключения публикуется тестовое сообщение в тестовый топик.
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().
| esp_err_t mqtt_app_stop | ( | void | ) |
Останавливает MQTT-клиент и освобождает ресурсы.
Definition at line 123 of file mqtt_app.c.
References s_mqtt_client, s_mqtt_connected, and TAG.
Referenced by eth_event_handler().
|
static |
Обработчик событий MQTT (подключение, ошибки, публикация).
Definition at line 56 of file mqtt_app.c.
References s_mqtt_connected, and TAG.
Referenced by mqtt_app_start().
|
static |
Definition at line 30 of file mqtt_app.c.
Referenced by build_client_id(), mqtt_app_get_client_id(), and mqtt_app_start().
|
static |
Definition at line 28 of file mqtt_app.c.
Referenced by mqtt_app_publish(), mqtt_app_start(), and mqtt_app_stop().
|
static |
Definition at line 29 of file mqtt_app.c.
Referenced by mqtt_app_is_connected(), mqtt_app_publish(), mqtt_app_stop(), and mqtt_event_handler().
|
static |
Definition at line 16 of file mqtt_app.c.
Referenced by build_client_id(), mqtt_app_publish(), mqtt_app_start(), mqtt_app_stop(), and mqtt_event_handler().