Files
Test_STM_ESP/ESP32_ESP-IDF/main/mqtt/mqtt_client.cpp

53 lines
1.0 KiB
C++

#include "mqtt_client.hpp"
#include <string.h>
#include "mqtt_client.h"
#include "esp_log.h"
static esp_mqtt_client_handle_t mqttClient;
static void mqtt_event_handler(void*, esp_event_base_t, int32_t event_id, void*)
{
switch(event_id)
{
case MQTT_EVENT_CONNECTED:
ESP_LOGI("MQTT", "Connected");
break;
case MQTT_EVENT_DISCONNECTED:
ESP_LOGW("MQTT", "Disconnected");
break;
default:
break;
}
}
void MQTTClient::Init()
{
esp_mqtt_client_config_t cfg =
{
.broker =
{
.address =
{
.uri = "mqtt://test.mosquitto.org"
}
}
};
mqttClient =
esp_mqtt_client_init(&cfg);
esp_mqtt_client_register_event(mqttClient, MQTT_EVENT_ANY, mqtt_event_handler, nullptr);
esp_mqtt_client_start(mqttClient);
}
void MQTTClient::PublishCO2(uint16_t ppm)
{
char msg[32];
sprintf(msg, "%u", ppm);
esp_mqtt_client_publish(mqttClient, "student/co2", msg, 0, 1, 0);
}