From 5da6b61b36ece7b774174c86cf598f890a8cdd71 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Thu, 8 Sep 2022 18:48:27 +0200 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_svelte/items.json | 154 ++++++++++++---------- include/Const.h | 2 +- myProfile.json | 2 +- platformio.ini | 3 +- src/modules/API.cpp | 4 +- src/modules/virtual/Logging/Loging.cpp | 16 ++- src/modules/virtual/Logging/modinfo.json | 8 +- src/modules/virtual/Timer/modinfo.json | 12 +- src/modules/virtual/Variable/modinfo.json | 12 ++ 9 files changed, 127 insertions(+), 86 deletions(-) diff --git a/data_svelte/items.json b/data_svelte/items.json index e244ac84..df62b09e 100644 --- a/data_svelte/items.json +++ b/data_svelte/items.json @@ -14,8 +14,8 @@ "widget": "chart1", "page": "Графики", "descr": "График", - "int": 60, - "logid": "tmp", + "int": 1, + "logid": "t", "num": 1, "points": 300, "keepdays": 2 @@ -30,8 +30,8 @@ "descr": "Таймер", "int": 1, "countDown": 15, - "ticker": 0, - "repeat": 0, + "ticker": 1, + "repeat": 1, "needSave": 0, "num": 2 }, @@ -72,7 +72,19 @@ "num": 5 }, { - "name": "6. Виртуальная кнопка", + "name": "6. Окно ввода текста", + "type": "Reading", + "subtype": "Variable", + "id": "txt", + "widget": "inputTxt", + "page": "Ввод", + "descr": "Введите текст", + "int": "0", + "val": "текст", + "num": 6 + }, + { + "name": "7. Виртуальная кнопка", "type": "Reading", "subtype": "VButton", "id": "vbtn", @@ -81,13 +93,13 @@ "descr": "Кнопка", "int": "0", "val": "0", - "num": 6 + "num": 7 }, { "header": "Сенсоры" }, { - "name": "7. Cенсор температуры AHT20", + "name": "8. Cенсор температуры AHT20", "type": "Reading", "subtype": "Aht20t", "id": "Temp20", @@ -97,10 +109,10 @@ "int": 15, "addr": "0x38", "round": 1, - "num": 7 + "num": 8 }, { - "name": "8. Cенсор влажности AHT20", + "name": "9. Cенсор влажности AHT20", "type": "Reading", "subtype": "Aht20h", "id": "Hum20", @@ -110,10 +122,10 @@ "int": 15, "addr": "0x38", "round": 1, - "num": 8 + "num": 9 }, { - "name": "9. Аналоговый сенсор", + "name": "10. Аналоговый сенсор", "type": "Reading", "subtype": "AnalogAdc", "id": "t", @@ -127,10 +139,10 @@ "pin": 0, "int": 15, "avgSteps": 1, - "num": 9 + "num": 10 }, { - "name": "10. Cенсор температуры Bme280", + "name": "11. Cенсор температуры Bme280", "type": "Reading", "subtype": "Bme280t", "id": "tmp3", @@ -140,10 +152,10 @@ "int": 15, "addr": "0x77", "round": 1, - "num": 10 + "num": 11 }, { - "name": "11. Cенсор давления Bme280", + "name": "12. Cенсор давления Bme280", "type": "Reading", "subtype": "Bme280p", "id": "Press3", @@ -153,10 +165,10 @@ "int": 15, "addr": "0x77", "round": 1, - "num": 11 + "num": 12 }, { - "name": "12. Cенсор влажности Bme280", + "name": "13. Cенсор влажности Bme280", "type": "Reading", "subtype": "Bme280h", "id": "Hum3", @@ -166,10 +178,10 @@ "int": 15, "addr": "0x77", "round": 1, - "num": 12 + "num": 13 }, { - "name": "13. Cенсор температуры Bmp280", + "name": "14. Cенсор температуры Bmp280", "type": "Reading", "subtype": "Bmp280t", "id": "tmp3", @@ -179,10 +191,10 @@ "int": 15, "addr": "0x77", "round": 1, - "num": 13 + "num": 14 }, { - "name": "14. Cенсор давления Bmp280", + "name": "15. Cенсор давления Bmp280", "type": "Reading", "subtype": "Bmp280p", "id": "Press3", @@ -192,10 +204,10 @@ "int": 15, "addr": "0x77", "round": 1, - "num": 14 + "num": 15 }, { - "name": "15. Cенсор температуры dht11", + "name": "16. Cенсор температуры dht11", "type": "Reading", "subtype": "Dht1122t", "id": "tmp3", @@ -205,10 +217,10 @@ "int": 15, "pin": 0, "senstype": "dht11", - "num": 15 + "num": 16 }, { - "name": "16. Cенсор влажности dht11", + "name": "17. Cенсор влажности dht11", "type": "Reading", "subtype": "Dht1122h", "id": "Hum3", @@ -218,10 +230,10 @@ "int": 15, "pin": 0, "senstype": "dht11", - "num": 16 + "num": 17 }, { - "name": "17. Cенсор температуры ds18b20", + "name": "18. Cенсор температуры ds18b20", "type": "Reading", "subtype": "Ds18b20", "id": "dstmp", @@ -233,10 +245,10 @@ "index": 0, "addr": "", "round": 1, - "num": 17 + "num": 18 }, { - "name": "18. Cенсор температуры GY21", + "name": "19. Cенсор температуры GY21", "type": "Reading", "subtype": "GY21t", "id": "tmp4", @@ -245,10 +257,10 @@ "descr": "Температура", "round": 1, "int": 15, - "num": 18 + "num": 19 }, { - "name": "19. Cенсор влажности GY21", + "name": "20. Cенсор влажности GY21", "type": "Reading", "subtype": "GY21h", "id": "Hum4", @@ -257,10 +269,10 @@ "descr": "Влажность", "round": 1, "int": 15, - "num": 19 + "num": 20 }, { - "name": "20. Cенсор температуры HDC1080", + "name": "21. Cенсор температуры HDC1080", "type": "Reading", "subtype": "Hdc1080t", "id": "Temp1080", @@ -270,10 +282,10 @@ "int": 15, "addr": "0x40", "round": 1, - "num": 20 + "num": 21 }, { - "name": "21. Cенсор влажности HDC1080", + "name": "22. Cенсор влажности HDC1080", "type": "Reading", "subtype": "Hdc1080h", "id": "Hum1080", @@ -283,10 +295,10 @@ "int": 15, "addr": "0x40", "round": 1, - "num": 21 + "num": 22 }, { - "name": "22. Cенсор температуры MAX6675", + "name": "23. Cенсор температуры MAX6675", "type": "Reading", "subtype": "Max6675t", "id": "maxtmp", @@ -297,11 +309,11 @@ "DO": 12, "CS": 13, "CLK": 14, - "num": 22 + "num": 23 }, { - "name": "23. Сканер кнопок 433 MHz", - "num": 23, + "name": "24. Сканер кнопок 433 MHz", + "num": 24, "type": "Reading", "subtype": "RCswitch", "id": "rsw", @@ -310,7 +322,7 @@ "pinTx": 12 }, { - "name": "24. Cенсор температуры Sht20", + "name": "25. Cенсор температуры Sht20", "type": "Reading", "subtype": "Sht20t", "id": "tmp2", @@ -319,10 +331,10 @@ "descr": "Температура", "int": 15, "round": 1, - "num": 24 + "num": 25 }, { - "name": "25. Cенсор влажности Sht20", + "name": "26. Cенсор влажности Sht20", "type": "Reading", "subtype": "Sht20h", "id": "Hum2", @@ -331,10 +343,10 @@ "descr": "Влажность", "int": 15, "round": 1, - "num": 25 + "num": 26 }, { - "name": "26. Cенсор температуры Sht30", + "name": "27. Cенсор температуры Sht30", "type": "Reading", "subtype": "Sht30t", "id": "tmp30", @@ -343,10 +355,10 @@ "descr": "SHT30 Температура", "int": 15, "round": 1, - "num": 26 + "num": 27 }, { - "name": "27. Cенсор влажности Sht30", + "name": "28. Cенсор влажности Sht30", "type": "Reading", "subtype": "Sht30h", "id": "Hum30", @@ -355,11 +367,11 @@ "descr": "SHT30 Влажность", "int": 15, "round": 1, - "num": 27 + "num": 28 }, { - "name": "28. Сонар HC-SR04", - "num": 28, + "name": "29. Сонар HC-SR04", + "num": 29, "type": "Reading", "subtype": "Sonar", "id": "sonar", @@ -374,7 +386,7 @@ "header": "Исполнительные устройства" }, { - "name": "29. Кнопка подключенная к пину", + "name": "30. Кнопка подключенная к пину", "type": "Writing", "subtype": "ButtonIn", "id": "btn", @@ -387,10 +399,10 @@ "pinMode": "INPUT", "debounceDelay": 50, "fixState": 1, - "num": 29 + "num": 30 }, { - "name": "30. Кнопка управляющая пином (Реле)", + "name": "31. Кнопка управляющая пином (Реле)", "type": "Writing", "subtype": "ButtonOut", "id": "btn", @@ -400,10 +412,10 @@ "int": 0, "inv": 0, "pin": 2, - "num": 30 + "num": 31 }, { - "name": "31. Сервопривод", + "name": "32. Сервопривод", "type": "Writing", "subtype": "IoTServo", "id": "servo", @@ -414,10 +426,10 @@ "pin": 12, "apin": -1, "amap": "0, 4096, 0, 180", - "num": 31 + "num": 32 }, { - "name": "32. Расширитель портов Mcp23017", + "name": "33. Расширитель портов Mcp23017", "type": "Reading", "subtype": "Mcp23017", "id": "Mcp", @@ -427,10 +439,10 @@ "int": "0", "addr": "0x20", "index": 1, - "num": 32 + "num": 33 }, { - "name": "33. MP3 плеер", + "name": "34. MP3 плеер", "type": "Reading", "subtype": "Mp3", "id": "mp3", @@ -440,25 +452,27 @@ "int": 1, "pins": "14,12", "volume": 20, - "num": 33 + "num": 34 }, { - "name": "34. PWM ESP8266", + "name": "35. PWM ESP32", "type": "Writing", - "subtype": "Pwm8266", + "subtype": "Pwm32", "id": "pwm", "widget": "range", "page": "Кнопки", "descr": "PWM", "int": 0, - "pin": 15, + "pin": 2, "freq": 5000, + "ledChannel": 2, + "PWM_resolution": 10, "val": 0, "apin": -1, - "num": 34 + "num": 35 }, { - "name": "35. Телеграм-Лайт", + "name": "36. Телеграм-Лайт", "type": "Writing", "subtype": "TelegramLT", "id": "tg", @@ -467,13 +481,13 @@ "descr": "", "token": "", "chatID": "", - "num": 35 + "num": 36 }, { "header": "Экраны" }, { - "name": "36. LCD экран 2004", + "name": "37. LCD экран 2004", "type": "Reading", "subtype": "Lcd2004", "id": "Lcd", @@ -485,10 +499,10 @@ "size": "20,4", "coord": "0,0", "id2show": "id датчика", - "num": 36 + "num": 37 }, { - "name": "37. LCD экран 1602", + "name": "38. LCD экран 1602", "type": "Reading", "subtype": "Lcd2004", "id": "Lcd", @@ -500,6 +514,6 @@ "size": "16,2", "coord": "0,0", "id2show": "id датчика", - "num": 37 + "num": 38 } ] \ No newline at end of file diff --git a/include/Const.h b/include/Const.h index 55d0b2e7..a9b229ec 100644 --- a/include/Const.h +++ b/include/Const.h @@ -35,7 +35,7 @@ #define USE_LITTLEFS false #endif -#define START_DATETIME 1640995200 // 01.01.2022 00:00:00 константа для сокращения unix time +#define START_DATETIME 1661990400 // 01.09.2022 00:00:00 константа для сокращения unix time #define MIN_DATETIME 1575158400 #define LEAP_YEAR(Y) (((1970 + Y) > 0) && !((1970 + Y) % 4) && (((1970 + Y) % 100) || !((1970 + Y) % 400))) diff --git a/myProfile.json b/myProfile.json index 255072e5..f80fde33 100644 --- a/myProfile.json +++ b/myProfile.json @@ -21,7 +21,7 @@ }, "projectProp": { "platformio": { - "default_envs": "esp8266_4mb", + "default_envs": "esp32_4mb", "data_dir": "data_svelte" } }, diff --git a/platformio.ini b/platformio.ini index 01416d14..0f24d297 100644 --- a/platformio.ini +++ b/platformio.ini @@ -40,7 +40,7 @@ build_src_filter = ${env:esp32_4mb_fromitems.build_src_filter} [platformio] -default_envs = esp8266_4mb +default_envs = esp32_4mb data_dir = data_svelte [common_env_data] @@ -135,5 +135,6 @@ build_src_filter = + + + + + + diff --git a/src/modules/API.cpp b/src/modules/API.cpp index 9ee02105..b2f9af1f 100644 --- a/src/modules/API.cpp +++ b/src/modules/API.cpp @@ -22,7 +22,7 @@ void* getAPI_ButtonOut(String subtype, String params); void* getAPI_IoTServo(String subtype, String params); void* getAPI_Mcp23017(String subtype, String params); void* getAPI_Mp3(String subtype, String params); -void* getAPI_Pwm8266(String subtype, String params); +void* getAPI_Pwm32(String subtype, String params); void* getAPI_TelegramLT(String subtype, String params); void* getAPI_Lcd2004(String subtype, String params); @@ -50,7 +50,7 @@ if ((tmpAPI = getAPI_ButtonOut(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_IoTServo(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Mcp23017(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Mp3(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Pwm8266(subtype, params)) != nullptr) return tmpAPI; +if ((tmpAPI = getAPI_Pwm32(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_TelegramLT(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Lcd2004(subtype, params)) != nullptr) return tmpAPI; return nullptr; diff --git a/src/modules/virtual/Logging/Loging.cpp b/src/modules/virtual/Logging/Loging.cpp index 727f1fe0..3093b4e8 100644 --- a/src/modules/virtual/Logging/Loging.cpp +++ b/src/modules/virtual/Logging/Loging.cpp @@ -11,7 +11,7 @@ class Loging : public IoTItem { int points; int keepdays; - int interval; + unsigned long interval; bool firstTime = true; public: @@ -24,6 +24,7 @@ class Loging : public IoTItem { SerialPrint("E", F("Loging"), "'" + id + "' user set more points than allowed, value reset to 300"); } jsonRead(parameters, F("int"), interval); + interval = interval * 1000 * 60; jsonRead(parameters, F("keepdays"), keepdays); } @@ -31,6 +32,17 @@ class Loging : public IoTItem { return ""; } + void loop() { + if (enableDoByInt) { + currentMillis = millis(); + difference = currentMillis - prevMillis; + if (difference >= interval) { + prevMillis = millis(); + this->doByInterval(); + } + } + } + void doByInterval() { //если объект логгирования не был создан if (!isItemExist(logid)) { @@ -267,6 +279,8 @@ class Loging : public IoTItem { int calculateMaxCount() { return 86400 / interval; } + + // new Variable(param); }; void *getAPI_Loging(String subtype, String param) { diff --git a/src/modules/virtual/Logging/modinfo.json b/src/modules/virtual/Logging/modinfo.json index 88708de3..fee5cdec 100644 --- a/src/modules/virtual/Logging/modinfo.json +++ b/src/modules/virtual/Logging/modinfo.json @@ -9,8 +9,8 @@ "widget": "chart1", "page": "Графики", "descr": "График", - "int": 60, - "logid": "tmp", + "int": 1, + "logid": "t", "num": 1, "points": 300, "keepdays": 2 @@ -22,10 +22,10 @@ "authorGit": "https://github.com/DmitryBorisenko33", "specialThanks": "", "moduleName": "Loging", - "moduleVersion": "1.0", + "moduleVersion": "2.0", "moduleDesc": "Расширение позволяющее логировать любую величину в график. Графики доступны в мобильном приложении и в веб интерфейсе", "propInfo": { - "int": "Интервал логирования", + "int": "Интервал логирования в мнутах, рекомендуется для esp8266 использоать интервал не менее 5ти минут.", "logid": "ID величины которую будем логировать", "points": "Максимальное количество точек в одном файле, может быть не более 300", "keepdays": "Количество дней за которое необходимо хранить историю. Данные старее будут удалены автоматически" diff --git a/src/modules/virtual/Timer/modinfo.json b/src/modules/virtual/Timer/modinfo.json index 6d4bb7b4..7c18f527 100644 --- a/src/modules/virtual/Timer/modinfo.json +++ b/src/modules/virtual/Timer/modinfo.json @@ -11,8 +11,8 @@ "descr": "Таймер", "int": 1, "countDown": 15, - "ticker": 0, - "repeat": 0, + "ticker": 1, + "repeat": 1, "needSave": 0, "num": 1 } @@ -33,22 +33,22 @@ "needSave": "Требуется сохранять(1) или нет(0) состояние в энерго независимую память. Функция находится в разработке." }, "funcInfo": [ - { + { "name": "stop", "descr": "Поставить процесс на паузу, при этом не будет событий и не будет уменьшаться счетчик.", "params": [] }, - { + { "name": "reset", "descr": "Вернуть таймер к началу, установленному в countDown.", "params": [] }, - { + { "name": "continue", "descr": "Продолжить выполнение с момента остановки.", "params": [] }, - { + { "name": "int", "descr": "Можно изменить шаг тиков.", "params": [] diff --git a/src/modules/virtual/Variable/modinfo.json b/src/modules/virtual/Variable/modinfo.json index 75d37667..a4c3bbea 100644 --- a/src/modules/virtual/Variable/modinfo.json +++ b/src/modules/virtual/Variable/modinfo.json @@ -36,6 +36,18 @@ "int": "0", "val": "24.05.2022", "num": 4 + }, + { + "name": "Окно ввода текста", + "type": "Reading", + "subtype": "Variable", + "id": "txt", + "widget": "inputTxt", + "page": "Ввод", + "descr": "Введите текст", + "int": "0", + "val": "текст", + "num": 5 } ], "about": {