improved sensor data structure

This commit is contained in:
Timo Volkmann 2020-07-03 19:08:38 +02:00
parent 49fa6d08f4
commit 6b20f577be

View File

@ -1,5 +1,6 @@
#include <header.h>
#include <ArduinoJson.h>
#include <ArduinoNvs.h>
#include <header.h>
#include <string>
//using namespace std;
@ -8,12 +9,9 @@ extern "C" {
#include "freertos/task.h"
}
#define MQTT_MOISTURE MQTT_PATH_PUB "moisture"
#define MQTT_TEMPERATURE MQTT_PATH_PUB "temperature"
#define MQTT_HUMIDITY MQTT_PATH_PUB "humidity"
#define MQTT_BRIGHTNESS MQTT_PATH_PUB "brightness"
#define MQTT_SENSOR_DATA MQTT_PATH_PUB "data"
char buffer[16];
char buffer[128];
// Feldkapazität des Bodens in Prozent: Standard ist Humus
int fieldCapacity = 44;
@ -23,31 +21,38 @@ int permanentWiltingPoint = 25;
int soilSaturation = 69;
void readSensors() {
StaticJsonDocument<128> doc;
float lxValue = readLightSensorValue();
Serial.print("Light intensity: ");
Serial.print(lxValue);
Serial.println(" lx");
sprintf(buffer, "%f", lxValue);
publishMessage(MQTT_BRIGHTNESS, buffer);
doc["brightness"] = lxValue;
//sprintf(buffer, "%f", lxValue);
//publishMessage(MQTT_BRIGHTNESS, buffer);
int mstValue = readCapacitiveSoilMoistureSensor();
Serial.print("Soil moisture: ");
Serial.println(mstValue);
sprintf(buffer, "%i", mstValue);
publishMessage(MQTT_MOISTURE, buffer);
// sprintf(buffer, "%i", mstValue);
// publishMessage(MQTT_MOISTURE, buffer);
doc["moisture"] = mstValue;
float humidityValue = readHumidity();
Serial.print("Humidity: ");
Serial.println(humidityValue);
sprintf(buffer, "%f", humidityValue);
publishMessage(MQTT_HUMIDITY, buffer);
// sprintf(buffer, "%f", humidityValue);
// publishMessage(MQTT_HUMIDITY, buffer);
doc["humidity"] = humidityValue;
float temperatureValue = readTemperature();
Serial.print("Temperature: ");
Serial.println(temperatureValue);
sprintf(buffer, "%f", temperatureValue);
publishMessage(MQTT_TEMPERATURE, buffer);
// sprintf(buffer, "%f", temperatureValue);
// publishMessage(MQTT_TEMPERATURE, buffer);
doc["temperature"] = temperatureValue;
Serial.print("\n");
serializeJson(doc, buffer);
publishMessage(MQTT_SENSOR_DATA, buffer);
}
bool openValve() {