From bac9396e9a0d5fc2747d5c92a75651935949487f Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Mon, 7 Sep 2020 02:22:13 +0300 Subject: [PATCH] last working version --- include/Utils/statUtils.h | 1 + src/Utils/statUtils.cpp | 37 +++++++++++++++++++++++++++---------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/include/Utils/statUtils.h b/include/Utils/statUtils.h index f1f79fed..197e82a0 100644 --- a/include/Utils/statUtils.h +++ b/include/Utils/statUtils.h @@ -6,6 +6,7 @@ extern void initSt(); extern void updateDevicePsn(String lat, String lon, String accur, String uptime, String firm); extern void updateDeviceStatus(String uptime, String firm); +extern void decide(); extern void getPsn(); extern void addNewDevice(String model); extern void updateDeviceList(String model, String firmVer); diff --git a/src/Utils/statUtils.cpp b/src/Utils/statUtils.cpp index cefb5249..449d3f52 100644 --- a/src/Utils/statUtils.cpp +++ b/src/Utils/statUtils.cpp @@ -3,10 +3,11 @@ #include #include "Global.h" +#include "ItemsList.h" void initSt() { addNewDevice(FIRMWARE_NAME); - getPsn(); + decide(); if (TELEMETRY_UPDATE_INTERVAL_MIN) { ts.add( STATISTICS, TELEMETRY_UPDATE_INTERVAL_MIN * 60000, [&](void*) { @@ -16,18 +17,34 @@ void initSt() { } } -void getPsn() { +void decide() { if ((WiFi.status() == WL_CONNECTED)) { - String res = getURL("http://ipinfo.io/?token=c60f88583ad1a4"); - String line = jsonReadStr(res, "loc"); - String lat = selectToMarker(line, ","); - String lon = deleteBeforeDelimiter(line, ","); - String city = jsonReadStr(res, "city"); - String country = jsonReadStr(res, "country"); - String region = jsonReadStr(res, "region"); - updateDevicePsn(lat, lon, "1000", timeNow->getUptime(), FIRMWARE_VERSION); + uint8_t cnt = getNewElementNumber("stat.txt"); + Serial.print(cnt); + Serial.print(" "); + if (cnt <= 2) { + getPsn(); + } else { + if (cnt % 5) { + Serial.println("skip"); + } else { + getPsn(); + } + } } } + +void getPsn() { + String res = getURL("http://ipinfo.io/?token=c60f88583ad1a4"); + String line = jsonReadStr(res, "loc"); + String lat = selectToMarker(line, ","); + String lon = deleteBeforeDelimiter(line, ","); + //String city = jsonReadStr(res, "city"); + //String country = jsonReadStr(res, "country"); + //String region = jsonReadStr(res, "region"); + updateDevicePsn(lat, lon, "1000", timeNow->getUptime(), FIRMWARE_VERSION); +} + void addNewDevice(String model) { if ((WiFi.status() == WL_CONNECTED)) { WiFiClient client;