mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
telemetry final version
This commit is contained in:
@@ -5,13 +5,12 @@
|
|||||||
extern void initSt();
|
extern void initSt();
|
||||||
extern String updateDevicePsn(String lat, String lon, String accur);
|
extern String updateDevicePsn(String lat, String lon, String accur);
|
||||||
extern String updateDeviceStatus();
|
extern String updateDeviceStatus();
|
||||||
extern String updateWorkTime();
|
|
||||||
extern String addNewDevice();
|
extern String addNewDevice();
|
||||||
|
|
||||||
extern void decide();
|
extern void decide();
|
||||||
extern void getPsn();
|
extern void getPsn();
|
||||||
|
|
||||||
extern int getWorkTime();
|
extern String getUptimeTotal();
|
||||||
extern int plusOneHour();
|
extern int plusOneHour();
|
||||||
extern void eeWriteInt(int pos, int val);
|
extern void eeWriteInt(int pos, int val);
|
||||||
extern int eeGetInt(int pos);
|
extern int eeGetInt(int pos);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "Utils\TimeUtils.h"
|
#include "Utils\TimeUtils.h"
|
||||||
|
|
||||||
#include "Utils\StringUtils.h"
|
#include "Utils\StringUtils.h"
|
||||||
|
|
||||||
static const uint8_t days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
|
static const uint8_t days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
|
||||||
|
|||||||
@@ -7,30 +7,27 @@
|
|||||||
#include "ItemsList.h"
|
#include "ItemsList.h"
|
||||||
|
|
||||||
void initSt() {
|
void initSt() {
|
||||||
Serial.print("New device registation: ");
|
Serial.print("[I] [Stat] New device registation: ");
|
||||||
Serial.println(addNewDevice());
|
Serial.println(addNewDevice());
|
||||||
decide();
|
decide();
|
||||||
if (TELEMETRY_UPDATE_INTERVAL_MIN) {
|
if (TELEMETRY_UPDATE_INTERVAL_MIN) {
|
||||||
ts.add(
|
ts.add(
|
||||||
STATISTICS, TELEMETRY_UPDATE_INTERVAL_MIN * 60000, [&](void*) {
|
STATISTICS, TELEMETRY_UPDATE_INTERVAL_MIN * 60000, [&](void*) {
|
||||||
Serial.print("Device status: ");
|
static bool secondTime = false;
|
||||||
|
if (secondTime) plusOneHour();
|
||||||
|
secondTime = true;
|
||||||
|
|
||||||
|
Serial.print("[I] [Stat] Update device status: ");
|
||||||
Serial.println(updateDeviceStatus());
|
Serial.println(updateDeviceStatus());
|
||||||
},
|
},
|
||||||
nullptr, true);
|
nullptr, true);
|
||||||
|
|
||||||
ts.add(
|
|
||||||
STATISTICS_WORK, TELEMETRY_UPDATE_INTERVAL_MIN * 60000, [&](void*) {
|
|
||||||
Serial.print("Work time: ");
|
|
||||||
Serial.println(updateWorkTime());
|
|
||||||
},
|
|
||||||
nullptr, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void decide() {
|
void decide() {
|
||||||
if ((WiFi.status() == WL_CONNECTED)) {
|
if ((WiFi.status() == WL_CONNECTED)) {
|
||||||
uint8_t cnt = getNewElementNumber("stat.txt");
|
uint8_t cnt = getNewElementNumber("stat.txt");
|
||||||
Serial.print("System reset count = ");
|
Serial.print("[I] [Stat] Total reset number: ");
|
||||||
Serial.print(cnt);
|
Serial.print(cnt);
|
||||||
Serial.print(" ");
|
Serial.print(" ");
|
||||||
if (cnt <= 3) {
|
if (cnt <= 3) {
|
||||||
@@ -56,6 +53,7 @@ void getPsn() {
|
|||||||
//String city = jsonReadStr(res, "city");
|
//String city = jsonReadStr(res, "city");
|
||||||
//String country = jsonReadStr(res, "country");
|
//String country = jsonReadStr(res, "country");
|
||||||
//String region = jsonReadStr(res, "region");
|
//String region = jsonReadStr(res, "region");
|
||||||
|
Serial.print("[I] [Stat] Update device psn: ");
|
||||||
Serial.println(updateDevicePsn(lat, lon, "1000"));
|
Serial.println(updateDevicePsn(lat, lon, "1000"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -100,7 +98,11 @@ String updateDevicePsn(String lat, String lon, String accur) {
|
|||||||
http.setAuthorization("admin", "admin");
|
http.setAuthorization("admin", "admin");
|
||||||
http.addHeader("Content-Type", "application/json");
|
http.addHeader("Content-Type", "application/json");
|
||||||
String mac = WiFi.macAddress().c_str();
|
String mac = WiFi.macAddress().c_str();
|
||||||
int httpCode = http.POST("?id=" + mac + "&resetReason=" + ESP.getResetReason() + "&lat=" + lat + "&lon=" + lon + "&accuracy=" + accur + "");
|
int httpCode = http.POST("?id=" + mac +
|
||||||
|
"&resetReason=" + ESP.getResetReason() +
|
||||||
|
"&lat=" + lat +
|
||||||
|
"&lon=" + lon +
|
||||||
|
"&accuracy=" + accur + "");
|
||||||
if (httpCode > 0) {
|
if (httpCode > 0) {
|
||||||
ret = httpCode;
|
ret = httpCode;
|
||||||
if (httpCode == HTTP_CODE_OK) {
|
if (httpCode == HTTP_CODE_OK) {
|
||||||
@@ -124,7 +126,11 @@ String updateDeviceStatus() {
|
|||||||
http.setAuthorization("admin", "admin");
|
http.setAuthorization("admin", "admin");
|
||||||
http.addHeader("Content-Type", "application/json");
|
http.addHeader("Content-Type", "application/json");
|
||||||
String mac = WiFi.macAddress().c_str();
|
String mac = WiFi.macAddress().c_str();
|
||||||
int httpCode = http.POST("?id=" + mac + "&resetReason=" + ESP.getResetReason() + "&uptime=" + timeNow->getUptime() + "&worktime=" + String(getWorkTime()) + "&version=" + FIRMWARE_VERSION + "");
|
int httpCode = http.POST("?id=" + mac +
|
||||||
|
"&resetReason=" + ESP.getResetReason() +
|
||||||
|
"&uptime=" + timeNow->getUptime() +
|
||||||
|
"&uptimeTotal=" + getUptimeTotal() +
|
||||||
|
"&version=" + FIRMWARE_VERSION + "");
|
||||||
if (httpCode > 0) {
|
if (httpCode > 0) {
|
||||||
ret = httpCode;
|
ret = httpCode;
|
||||||
if (httpCode == HTTP_CODE_OK) {
|
if (httpCode == HTTP_CODE_OK) {
|
||||||
@@ -139,35 +145,13 @@ String updateDeviceStatus() {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
String updateWorkTime() {
|
String getUptimeTotal() {
|
||||||
String ret;
|
|
||||||
if ((WiFi.status() == WL_CONNECTED)) {
|
|
||||||
WiFiClient client;
|
|
||||||
HTTPClient http;
|
|
||||||
http.begin(client, F("http://95.128.182.133:5055/"));
|
|
||||||
http.setAuthorization("admin", "admin");
|
|
||||||
http.addHeader("Content-Type", "application/json");
|
|
||||||
String mac = WiFi.macAddress().c_str();
|
|
||||||
int httpCode = http.POST("?id=" + mac + "&worktime=" + String(plusOneHour()) + "");
|
|
||||||
if (httpCode > 0) {
|
|
||||||
ret = httpCode;
|
|
||||||
if (httpCode == HTTP_CODE_OK) {
|
|
||||||
String payload = http.getString();
|
|
||||||
ret += " " + payload;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ret = http.errorToString(httpCode).c_str();
|
|
||||||
}
|
|
||||||
http.end();
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
int getWorkTime() {
|
|
||||||
static int hrs;
|
static int hrs;
|
||||||
EEPROM.begin(512);
|
EEPROM.begin(512);
|
||||||
hrs = eeGetInt(0);
|
hrs = eeGetInt(0);
|
||||||
return hrs;
|
String hrsStr = prettySeconds(hrs * 60);
|
||||||
|
//Serial.println(hrsStr);
|
||||||
|
return hrsStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
int plusOneHour() {
|
int plusOneHour() {
|
||||||
@@ -195,8 +179,12 @@ int eeGetInt(int pos) {
|
|||||||
*(p + 1) = EEPROM.read(pos + 1);
|
*(p + 1) = EEPROM.read(pos + 1);
|
||||||
*(p + 2) = EEPROM.read(pos + 2);
|
*(p + 2) = EEPROM.read(pos + 2);
|
||||||
*(p + 3) = EEPROM.read(pos + 3);
|
*(p + 3) = EEPROM.read(pos + 3);
|
||||||
|
if (val < 0) {
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//========for updating list of device=================
|
//========for updating list of device=================
|
||||||
/*
|
/*
|
||||||
void updateDeviceList() {
|
void updateDeviceList() {
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ void setup() {
|
|||||||
ts.add(
|
ts.add(
|
||||||
TEST, 1000 * 60, [&](void*) {
|
TEST, 1000 * 60, [&](void*) {
|
||||||
pm.info(printMemoryStatus());
|
pm.info(printMemoryStatus());
|
||||||
|
|
||||||
},
|
},
|
||||||
nullptr, true);
|
nullptr, true);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user