mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
Add DHT sensor
This commit is contained in:
@@ -20,6 +20,7 @@ class LineParsing {
|
||||
String _inv;
|
||||
String _state;
|
||||
String _db;
|
||||
String _type;
|
||||
|
||||
public:
|
||||
LineParsing() :
|
||||
@@ -35,7 +36,8 @@ class LineParsing {
|
||||
_c{""},
|
||||
_inv{""},
|
||||
_state{""},
|
||||
_db{""}
|
||||
_db{""},
|
||||
_type{""}
|
||||
|
||||
{};
|
||||
|
||||
@@ -71,6 +73,9 @@ class LineParsing {
|
||||
if (arg.indexOf("c[") != -1) {
|
||||
_c = extractInner(arg);
|
||||
}
|
||||
if (arg.indexOf("type[") != -1) {
|
||||
_type = extractInner(arg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,6 +118,9 @@ class LineParsing {
|
||||
String gc() {
|
||||
return _c;
|
||||
}
|
||||
String gtype() {
|
||||
return _type;
|
||||
}
|
||||
|
||||
void clear() {
|
||||
_key = "";
|
||||
@@ -127,6 +135,7 @@ class LineParsing {
|
||||
_inv = "";
|
||||
_state = "";
|
||||
_db = "";
|
||||
_type = "";
|
||||
}
|
||||
|
||||
String extractInnerDigit(String str) {
|
||||
|
||||
@@ -32,15 +32,15 @@ extern void bme280P_reading();
|
||||
extern void bme280H_reading();
|
||||
extern void bme280A_reading();
|
||||
|
||||
extern void dhtT();
|
||||
extern void dhtH();
|
||||
extern void dhtP();
|
||||
extern void dhtC();
|
||||
extern void dhtD();
|
||||
extern void dhtH_reading();
|
||||
extern void dhtP_reading();
|
||||
extern void dhtC_reading();
|
||||
extern void dhtD_reading();
|
||||
//extern void dhtT();
|
||||
//extern void dhtH();
|
||||
//extern void dhtP();
|
||||
//extern void dhtC();
|
||||
//extern void dhtD();
|
||||
//extern void dhtH_reading();
|
||||
//extern void dhtP_reading();
|
||||
//extern void dhtC_reading();
|
||||
//extern void dhtD_reading();
|
||||
|
||||
extern void handle_time_init();
|
||||
extern void stepper();
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
//#define WEBSOCKET_ENABLED
|
||||
//#define LAYOUT_IN_RAM
|
||||
//#define UDP_ENABLED
|
||||
//#define SSDP
|
||||
#define SSDP
|
||||
|
||||
/*
|
||||
* Sensor
|
||||
|
||||
@@ -1,43 +1,75 @@
|
||||
#pragma once
|
||||
#include <Arduino.h>
|
||||
|
||||
#include "Class/LineParsing.h"
|
||||
#include "Global.h"
|
||||
#include "items/SensorConvertingClass.h"
|
||||
|
||||
DHTesp dht;
|
||||
class SensorDhtClass : public SensorConvertingClass {
|
||||
public:
|
||||
SensorDhtClass() : SensorConvertingClass(){};
|
||||
|
||||
void SensorDhtInit() {
|
||||
//oneWire = new OneWire((uint8_t)_pin.toInt());
|
||||
//sensors.setOneWire(oneWire);
|
||||
//sensors.begin();
|
||||
//sensors.setResolution(48);
|
||||
|
||||
if (_type == "dht11") {
|
||||
dht.setup(_pin.toInt(), DHTesp::DHT11);
|
||||
}
|
||||
if (_type == "dht22") {
|
||||
dht.setup(_pin.toInt(), DHTesp::DHT22);
|
||||
}
|
||||
sensorReadingMap += _key + ",";
|
||||
//dhtEnterCounter++;
|
||||
|
||||
//to do если надо будет читать несколько dht
|
||||
//dhtEnterCounter++;
|
||||
//jsonWriteInt(configOptionJson, _key + "_num", dhtEnterCounter);
|
||||
|
||||
jsonWriteStr(configOptionJson, _key + "_map", _map);
|
||||
jsonWriteStr(configOptionJson, _key + "_с", _c);
|
||||
}
|
||||
|
||||
void SensorDhtRead(String key) {
|
||||
void SensorDhtReadTemp(String key) {
|
||||
//to do если надо будет читать несколько dht
|
||||
//int cnt = jsonReadInt(configOptionJson, key + "_num");
|
||||
float value;
|
||||
byte num = sensors.getDS18Count();
|
||||
sensors.requestTemperatures();
|
||||
|
||||
int cnt = jsonReadInt(configOptionJson, key + "_num");
|
||||
|
||||
for (byte i = 0; i < num; i++) {
|
||||
if (i == cnt) {
|
||||
value = sensors.getTempCByIndex(i);
|
||||
static int counter;
|
||||
if (dht.getStatus() != 0 && counter < 5) {
|
||||
counter++;
|
||||
//return;
|
||||
} else {
|
||||
counter = 0;
|
||||
value = dht.getTemperature();
|
||||
if (String(value) != "nan") {
|
||||
//value = this->mapping(key, value);
|
||||
float valueFl = this->correction(key, value);
|
||||
eventGen(key, "");
|
||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||
MqttClient::publishStatus(key, String(valueFl));
|
||||
Serial.println("[I] sensor '" + key + "' data: " + String(valueFl));
|
||||
} else {
|
||||
Serial.println("[E] sensor '" + key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SensorDhtReadHum(String key) {
|
||||
//to do если надо будет читать несколько dht
|
||||
//int cnt = jsonReadInt(configOptionJson, key + "_num");
|
||||
float value;
|
||||
static int counter;
|
||||
if (dht.getStatus() != 0 && counter < 5) {
|
||||
counter++;
|
||||
//return;
|
||||
} else {
|
||||
counter = 0;
|
||||
value = dht.getHumidity();
|
||||
if (String(value) != "nan") {
|
||||
//value = this->mapping(key, value);
|
||||
float valueFl = this->correction(key, value);
|
||||
eventGen(key, "");
|
||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||
MqttClient::publishStatus(key, String(valueFl));
|
||||
Serial.println("[I] sensor '" + key + "' data: " + String(valueFl));
|
||||
} else {
|
||||
Serial.println("[E] sensor '" + key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,4 +25,9 @@ extern void ultrasonicCm();
|
||||
extern void ultrasonicReading();
|
||||
|
||||
extern void dallasTemp();
|
||||
extern void dallasReading();
|
||||
extern void dallasReading();
|
||||
|
||||
extern void dhtTemp();
|
||||
extern void dhtReadingTemp();
|
||||
extern void dhtHum();
|
||||
extern void dhtReadingHum();
|
||||
Reference in New Issue
Block a user