diff --git a/ESP32_ESP-IDF/main/mqtt/mqtt_client.cpp b/ESP32_ESP-IDF/main/mqtt/mqtt_client.cpp new file mode 100644 index 0000000..2b4abee --- /dev/null +++ b/ESP32_ESP-IDF/main/mqtt/mqtt_client.cpp @@ -0,0 +1,38 @@ +#include "mqtt_client.hpp" + +#include "mqtt_client.h" + +static esp_mqtt_client_handle_t mqttClient; + +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_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 + ); +} \ No newline at end of file diff --git a/ESP32_ESP-IDF/main/mqtt/mqtt_client.hpp b/ESP32_ESP-IDF/main/mqtt/mqtt_client.hpp new file mode 100644 index 0000000..abe5959 --- /dev/null +++ b/ESP32_ESP-IDF/main/mqtt/mqtt_client.hpp @@ -0,0 +1,8 @@ +#pragma once + +class MQTTClient +{ +public: + static void Init(); + static void PublishCO2(uint16_t ppm); +}; \ No newline at end of file