Добавляем работу сенсоров с несколькими измерениями. Добавляем первую версию класса Variable.

This commit is contained in:
2021-12-27 21:24:55 +03:00
parent c8df0de972
commit 41f4be6139
16 changed files with 230 additions and 199 deletions

View File

@@ -4,10 +4,10 @@
struct ModuleInfo
{
String name;
String key;
String parameters;
String type;
String name; //имя модуля
String title; //заголовок для описания модуля
String parameters; //параметры, которые может принять модуль и сущность
String type; //тип для определения сущности, которую генерирует модуль Sensor или Variable
};
class IoTModule {
@@ -17,4 +17,5 @@ class IoTModule {
virtual void* initInstance(String parameters);
virtual ModuleInfo getInfo();
virtual void clear();
};

View File

@@ -3,18 +3,24 @@
#include <WString.h>
class IoTSensor {
public:
IoTSensor();
~IoTSensor();
public:
IoTSensor();
virtual ~IoTSensor();
void loop();
virtual void doByInterval();
void init(unsigned long interval, String key);
void regEvent(String value, String consoleInfo);
void loop();
virtual void doByInterval();
void init(String key, String id, unsigned long interval);
void regEvent(String value, String consoleInfo);
unsigned long currentMillis;
unsigned long prevMillis;
unsigned long difference;
unsigned long _interval;
String _key;
String getKey();
String getID();
unsigned long currentMillis;
unsigned long prevMillis;
unsigned long difference;
protected:
String _key;
String _id;
unsigned long _interval;
};

View File

@@ -0,0 +1,24 @@
#pragma once
#include <WString.h>
class IoTVariable {
public:
IoTVariable();
~IoTVariable();
virtual String execute(String command);
virtual void loop();
void init(String key, String value);
void setValue(String value);
void getValue(String value);
void regEvent(String value, String consoleInfo);
String _widgetName; //название виджета на фронтэнде для правильного отображения информации из меременной
String _key; //код переменной для идентификации событий, команд в сценариях
String _title;
private:
String _value; //значение переменной
};

View File

@@ -1,40 +0,0 @@
#ifdef EnableSensorSht20
#pragma once
#include <Arduino.h>
#include "Wire.h"
#include "SHT2x.h"
#include "Global.h"
extern SHT2x* sht;
class SensorSht20;
typedef std::vector<SensorSht20> MySensorSht20Vector;
struct paramsSht {
String key;
unsigned long interval;
float c;
};
class SensorSht20 {
public:
SensorSht20(const paramsSht& paramsTmp, const paramsSht& paramsHum);
~SensorSht20();
void loop();
void read();
private:
paramsSht _paramsTmp;
paramsSht _paramsHum;
unsigned long prevMillis;
unsigned long difference;
};
extern MySensorSht20Vector* mySensorSht20;
extern void sht20Sensor();
#endif