Files
IoTManager/src/modules/sensors/Sht20/Sht20.cpp

57 lines
1.3 KiB
C++
Raw Normal View History

2022-02-01 14:48:52 +03:00
#include "Global.h"
#include "classes/IoTItem.h"
2022-02-01 14:48:52 +03:00
#include "Wire.h"
#include "SHT2x.h"
SHT2x* sht = nullptr;
class Sht20t : public IoTItem {
2022-02-01 14:48:52 +03:00
public:
2022-09-14 18:53:02 +02:00
Sht20t(String parameters) : IoTItem(parameters) {}
2022-02-01 14:48:52 +03:00
void doByInterval() {
sht->read();
value.valD = sht->getTemperature();
2022-09-14 18:53:02 +02:00
if (value.valD > -46.85F)
regEvent(value.valD, "Sht20t");
else
SerialPrint("E", "Sensor Sht20t", "Error");
2022-02-01 14:48:52 +03:00
}
2022-09-14 18:53:02 +02:00
~Sht20t(){};
2022-02-01 14:48:52 +03:00
};
class Sht20h : public IoTItem {
2022-02-01 14:48:52 +03:00
public:
2022-09-14 18:53:02 +02:00
Sht20h(String parameters) : IoTItem(parameters) {}
2022-02-01 14:48:52 +03:00
void doByInterval() {
sht->read();
value.valD = sht->getHumidity();
2022-09-14 18:53:02 +02:00
if (value.valD != -6)
regEvent(value.valD, "Sht20h");
else
SerialPrint("E", "Sensor Sht20h", "Error");
}
2022-02-01 14:48:52 +03:00
2022-09-14 18:53:02 +02:00
~Sht20h(){};
2022-02-01 14:48:52 +03:00
};
void* getAPI_Sht20(String subtype, String param) {
2022-09-14 18:53:02 +02:00
// if (subtype == F("Sht20t") || subtype == F("Sht20h")) {
// if (!sht) {
// sht = new SHT2x;
// if (sht) sht->begin();
// }
//
// if (subtype == F("Sht20t")) {
// return new Sht20t(param);
// } else if (subtype == F("Sht20h")) {
// return new Sht20h(param);
// }
//} else {
return nullptr;
//}
2022-02-01 14:48:52 +03:00
}