mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-31 20:39:14 +03:00
getData
This commit is contained in:
@@ -8,6 +8,12 @@ String jsonReadStr(String& json, String name) {
|
||||
return root[name].as<String>();
|
||||
}
|
||||
|
||||
boolean jsonReadBool(String& json, String name) {
|
||||
DynamicJsonBuffer jsonBuffer;
|
||||
JsonObject& root = jsonBuffer.parseObject(json);
|
||||
return root[name].as<boolean>();
|
||||
}
|
||||
|
||||
int jsonReadInt(String& json, String name) {
|
||||
DynamicJsonBuffer jsonBuffer;
|
||||
JsonObject& root = jsonBuffer.parseObject(json);
|
||||
|
||||
@@ -23,25 +23,24 @@ static uint32_t total_memory = 52864;
|
||||
static uint32_t total_memory = 362868;
|
||||
#endif
|
||||
|
||||
void printMemoryStatus(String text) {
|
||||
const String printMemoryStatus() {
|
||||
uint32_t free = ESP.getFreeHeap();
|
||||
uint32_t used = total_memory - free;
|
||||
uint32_t memory_load = (used * 100) / total_memory;
|
||||
if (text) {
|
||||
Serial.print(text);
|
||||
}
|
||||
Serial.printf(" used: %d%% free: %s\n", memory_load, prettyBytes(free).c_str());
|
||||
char buf[64];
|
||||
sprintf(buf, "used: %d%% free: %s", memory_load, getHeapStats().c_str());
|
||||
return String(buf);
|
||||
}
|
||||
|
||||
#ifdef ESP8266
|
||||
String getHeapStats() {
|
||||
const String getHeapStats() {
|
||||
uint32_t free;
|
||||
uint16_t max;
|
||||
uint8_t frag;
|
||||
ESP.getHeapStats(&free, &max, &frag);
|
||||
String buf;
|
||||
buf += prettyBytes(free);
|
||||
buf += " ";
|
||||
buf += " frag: ";
|
||||
buf += frag;
|
||||
buf += '%';
|
||||
return buf;
|
||||
|
||||
@@ -6,33 +6,17 @@
|
||||
#define ONE_MINUTE_s 60
|
||||
#define ONE_HOUR_s 60 * ONE_MINUTE_s
|
||||
|
||||
int getBiasInSeconds() {
|
||||
return 3600 * jsonReadStr(configSetupJson, "timezone").toInt();
|
||||
}
|
||||
|
||||
int getBiasInMinutes() {
|
||||
return getBiasInSeconds() / 60;
|
||||
}
|
||||
|
||||
const timezone getTimeZone() {
|
||||
return timezone{getBiasInMinutes(), 0};
|
||||
}
|
||||
|
||||
time_t getSystemTime() {
|
||||
timeval tv{0, 0};
|
||||
timezone tz = getTimeZone();
|
||||
time_t epoch = 0;
|
||||
if (gettimeofday(&tv, &tz) != -1)
|
||||
epoch = tv.tv_sec;
|
||||
return epoch;
|
||||
}
|
||||
|
||||
bool hasTimeSynced() {
|
||||
unsigned long now = time(nullptr);
|
||||
return now > millis();
|
||||
}
|
||||
|
||||
time_t t;
|
||||
struct tm* tm;
|
||||
static const char* wd[7] = {"Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat"};
|
||||
String getTimeUnix() {
|
||||
t = time(NULL);
|
||||
tm = localtime(&t);
|
||||
Serial.printf("%04d/%02d/%02d(%s) %02d:%02d:%02d\n",
|
||||
tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
|
||||
wd[tm->tm_wday],
|
||||
tm->tm_hour, tm->tm_min, tm->tm_sec);
|
||||
delay(1000);
|
||||
time_t now = time(nullptr);
|
||||
if (now < 30000) {
|
||||
return "failed";
|
||||
@@ -149,127 +133,6 @@ const String prettyMillis(unsigned long time_ms) {
|
||||
return String(buf);
|
||||
}
|
||||
|
||||
int timeZoneInSeconds(const byte timeZone) {
|
||||
int res = 0;
|
||||
switch (constrain(timeZone, 1, 38)) {
|
||||
case 1:
|
||||
res = -12 * ONE_HOUR_s;
|
||||
break;
|
||||
case 2:
|
||||
res = -11 * ONE_HOUR_s;
|
||||
break;
|
||||
case 3:
|
||||
res = -10 * ONE_HOUR_s;
|
||||
break;
|
||||
case 4:
|
||||
res = -9 * ONE_HOUR_s - 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 5:
|
||||
res = -9 * ONE_HOUR_s;
|
||||
break;
|
||||
case 6:
|
||||
res = -8 * ONE_HOUR_s;
|
||||
break;
|
||||
case 7:
|
||||
res = -7 * ONE_HOUR_s;
|
||||
break;
|
||||
case 8:
|
||||
res = -6 * ONE_HOUR_s;
|
||||
break;
|
||||
case 9:
|
||||
res = -5 * ONE_HOUR_s;
|
||||
break;
|
||||
case 10:
|
||||
res = -4 * ONE_HOUR_s;
|
||||
break;
|
||||
case 11:
|
||||
res = -3 * ONE_HOUR_s - 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 12:
|
||||
res = -3 * ONE_HOUR_s;
|
||||
break;
|
||||
case 13:
|
||||
res = -2 * ONE_HOUR_s;
|
||||
break;
|
||||
case 14:
|
||||
res = -1 * ONE_HOUR_s;
|
||||
break;
|
||||
case 15:
|
||||
res = 0;
|
||||
break;
|
||||
case 16:
|
||||
res = 1 * ONE_HOUR_s;
|
||||
break;
|
||||
case 17:
|
||||
res = 2 * ONE_HOUR_s;
|
||||
break;
|
||||
case 18:
|
||||
res = 3 * ONE_HOUR_s;
|
||||
break;
|
||||
case 19:
|
||||
res = 3 * ONE_HOUR_s + 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 20:
|
||||
res = 4 * ONE_HOUR_s;
|
||||
break;
|
||||
case 21:
|
||||
res = 4 * ONE_HOUR_s + 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 22:
|
||||
res = 5 * ONE_HOUR_s;
|
||||
break;
|
||||
case 23:
|
||||
res = 5 * ONE_HOUR_s + 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 24:
|
||||
res = 5 * ONE_HOUR_s + 45 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 25:
|
||||
res = 6 * ONE_HOUR_s;
|
||||
break;
|
||||
case 26:
|
||||
res = 6 * ONE_HOUR_s + 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 27:
|
||||
res = 7 * ONE_HOUR_s;
|
||||
break;
|
||||
case 28:
|
||||
res = 8 * ONE_HOUR_s;
|
||||
break;
|
||||
case 29:
|
||||
res = 8 * ONE_HOUR_s + 45 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 30:
|
||||
res = 9 * ONE_HOUR_s;
|
||||
break;
|
||||
case 31:
|
||||
res = 9 * ONE_HOUR_s + 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 32:
|
||||
res = 10 * ONE_HOUR_s;
|
||||
break;
|
||||
case 33:
|
||||
res = 10 * ONE_HOUR_s + 30 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 34:
|
||||
res = 11 * ONE_HOUR_s;
|
||||
break;
|
||||
case 35:
|
||||
res = 12 * ONE_HOUR_s;
|
||||
break;
|
||||
case 36:
|
||||
res = 12 * ONE_HOUR_s + 45 * ONE_MINUTE_s;
|
||||
break;
|
||||
case 37:
|
||||
res = 13 * ONE_HOUR_s;
|
||||
break;
|
||||
case 38:
|
||||
res = 14 * ONE_HOUR_s;
|
||||
break;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
unsigned long millis_since(unsigned long sinse) {
|
||||
return millis_passed(sinse, millis());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user