sensor dht support

This commit is contained in:
Dmitry Borisenko
2020-09-04 13:44:49 +03:00
parent 551b35ff4f
commit 26b5c173a2
4 changed files with 66 additions and 2 deletions

View File

@@ -1,6 +1,5 @@
#pragma once
#include <Arduino.h>
#include "Class/LineParsing.h"
#include "Global.h"
#include "items/SensorConvertingClass.h"

View File

@@ -0,0 +1,45 @@
#pragma once
#include <Arduino.h>
#include "Class/LineParsing.h"
#include "Global.h"
#include "items/SensorConvertingClass.h"
class SensorDhtClass : public SensorConvertingClass {
public:
SensorDhtClass() : SensorConvertingClass(){};
void SensorDhtInit() {
//oneWire = new OneWire((uint8_t)_pin.toInt());
//sensors.setOneWire(oneWire);
//sensors.begin();
//sensors.setResolution(48);
sensorReadingMap += _key + ",";
//dhtEnterCounter++;
//jsonWriteInt(configOptionJson, _key + "_num", dhtEnterCounter);
jsonWriteStr(configOptionJson, _key + "_map", _map);
jsonWriteStr(configOptionJson, _key + "_с", _c);
}
void SensorDhtRead(String key) {
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);
//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));
}
}
}
};
extern SensorDhtClass mySensorDht;

View File

@@ -20,7 +20,7 @@ void bmp280T_reading();
void sensorsInit() {
ts.add(
SENSORS, 15000, [&](void *) {
SENSORS, 10000, [&](void *) {
String buf = sensorReadingMap;
while (buf.length()) {
String tmp = selectToMarker(buf, ",");

View File

@@ -0,0 +1,20 @@
#include "items/ItemsGlobal.h"
#include "items/SensorDhtClass.h"
//#ifdef SensorDhtEnabled
//=========================================Модуль ультрозвукового дальномера==================================================================
//dht-temp;id;anydata;Сенсоры;Температура;order;pin;c[1]
//=========================================================================================================================================
SensorDhtClass mySensorDht;
void DhtTemp() {
mySensorDht.update();
String key = mySensorDht.gkey();
sCmd.addCommand(key.c_str(), dhtReading);
mySensorDht.SensorDhtInit();
mySensorDht.clear();
}
void dhtReading() {
String key = sCmd.order();
mySensorDht.SensorDhtRead(key);
}
//#endif