mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
dht пока без коробки
This commit is contained in:
@@ -13,7 +13,6 @@ typedef std::vector<SensorDht> MySensorDhtVector;
|
|||||||
|
|
||||||
struct params {
|
struct params {
|
||||||
String type;
|
String type;
|
||||||
String value;
|
|
||||||
String key;
|
String key;
|
||||||
unsigned long interval;
|
unsigned long interval;
|
||||||
unsigned int pin;
|
unsigned int pin;
|
||||||
@@ -31,8 +30,9 @@ class SensorDht {
|
|||||||
private:
|
private:
|
||||||
params _paramsTmp;
|
params _paramsTmp;
|
||||||
params _paramsHum;
|
params _paramsHum;
|
||||||
|
|
||||||
unsigned long currentMillis;
|
unsigned int interval;
|
||||||
|
|
||||||
unsigned long prevMillis;
|
unsigned long prevMillis;
|
||||||
unsigned long difference;
|
unsigned long difference;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,91 +18,78 @@ SensorDht::SensorDht(const params& paramsTmp, const params& paramsHum) {
|
|||||||
|
|
||||||
dht->setup(_paramsTmp.pin, DHTesp::DHT11);
|
dht->setup(_paramsTmp.pin, DHTesp::DHT11);
|
||||||
|
|
||||||
//dht->getMinimumSamplingPeriod()
|
interval = _paramsTmp.interval < _paramsHum.interval ? _paramsTmp.interval : _paramsHum.interval;
|
||||||
|
interval = interval + dht->getMinimumSamplingPeriod();
|
||||||
}
|
}
|
||||||
|
|
||||||
SensorDht::~SensorDht() {}
|
SensorDht::~SensorDht() {}
|
||||||
|
|
||||||
void SensorDht::loop() {
|
void SensorDht::loop() {
|
||||||
//currentMillis = millis();
|
difference = millis() - prevMillis;
|
||||||
//difference = currentMillis - prevMillis;
|
if (difference >= interval) {
|
||||||
//if (difference >= _myParams.interval) {
|
prevMillis = millis();
|
||||||
// prevMillis = millis();
|
readTmpHum();
|
||||||
// readTmpHum();
|
}
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SensorDht::readTmpHum() {
|
void SensorDht::readTmpHum() {
|
||||||
//float tmp;
|
float tmp;
|
||||||
//float hum;
|
float hum;
|
||||||
//tmp = dht->getTemperature();
|
|
||||||
//hum = dht->getHumidity();
|
|
||||||
//
|
|
||||||
//if (String(tmp) != "nan" && String(hum) != "nan") {
|
|
||||||
// if (_myParams.type == "tmp") {
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (_myParams.type == "hum") {
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// tmp = tmp * _tmpSet.c;
|
|
||||||
// hum = hum * _humSet.c;
|
|
||||||
//
|
|
||||||
// if (_tmpSet.interval > 0) {
|
|
||||||
// eventGen2(_tmpSet.key, String(tmp));
|
|
||||||
// jsonWriteStr(configLiveJson, _tmpSet.key, String(tmp));
|
|
||||||
// publishStatus(_tmpSet.key, String(tmp));
|
|
||||||
// SerialPrint("I", "Sensor", "'" + _tmpSet.key + "' data: " + String(tmp));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (_humSet.interval > 0) {
|
|
||||||
// eventGen2(_humSet.key, String(hum));
|
|
||||||
// jsonWriteStr(configLiveJson, _humSet.key, String(hum));
|
|
||||||
// publishStatus(_humSet.key, String(hum));
|
|
||||||
// SerialPrint("I", "Sensor", "'" + _humSet.key + "' data: " + String(hum));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//} else {
|
|
||||||
// SerialPrint("E", "Sensor DHT", "Error");
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
||||||
//if (dht->getStatus() != 0 && counter < 5) {
|
tmp = dht->getTemperature();
|
||||||
// counter++;
|
hum = dht->getHumidity();
|
||||||
// SerialPrint("E", "Sensor", "Disconnected " + String(counter) + " " + dht->getStatusString());
|
|
||||||
//} else {
|
if (String(tmp) != "nan" && String(hum) != "nan") {
|
||||||
|
tmp = tmp * _paramsTmp.c;
|
||||||
|
hum = hum * _paramsHum.c;
|
||||||
|
|
||||||
|
eventGen2(_paramsTmp.key, String(tmp));
|
||||||
|
jsonWriteStr(configLiveJson, _paramsTmp.key, String(tmp));
|
||||||
|
publishStatus(_paramsTmp.key, String(tmp));
|
||||||
|
SerialPrint("I", "Sensor", "'" + _paramsTmp.key + "' data: " + String(tmp));
|
||||||
|
|
||||||
|
eventGen2(_paramsHum.key, String(hum));
|
||||||
|
jsonWriteStr(configLiveJson, _paramsHum.key, String(hum));
|
||||||
|
publishStatus(_paramsHum.key, String(hum));
|
||||||
|
SerialPrint("I", "Sensor", "'" + _paramsHum.key + "' data: " + String(hum));
|
||||||
|
|
||||||
|
} else {
|
||||||
|
SerialPrint("E", "Sensor DHT", "Error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MySensorDhtVector* mySensorDht = nullptr;
|
MySensorDhtVector* mySensorDht = nullptr;
|
||||||
|
|
||||||
void dhtSensor() {
|
void dhtSensor() {
|
||||||
myLineParsing.update();
|
myLineParsing.update();
|
||||||
String type = myLineParsing.gtype();
|
String type = myLineParsing.gtype();
|
||||||
String value = myLineParsing.gval();
|
|
||||||
String interval = myLineParsing.gint();
|
String interval = myLineParsing.gint();
|
||||||
String pin = myLineParsing.gpin();
|
String pin = myLineParsing.gpin();
|
||||||
String key = myLineParsing.gkey();
|
String key = myLineParsing.gkey();
|
||||||
String c = myLineParsing.gc();
|
String c = myLineParsing.gc();
|
||||||
myLineParsing.clear();
|
myLineParsing.clear();
|
||||||
|
|
||||||
|
static int enterCnt = -1;
|
||||||
|
enterCnt++;
|
||||||
|
|
||||||
static params paramsTmp;
|
static params paramsTmp;
|
||||||
static params paramsHum;
|
static params paramsHum;
|
||||||
if (value = "tmp") {
|
|
||||||
|
if (enterCnt == 0) {
|
||||||
paramsTmp.type = type;
|
paramsTmp.type = type;
|
||||||
paramsTmp.value = value;
|
|
||||||
paramsTmp.key = key;
|
paramsTmp.key = key;
|
||||||
paramsTmp.interval = interval.toInt() * 1000;
|
paramsTmp.interval = interval.toInt() * 1000;
|
||||||
paramsTmp.pin = pin.toInt();
|
paramsTmp.pin = pin.toInt();
|
||||||
paramsTmp.c = c.toFloat();
|
paramsTmp.c = c.toFloat();
|
||||||
}
|
}
|
||||||
if (value = "hum") {
|
|
||||||
|
if (enterCnt == 1) {
|
||||||
paramsHum.type = type;
|
paramsHum.type = type;
|
||||||
paramsHum.value = value;
|
|
||||||
paramsHum.key = key;
|
paramsHum.key = key;
|
||||||
paramsHum.interval = interval.toInt() * 1000;
|
paramsHum.interval = interval.toInt() * 1000;
|
||||||
paramsHum.pin = pin.toInt();
|
paramsHum.pin = pin.toInt();
|
||||||
paramsHum.c = c.toFloat();
|
paramsHum.c = c.toFloat();
|
||||||
}
|
|
||||||
dht_EnterCounter++;
|
|
||||||
if (dht_EnterCounter == 2) {
|
|
||||||
static bool firstTime = true;
|
static bool firstTime = true;
|
||||||
if (firstTime) mySensorDht = new MySensorDhtVector();
|
if (firstTime) mySensorDht = new MySensorDhtVector();
|
||||||
firstTime = false;
|
firstTime = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user