From b68fa1b0f64f9de7673c8fdf6f58b7458272195d Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 14 Dec 2021 23:55:17 +0100 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D1=81=20?= =?UTF-8?q?=D1=81=D0=B5=D0=BD=D1=81=D0=BE=D1=80=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 5 +++++ data_esp/set.device.json.gz | Bin 3020 -> 3020 bytes platformio.ini | 2 +- src/YourSensor.cpp | 18 ++++++++++++++---- src/items/vSensorAny.cpp | 3 ++- src/main.cpp | 23 +++++++++++++++-------- 6 files changed, 37 insertions(+), 14 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..889b02bd --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "array": "cpp" + } +} \ No newline at end of file diff --git a/data_esp/set.device.json.gz b/data_esp/set.device.json.gz index 07a380155340e3ed34c49d9b8e67d920ebd5bbf5..fb8dfba7385b09db72bd3e39f28ad22470227792 100644 GIT binary patch delta 2905 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 D&gO~U delta 2947 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 diff --git a/platformio.ini b/platformio.ini index 57768031..01c01df3 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -default_envs = esp32_4mb +default_envs = esp8266_4mb data_dir = data_esp [common_env_data] diff --git a/src/YourSensor.cpp b/src/YourSensor.cpp index e88da3c1..5f70e308 100644 --- a/src/YourSensor.cpp +++ b/src/YourSensor.cpp @@ -2,12 +2,22 @@ float yourSensorReading(String type) { float value; - if (type == "type1") { - value++; + if (type == "type1") { // type1 - замените на название вашего датчика, потом это же название указывайте в type[] в вебе + //сюда вставляем процедуру чтения одного датчика + static int a; + a++; + value = a; } else if (type == "type2") { - value--; + //сюда вставляем процедуру чтения другого датчика + static int b; + b--; + value = b; } else if (type == "type3") { - value = value + 10; + //сюда третьего и так далее, создавайте сколько угодно else if.... + //если у одного датчика несколько параметров то под каждый из них делайте свой else if и свое имя type + static int c; + c++; + value = c * 10; } return value; } diff --git a/src/items/vSensorAny.cpp b/src/items/vSensorAny.cpp index 280a3382..12917194 100644 --- a/src/items/vSensorAny.cpp +++ b/src/items/vSensorAny.cpp @@ -22,7 +22,7 @@ SensorAny::~SensorAny() {} void SensorAny::loop() { difference = millis() - prevMillis; - if (difference >= _interval) { + if (difference >= _interval * 1000) { prevMillis = millis(); read(); } @@ -54,6 +54,7 @@ void AnySensor() { jsonWriteStr(params, "addr", myLineParsing.gaddr()); jsonWriteStr(params, "int", myLineParsing.gint()); jsonWriteStr(params, "c", myLineParsing.gc()); + jsonWriteStr(params, "type", myLineParsing.gtype()); myLineParsing.clear(); static bool firstTime = true; diff --git a/src/main.cpp b/src/main.cpp index 8f54d67c..8cf99b10 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -24,6 +24,7 @@ #include "items/vImpulsOut.h" #include "items/vLogging.h" #include "items/vSensorAnalog.h" +#include "items/vSensorAny.h" #include "items/vSensorBme280.h" #include "items/vSensorBmp280.h" #include "items/vSensorCcs811.h" @@ -34,13 +35,12 @@ #include "items/vSensorSht20.h" #include "items/vSensorUltrasonic.h" #include "items/vSensorUptime.h" - //#include "WebServer.h" void not_async_actions(); Timings metric; boolean initialized = false; -extern int flagq ; +extern int flagq; void setup() { Serial.begin(115200); Serial.flush(); @@ -97,12 +97,12 @@ void loop() { #endif #ifdef WEBSOCKET_ENABLED - ws.cleanupClients(); - if ( flagq == 1){ - SerialPrint("I", "WS ", "choose_log_date_and_send()"); - choose_log_date_and_sendWS(); - flagq = 0; -} + ws.cleanupClients(); + if (flagq == 1) { + SerialPrint("I", "WS ", "choose_log_date_and_send()"); + choose_log_date_and_sendWS(); + flagq = 0; + } #endif timeNow->loop(); mqttLoop(); @@ -188,6 +188,13 @@ void loop() { } } #endif +#ifdef EnableSensorAny + if (mySensorAny != nullptr) { + for (unsigned int i = 0; i < mySensorAny->size(); i++) { + mySensorAny->at(i).loop(); + } + } +#endif #ifdef EnableSensorBmp280 if (mySensorBmp280 != nullptr) { for (unsigned int i = 0; i < mySensorBmp280->size(); i++) {