From a8534c4a73b47451b5434157e4e421962d6c0b47 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Sun, 3 Jan 2021 00:33:04 +0100 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B0=D1=80=D1=82=D0=B8=D0=B8=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D0=B2=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/config.json | 9 ++--- data/index.json.gz | Bin 516 -> 543 bytes data/set.dev.json.gz | Bin 545 -> 618 bytes data_ungzip/index.json | 6 ++++ data_ungzip/set.dev.json | 19 ++++++++++ include/Class/ScenarioClass3.h | 2 +- src/Tests.cpp | 2 +- src/Web.cpp | 15 +++++--- src/items/vLogging.cpp | 63 +++++++++------------------------ 9 files changed, 60 insertions(+), 56 deletions(-) diff --git a/data/config.json b/data/config.json index 5e722090..1e32fc2a 100644 --- a/data/config.json +++ b/data/config.json @@ -3,8 +3,8 @@ "chipID": "", "apssid": "IoTmanager", "appass": "", - "routerssid": "WLAN1-Y1GYEF", - "routerpass": "2egY69YTA8DDR7En", + "routerssid": "rise", + "routerpass": "hostel3333", "timezone": 1, "ntp": "pool.ntp.org", "mqttServer": "91.204.228.124", @@ -25,11 +25,12 @@ "webpass": "admin", "MqttIn": "0", "MqttOut": "0", - "blink": "1", + "blink": "0", "oneWirePin": "2", "serverip": "http://206.189.49.244", "uart": "0", "uartS": "9600", "uartTX": "12", - "uartRX": "13" + "uartRX": "13", + "grafmax": "0" } \ No newline at end of file diff --git a/data/index.json.gz b/data/index.json.gz index 8c2326efca8f7ad1eb4bb8cddeaaec018becdeb2..1ba12d451d095c2c4e43857ba75eee08cf85003a 100644 GIT binary patch literal 543 zcmV+)0^t20iwFol{_tM}0BLSyWq2-Xb8l_{&6Uq<+b|Tz?}h#k!spsv+9k~jqqjj0 zJq!Xnj2%>4akR>kXDJ;e1hOA&hYfnzZLq`GKj8i7=C!2z7oPv4J=rlSCG()rv1*^p--l$6*VhPf0wo7L(#{TfY;#=kt0hnHL*_lzN;(^t6wS;ixg-fHqjK=lQ6*XB zNvS)A8^N%I10UcFGWZ5F$ckg9QUgIX0$3K|>ey9-0akEZWS+O~lu;bk%4VH+%Rof6 zuvOEIq71p- z6Zlh1ZC8=~C!D|x;}gU-jaW+H2b|$?pfXGq50^R^8k6W9-%kWR@*<@o!Ms4l zzBVdlK1~wshs;ne^ezwY;|H1Pq`TSacwCvdDs!v7^JJ(bYqDON^l+FvPe*peM}O|z hpwGirtKGi0b+@~{eI>W$4{Uu6=f5j5AK)to0050r3Q7O~ literal 516 zcmV+f0{i_RiwFn-?9*Qa0BLSyWq2-Xb8l_{&6PoG)Ib!+?}dJcA?GG>TX(w_q&Hy? zJqQaP#KSb1WXDcsV& z^M3!wBpGjRFy;hCM>4j~9(!8mwBy%Xo|4DHdv1+(wyr5wK%QQc6xVSzd0AddrSh!O z9gv^|m2mJQUf>MB;sR&InNzEQ;+6nP7UkN+HBm$r+zwmjoqJW3gpIP@x&xtMZ2j$gCH2v| z3it^xaZ$X%Iesf%7gK7;TbvhXjFMNyX)z`FXBknqW>*g20Z60E6a0Ph?1kc324WrO zA!tU!Jya$*Dx?3${ABQG(8BmqM)H;k4;~MPEriJnfLkU6p+ubVq=mA1#ym{ypV_yf;zLGd{om?1mhn#Uqz_#H2( zzg&lzk>Oe&BY@QI`F^VSi5D9aE8ztu@hzB4_&iOm9}3`7*?k#4q%WMXX@9%d^Q3{K zE_0{7%XDP4XtQ3K^k`Z-&+>A|Cx7nJpfAHtr`vt7bHBg4`%iAGKf>k)t$zSd<=(-3 G1^@uZ@+N#@OTBXMJdoTXJ z_r7PR|L}naKfj%@h{VFLc@1N+w(Y`L5m;tv<*i7VzxCfq5sU4k!n49z_?l&mFNvfW zHuTkZHB(pmgPN){JDCRNqDlL}%x*}l!#54wTh3m6Q@=pm zu|Dzi2@J<-WS>J11wY7T-2(GN%t;y` z9xnt4iDX%B7nA23(rIN)(w~h<57cipgor=z`q)zw@R>k0*^tleg^xLk)`@QXUDUfn z%}Yd(+|2Hy+^%*U1K$GuTKSHOgwsS2lUgkzJsj3$lGgUCkLnah(oWu!P*86ZkxR%>IpmwA189XccoG21Ygbpoj$_6{1G1}yt>0?mA?zj%6J z`Wc)vb?!QQ)s<^hi@)!^ z&++8(BM*Q6AQdr7l;82fa>cIgSBou0A${ZKequ- z9B}03&v5gb%76-JR#q2XsXWW9$l?7uv~RrloUl*?01@YR#ly)ik0P{ jHY`hpvRq-!(@=^Q;L#?&(umu1BnokT7 diff --git a/data_ungzip/index.json b/data_ungzip/index.json index 6141ccdd..a520b982 100644 --- a/data_ungzip/index.json +++ b/data_ungzip/index.json @@ -42,6 +42,12 @@ "action": "/?set.utilities", "class": "btn btn-block btn-default" }, + { + "type": "link", + "title": "Настройки разработчика", + "action": "/?set.dev", + "class": "btn btn-block btn-default" + }, { "type": "link", "title": "Скачать приложение IoT Manager для android", diff --git a/data_ungzip/set.dev.json b/data_ungzip/set.dev.json index 4815eb95..6a96ef14 100644 --- a/data_ungzip/set.dev.json +++ b/data_ungzip/set.dev.json @@ -39,6 +39,25 @@ { "type": "hr" }, + { + "type": "h3", + "title": "Количество точек графика выгружаемое за раз" + }, + { + "type": "input", + "title": "ip address", + "name": "graf-arg", + "state": "{{grafmax}}" + }, + { + "type": "button", + "title": "{{ButSave}}", + "action": "set?grafmax=[[graf-arg]]", + "class": "btn btn-block btn-default" + }, + { + "type": "hr" + }, { "type": "h3", "name": "reset-block", diff --git a/include/Class/ScenarioClass3.h b/include/Class/ScenarioClass3.h index 13937370..9c72a0a8 100644 --- a/include/Class/ScenarioClass3.h +++ b/include/Class/ScenarioClass3.h @@ -29,7 +29,7 @@ class Scenario { String setEventSign = selectFromMarkerToMarker(condition, " ", 1); String setEventValue = selectFromMarkerToMarker(condition, " ", 2); - if (!isDigitStr(setEventValue)) { + if (!isDigitDotCommaStr(setEventValue)) { if (setEventValue.indexOf("+-") != -1) { String setEventValueName = selectToMarker(setEventValue, "+-"); String gisteresisValue = selectToMarkerLast(setEventValue, "+-"); diff --git a/src/Tests.cpp b/src/Tests.cpp index b274c711..7ba1141c 100644 --- a/src/Tests.cpp +++ b/src/Tests.cpp @@ -11,7 +11,7 @@ void testsPerform() { //Serial.println(isDigitDotCommaStr("-12552.5555")); //String str = "Geeks for Geeks "; - // + //Serial.println(itemsCount2(str, " ")); Serial.println("==========end============"); diff --git a/src/Web.cpp b/src/Web.cpp index 0d531755..a1ed35ea 100644 --- a/src/Web.cpp +++ b/src/Web.cpp @@ -325,13 +325,20 @@ void web_init() { serverIP = jsonReadStr(configSetupJson, "serverip"); request->send(200); } - //set?order=button_1 + //set?order=button_1 if (request->hasArg("order")) { String order = request->getParam("order")->value(); - order.replace("_"," "); + order.replace("_", " "); orderBuf += order + ","; request->send(200); } + + if (request->hasArg("grafmax")) { + int value = request->getParam("grafmax")->value().toInt(); + jsonWriteInt(configSetupJson, "grafmax", value); + saveConfig(); + request->send(200); + } }); server.on("/order", HTTP_GET, [](AsyncWebServerRequest* request) { @@ -345,8 +352,6 @@ void web_init() { String msg = ""; if (USE_OTA) { - msg = F("Обновление невозможно, память устройства 1 мб"); - } else { if (lastVersion == FIRMWARE_VERSION) { msg = F("Актуальная версия прошивки уже установлена."); } else if (lastVersion > FIRMWARE_VERSION) { @@ -358,6 +363,8 @@ void web_init() { } else if (lastVersion < FIRMWARE_VERSION) { msg = F("Ошибка версии. Попробуйте повторить позже..."); } + } else { + msg = F("Обновление невозможно, память устройства 1 мб"); } String tmp = "{}"; diff --git a/src/items/vLogging.cpp b/src/items/vLogging.cpp index cff4371d..56f02735 100644 --- a/src/items/vLogging.cpp +++ b/src/items/vLogging.cpp @@ -36,8 +36,8 @@ void LoggingClass::execute(String keyOrValue) { } else { SerialPrint("E", "Logging", "This value not found on this device"); } - } else { //прилетело из события - if (isDigitStr(keyOrValue) || keyOrValue.indexOf(".") != -1) { //если это число или дробное число + } else { //прилетело из события + if (isDigitDotCommaStr(keyOrValue)) { //если это число или дробное число loggingValue = keyOrValue; } else { //если это ключ if (getValue(_loggingValueKey) != "no value") { @@ -49,21 +49,22 @@ void LoggingClass::execute(String keyOrValue) { } String filename = "logs/" + _key + ".txt"; - + size_t cnt = countLines(filename); size_t sz = getFileSize(filename); - SerialPrint("I", "Logging", "http://" + WiFi.localIP().toString() + "/" + filename + " lines " + String(cnt, DEC) + ", size " + String(sz) + ", heap " + ESP.getFreeHeap()); + SerialPrint("I", "Logging", "http://" + WiFi.localIP().toString() + "/" + filename + " lines " + String(cnt, DEC) + ", size " + String(sz)); if ((cnt > _maxPoints + 1) || cnt == -1) { - removeFile(filename); + removeFile(filename); SerialPrint("E", "Logging", "file been remooved: " + filename + " " + String(cnt) + ">" + String(_maxPoints)); cnt = 0; } if (loggingValue != "") { - if (cnt > _maxPoints) { //удаляем старую строку и добавляем новую - String logData = readFile(filename, 10240); + if (cnt > _maxPoints) { //удаляем старую строку и добавляем новую + String logData = readFile(filename, 20480); //10240 + SerialPrint("I", "Logging", "Free heap " + ESP.getFreeHeap()); if (logData == "large") { SerialPrint("E", "Logging", "File is very large"); } @@ -132,39 +133,6 @@ void choose_log_date_and_send() { } } -void sendLogData2(String file, String topic) { - String log_date = readFile(file, 5120); - if (log_date != "failed") { - log_date.replace("\r\n", "\n"); - log_date.replace("\r", "\n"); - String buf = "{}"; - String json_array; - String unix_time; - String value; - while (log_date.length()) { - String tmp = selectToMarker(log_date, "\n"); - log_date = deleteBeforeDelimiter(log_date, "\n"); - unix_time = selectToMarker(tmp, " "); - jsonWriteInt(buf, "x", unix_time.toInt()); - value = deleteBeforeDelimiter(tmp, " "); - jsonWriteFloat(buf, "y1", value.toFloat()); - if (log_date.length() < 3) { - json_array += buf; - } else { - json_array += buf + ","; - } - buf = "{}"; - } - unix_time = ""; - value = ""; - log_date = ""; - json_array = "{\"status\":[" + json_array + "]}"; - //SerialPrint("I", "module", json_array); - - publishChart(topic, json_array); - } -} - void sendLogData(String file, String topic) { File configFile = FileFS.open(file, "r"); if (!configFile) { @@ -189,12 +157,15 @@ void sendLogData(String file, String topic) { if (unix_time != "" || value != "") { json_array += buf + ","; } - if (i >= 100) { - json_array = "{\"status\":[" + json_array + "]}"; - json_array.replace("},]}", "}]}"); - publishChart(topic, json_array); - json_array = ""; - i = 0; + int grafmax = jsonReadInt(configSetupJson, "grafmax"); + if (grafmax != 0) { + if (i >= grafmax) { + json_array = "{\"status\":[" + json_array + "]}"; + json_array.replace("},]}", "}]}"); + publishChart(topic, json_array); + json_array = ""; + i = 0; + } } } while (psn < sz);