Class DataHandler that handle data formatting in json from sensors

This commit is contained in:
Lemonochrome 2023-11-23 23:05:55 +01:00
parent 0b15719ce5
commit 9a484d0543
5 changed files with 62 additions and 2 deletions

View file

@ -0,0 +1,25 @@
#include "DataHandler.hpp"
DataHandler::DataHandler() {}
void DataHandler::updateTemperatureData(float temp) {
temperature = temp;
}
void DataHandler::updateHumidityData(float hum) {
humidity = hum;
}
String DataHandler::getJsonData() {
return buildJson();
}
String DataHandler::buildJson() {
StaticJsonDocument<200> document; // Taille = 200
document["temperature"] = temperature;
document["humidity"] = humidity;
String jsonFormattedData;
serializeJson(document, jsonFormattedData);
return jsonFormattedData;
}

View file

@ -0,0 +1,21 @@
#ifndef DATAHANDLER_HPP
#define DATAHANDLER_HPP
#include <ArduinoJson.h>
class DataHandler {
public:
DataHandler();
String getJsonData();
void updateTemperatureData(float temperature);
void updateHumidityData(float humidity);
private:
float temperature;
float humidity;
String buildJson();
};
#endif

View file

@ -14,3 +14,4 @@ board = nodemcuv2
framework = arduino framework = arduino
lib_deps = tzapu/WiFiManager@^0.16.0 lib_deps = tzapu/WiFiManager@^0.16.0
bbx10/DNSServer@^1.1.0 bbx10/DNSServer@^1.1.0
ArduinoJson

View file

@ -3,13 +3,26 @@
#include <ESP8266WebServer.h> #include <ESP8266WebServer.h>
#include "ServerHandler.hpp" #include "ServerHandler.hpp"
#include "DataHandler.hpp"
ServerHandler serverHandler; ServerHandler serverHandler;
DataHandler dataHandler;
int cpt = 0;
void setup() { void setup() {
Serial.begin(9600);
dataHandler.updateTemperatureData(20.0);
dataHandler.updateHumidityData(3.141592);
serverHandler.setup("Redmi Note 10", "bbooksdd"); serverHandler.setup("Redmi Note 10", "bbooksdd");
} }
void loop() { void loop() {
serverHandler.loop(); serverHandler.loop();
Serial.println(dataHandler.getJsonData());
dataHandler.updateTemperatureData(cpt++);
delay(1000);
} }