53 lines
1.0 KiB
C++
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);
|
|
} |