mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
Удаляем русские символы из кода!!!!
This commit is contained in:
@@ -35,30 +35,30 @@ class Loging : public IoTItem {
|
|||||||
SerialPrint("E", F("Loging"), "'" + id + "' user set more points than allowed, value reset to 300");
|
SerialPrint("E", F("Loging"), "'" + id + "' user set more points than allowed, value reset to 300");
|
||||||
}
|
}
|
||||||
jsonRead(parameters, F("int"), interval);
|
jsonRead(parameters, F("int"), interval);
|
||||||
interval = interval * 1000 * 60; //приводим к милисекундам
|
interval = interval * 1000 * 60; // приводим к милисекундам
|
||||||
jsonRead(parameters, F("keepdays"), keepdays);
|
jsonRead(parameters, F("keepdays"), keepdays);
|
||||||
|
|
||||||
//создадим экземпляр класса даты
|
// создадим экземпляр класса даты
|
||||||
dateIoTItem = (IoTItem *)getAPI_Date("{\"id\": \"" + id + "-date\",\"int\":\"20\",\"subtype\":\"date\"}");
|
dateIoTItem = (IoTItem *)getAPI_Date("{\"id\": \"" + id + "-date\",\"int\":\"20\",\"subtype\":\"date\"}");
|
||||||
IoTItems.push_back(dateIoTItem);
|
IoTItems.push_back(dateIoTItem);
|
||||||
SerialPrint("E", F("Loging"), "created date instance " + id);
|
SerialPrint("E", F("Loging"), "created date instance " + id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void doByInterval() {
|
void doByInterval() {
|
||||||
//если объект логгирования не был создан
|
// если объект логгирования не был создан
|
||||||
if (!isItemExist(logid)) {
|
if (!isItemExist(logid)) {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' loging object not exist, return");
|
SerialPrint("E", F("Loging"), "'" + id + "' loging object not exist, return");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String value = getItemValue(logid);
|
String value = getItemValue(logid);
|
||||||
//если значение логгирования пустое
|
// если значение логгирования пустое
|
||||||
if (value == "") {
|
if (value == "") {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' loging value is empty, return");
|
SerialPrint("E", F("Loging"), "'" + id + "' loging value is empty, return");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//если время не было получено из интернета
|
// если время не было получено из интернета
|
||||||
if (!isTimeSynch) {
|
if (!isTimeSynch) {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' Сant loging - time not synchronized, return");
|
SerialPrint("E", F("Loging"), "'" + id + "' Сant loging - time not synchronized, return");
|
||||||
return;
|
return;
|
||||||
@@ -71,16 +71,16 @@ class Loging : public IoTItem {
|
|||||||
jsonWriteInt(logData, "x", unixTime);
|
jsonWriteInt(logData, "x", unixTime);
|
||||||
jsonWriteFloat(logData, "y1", value.toFloat());
|
jsonWriteFloat(logData, "y1", value.toFloat());
|
||||||
|
|
||||||
//прочитаем путь к файлу последнего сохранения
|
// прочитаем путь к файлу последнего сохранения
|
||||||
String filePath = readDataDB(id);
|
String filePath = readDataDB(id);
|
||||||
|
|
||||||
//если данные о файле отсутствуют, создадим новый
|
// если данные о файле отсутствуют, создадим новый
|
||||||
if (filePath == "failed" || filePath == "") {
|
if (filePath == "failed" || filePath == "") {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' file path not found, start create new file");
|
SerialPrint("E", F("Loging"), "'" + id + "' file path not found, start create new file");
|
||||||
createNewFileWithData(logData);
|
createNewFileWithData(logData);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
//если файл все же есть но был создан не сегодня, то создаем сегодняшний
|
// если файл все же есть но был создан не сегодня, то создаем сегодняшний
|
||||||
if (getTodayDateDotFormated() != getDateDotFormatedFromUnix(getFileUnixLocalTime(filePath))) {
|
if (getTodayDateDotFormated() != getDateDotFormatedFromUnix(getFileUnixLocalTime(filePath))) {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' file too old, start create new file");
|
SerialPrint("E", F("Loging"), "'" + id + "' file too old, start create new file");
|
||||||
createNewFileWithData(logData);
|
createNewFileWithData(logData);
|
||||||
@@ -88,31 +88,31 @@ class Loging : public IoTItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//считаем количество строк и определяем размер файла
|
// считаем количество строк и определяем размер файла
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
int lines = countJsonObj(filePath, size);
|
int lines = countJsonObj(filePath, size);
|
||||||
SerialPrint("i", F("Loging"), "'" + id + "' " + "lines = " + String(lines) + ", size = " + String(size));
|
SerialPrint("i", F("Loging"), "'" + id + "' " + "lines = " + String(lines) + ", size = " + String(size));
|
||||||
|
|
||||||
//если количество строк до заданной величины и дата не менялась
|
// если количество строк до заданной величины и дата не менялась
|
||||||
if (lines <= points && !hasDayChanged()) {
|
if (lines <= points && !hasDayChanged()) {
|
||||||
//просто добавим в существующий файл новые данные
|
// просто добавим в существующий файл новые данные
|
||||||
addNewDataToExistingFile(filePath, logData);
|
addNewDataToExistingFile(filePath, logData);
|
||||||
//если больше или поменялась дата то создадим следующий файл
|
// если больше или поменялась дата то создадим следующий файл
|
||||||
} else {
|
} else {
|
||||||
createNewFileWithData(logData);
|
createNewFileWithData(logData);
|
||||||
}
|
}
|
||||||
//запускаем процедуру удаления старых файлов если память переполняется
|
// запускаем процедуру удаления старых файлов если память переполняется
|
||||||
deleteLastFile();
|
deleteLastFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetDoByInterval(String valse) {
|
void SetDoByInterval(String valse) {
|
||||||
String value = valse;
|
String value = valse;
|
||||||
//если значение логгирования пустое
|
// если значение логгирования пустое
|
||||||
if (value == "") {
|
if (value == "") {
|
||||||
SerialPrint("E", F("LogingEvent"), "'" + id + "' loging value is empty, return");
|
SerialPrint("E", F("LogingEvent"), "'" + id + "' loging value is empty, return");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//если время не было получено из интернета
|
// если время не было получено из интернета
|
||||||
if (!isTimeSynch) {
|
if (!isTimeSynch) {
|
||||||
SerialPrint("E", F("LogingEvent"), "'" + id + "' Сant loging - time not synchronized, return");
|
SerialPrint("E", F("LogingEvent"), "'" + id + "' Сant loging - time not synchronized, return");
|
||||||
return;
|
return;
|
||||||
@@ -121,16 +121,16 @@ class Loging : public IoTItem {
|
|||||||
String logData;
|
String logData;
|
||||||
jsonWriteInt(logData, "x", unixTime);
|
jsonWriteInt(logData, "x", unixTime);
|
||||||
jsonWriteFloat(logData, "y1", value.toFloat());
|
jsonWriteFloat(logData, "y1", value.toFloat());
|
||||||
//прочитаем путь к файлу последнего сохранения
|
// прочитаем путь к файлу последнего сохранения
|
||||||
String filePath = readDataDB(id);
|
String filePath = readDataDB(id);
|
||||||
|
|
||||||
//если данные о файле отсутствуют, создадим новый
|
// если данные о файле отсутствуют, создадим новый
|
||||||
if (filePath == "failed" || filePath == "") {
|
if (filePath == "failed" || filePath == "") {
|
||||||
SerialPrint("E", F("LogingEvent"), "'" + id + "' file path not found, start create new file");
|
SerialPrint("E", F("LogingEvent"), "'" + id + "' file path not found, start create new file");
|
||||||
createNewFileWithData(logData);
|
createNewFileWithData(logData);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
//если файл все же есть но был создан не сегодня, то создаем сегодняшний
|
// если файл все же есть но был создан не сегодня, то создаем сегодняшний
|
||||||
if (getTodayDateDotFormated() != getDateDotFormatedFromUnix(getFileUnixLocalTime(filePath))) {
|
if (getTodayDateDotFormated() != getDateDotFormatedFromUnix(getFileUnixLocalTime(filePath))) {
|
||||||
SerialPrint("E", F("LogingEvent"), "'" + id + "' file too old, start create new file");
|
SerialPrint("E", F("LogingEvent"), "'" + id + "' file too old, start create new file");
|
||||||
createNewFileWithData(logData);
|
createNewFileWithData(logData);
|
||||||
@@ -138,38 +138,38 @@ class Loging : public IoTItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//считаем количество строк и определяем размер файла
|
// считаем количество строк и определяем размер файла
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
int lines = countJsonObj(filePath, size);
|
int lines = countJsonObj(filePath, size);
|
||||||
SerialPrint("i", F("LogingEvent"), "'" + id + "' " + "lines = " + String(lines) + ", size = " + String(size));
|
SerialPrint("i", F("LogingEvent"), "'" + id + "' " + "lines = " + String(lines) + ", size = " + String(size));
|
||||||
|
|
||||||
//если количество строк до заданной величины и дата не менялась
|
// если количество строк до заданной величины и дата не менялась
|
||||||
if (lines <= points && !hasDayChanged()) {
|
if (lines <= points && !hasDayChanged()) {
|
||||||
//просто добавим в существующий файл новые данные
|
// просто добавим в существующий файл новые данные
|
||||||
addNewDataToExistingFile(filePath, logData);
|
addNewDataToExistingFile(filePath, logData);
|
||||||
//если больше или поменялась дата то создадим следующий файл
|
// если больше или поменялась дата то создадим следующий файл
|
||||||
} else {
|
} else {
|
||||||
createNewFileWithData(logData);
|
createNewFileWithData(logData);
|
||||||
}
|
}
|
||||||
//запускаем процедуру удаления старых файлов если память переполняется
|
// запускаем процедуру удаления старых файлов если память переполняется
|
||||||
deleteLastFile();
|
deleteLastFile();
|
||||||
}
|
}
|
||||||
void createNewFileWithData(String &logData) {
|
void createNewFileWithData(String &logData) {
|
||||||
logData = logData + ",";
|
logData = logData + ",";
|
||||||
String path = "/lg/" + id + "/" + String(unixTimeShort) + ".txt"; //создадим путь вида /lg/id/133256622333.txt
|
String path = "/lg/" + id + "/" + String(unixTimeShort) + ".txt"; // создадим путь вида /lg/id/133256622333.txt
|
||||||
//создадим пустой файл
|
// создадим пустой файл
|
||||||
if (writeEmptyFile(path) != "sucсess") {
|
if (writeEmptyFile(path) != "success") {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' file writing error, return");
|
SerialPrint("E", F("Loging"), "'" + id + "' file writing error, return");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//запишем в него данные
|
// запишем в него данные
|
||||||
if (addFile(path, logData) != "sucсess") {
|
if (addFile(path, logData) != "success") {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' data writing error, return");
|
SerialPrint("E", F("Loging"), "'" + id + "' data writing error, return");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//запишем путь к нему в базу данных
|
// запишем путь к нему в базу данных
|
||||||
if (saveDataDB(id, path) != "sucсess") {
|
if (saveDataDB(id, path) != "success") {
|
||||||
SerialPrint("E", F("Loging"), "'" + id + "' db file writing error, return");
|
SerialPrint("E", F("Loging"), "'" + id + "' db file writing error, return");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -178,14 +178,14 @@ class Loging : public IoTItem {
|
|||||||
|
|
||||||
void addNewDataToExistingFile(String &path, String &logData) {
|
void addNewDataToExistingFile(String &path, String &logData) {
|
||||||
logData = logData + ",";
|
logData = logData + ",";
|
||||||
if (addFile(path, logData) != "sucсess") {
|
if (addFile(path, logData) != "success") {
|
||||||
SerialPrint("i", F("Loging"), "'" + id + "' file writing error, return");
|
SerialPrint("i", F("Loging"), "'" + id + "' file writing error, return");
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
SerialPrint("i", F("Loging"), "'" + id + "' loging in file http://" + WiFi.localIP().toString() + path);
|
SerialPrint("i", F("Loging"), "'" + id + "' loging in file http://" + WiFi.localIP().toString() + path);
|
||||||
}
|
}
|
||||||
|
|
||||||
//данная функция уже перенесена в ядро и будет удалена в последствии
|
// данная функция уже перенесена в ядро и будет удалена в последствии
|
||||||
bool hasDayChanged() {
|
bool hasDayChanged() {
|
||||||
bool changed = false;
|
bool changed = false;
|
||||||
String currentDate = getTodayDateDotFormated();
|
String currentDate = getTodayDateDotFormated();
|
||||||
@@ -243,7 +243,7 @@ class Loging : public IoTItem {
|
|||||||
|
|
||||||
filesList = deleteBeforeDelimiter(filesList, ";");
|
filesList = deleteBeforeDelimiter(filesList, ";");
|
||||||
}
|
}
|
||||||
//если данных нет отправляем пустой грфик
|
// если данных нет отправляем пустой грфик
|
||||||
if (noData) {
|
if (noData) {
|
||||||
clearValue();
|
clearValue();
|
||||||
}
|
}
|
||||||
@@ -319,7 +319,7 @@ class Loging : public IoTItem {
|
|||||||
void regEvent(const String &value, const String &consoleInfo, bool error = false, bool genEvent = true) {
|
void regEvent(const String &value, const String &consoleInfo, bool error = false, bool genEvent = true) {
|
||||||
String userDate = getItemValue(id + "-date");
|
String userDate = getItemValue(id + "-date");
|
||||||
String currentDate = getTodayDateDotFormated();
|
String currentDate = getTodayDateDotFormated();
|
||||||
//отправляем в график данные только когда выбран сегодняшний день
|
// отправляем в график данные только когда выбран сегодняшний день
|
||||||
if (userDate == currentDate) {
|
if (userDate == currentDate) {
|
||||||
// generateEvent(_id, value);
|
// generateEvent(_id, value);
|
||||||
// publishStatusMqtt(_id, value);
|
// publishStatusMqtt(_id, value);
|
||||||
@@ -329,12 +329,12 @@ class Loging : public IoTItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//просто максимальное количество точек
|
// просто максимальное количество точек
|
||||||
int calculateMaxCount() {
|
int calculateMaxCount() {
|
||||||
return 86400;
|
return 86400;
|
||||||
}
|
}
|
||||||
|
|
||||||
//путь вида: /lg/log/1231231.txt
|
// путь вида: /lg/log/1231231.txt
|
||||||
unsigned long getFileUnixLocalTime(String path) {
|
unsigned long getFileUnixLocalTime(String path) {
|
||||||
return gmtTimeToLocal(selectToMarkerLast(deleteToMarkerLast(path, "."), "/").toInt() + START_DATETIME);
|
return gmtTimeToLocal(selectToMarkerLast(deleteToMarkerLast(path, "."), "/").toInt() + START_DATETIME);
|
||||||
}
|
}
|
||||||
@@ -373,7 +373,7 @@ class Date : public IoTItem {
|
|||||||
void setValue(const IoTValue &Value, bool genEvent = true) {
|
void setValue(const IoTValue &Value, bool genEvent = true) {
|
||||||
value = Value;
|
value = Value;
|
||||||
regEvent(value.valS, "", false, genEvent);
|
regEvent(value.valS, "", false, genEvent);
|
||||||
//отправка данных при изменении даты
|
// отправка данных при изменении даты
|
||||||
for (std::list<IoTItem *>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
for (std::list<IoTItem *>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||||
if ((*it)->getSubtype() == "Loging") {
|
if ((*it)->getSubtype() == "Loging") {
|
||||||
if ((*it)->getID() == selectToMarker(id, "-")) {
|
if ((*it)->getID() == selectToMarker(id, "-")) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#include "utils/FileUtils.h"
|
#include "utils/FileUtils.h"
|
||||||
|
|
||||||
//данная функция записывает файл из буфера страницами указанного размера
|
// данная функция записывает файл из буфера страницами указанного размера
|
||||||
void writeFileUint8tByFrames(const String& filename, uint8_t*& big_buf, size_t length, size_t headerLenth, size_t frameSize) {
|
void writeFileUint8tByFrames(const String& filename, uint8_t*& big_buf, size_t length, size_t headerLenth, size_t frameSize) {
|
||||||
String path = filepath(filename);
|
String path = filepath(filename);
|
||||||
auto file = FileFS.open(path, FILE_WRITE);
|
auto file = FileFS.open(path, FILE_WRITE);
|
||||||
@@ -71,7 +71,7 @@ const String writeFile(const String& filename, const String& str) {
|
|||||||
}
|
}
|
||||||
file.print(str);
|
file.print(str);
|
||||||
file.close();
|
file.close();
|
||||||
return "sucсess";
|
return "success";
|
||||||
onFlashWrite();
|
onFlashWrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ const String writeEmptyFile(const String& filename) {
|
|||||||
return "failed";
|
return "failed";
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
return "sucсess";
|
return "success";
|
||||||
onFlashWrite();
|
onFlashWrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ const String addFileLn(const String& filename, const String& str) {
|
|||||||
}
|
}
|
||||||
file.println(str);
|
file.println(str);
|
||||||
file.close();
|
file.close();
|
||||||
return "sucсess";
|
return "success";
|
||||||
onFlashWrite();
|
onFlashWrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ const String addFile(const String& filename, const String& str) {
|
|||||||
}
|
}
|
||||||
file.print(str);
|
file.print(str);
|
||||||
file.close();
|
file.close();
|
||||||
return "sucсess";
|
return "success";
|
||||||
onFlashWrite();
|
onFlashWrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ bool cutFile(const String& src, const String& dst) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//функция считает количество строк в файле
|
// функция считает количество строк в файле
|
||||||
size_t countJsonObj(const String filename, size_t& size) {
|
size_t countJsonObj(const String filename, size_t& size) {
|
||||||
size_t cnt = -1;
|
size_t cnt = -1;
|
||||||
String path = filepath(filename);
|
String path = filepath(filename);
|
||||||
@@ -180,7 +180,7 @@ size_t countJsonObj(const String filename, size_t& size) {
|
|||||||
return cnt;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
//удаляем файл
|
// удаляем файл
|
||||||
void removeFile(const String& filename) {
|
void removeFile(const String& filename) {
|
||||||
String path = filepath(filename);
|
String path = filepath(filename);
|
||||||
if (FileFS.exists(path)) {
|
if (FileFS.exists(path)) {
|
||||||
@@ -216,8 +216,8 @@ String readDataDB(String id) {
|
|||||||
void cleanLogs() {
|
void cleanLogs() {
|
||||||
SerialPrint("i", "Files", "cleanLogs");
|
SerialPrint("i", "Files", "cleanLogs");
|
||||||
cleanDirectory("/db");
|
cleanDirectory("/db");
|
||||||
//обращение к логированию из ядра
|
// обращение к логированию из ядра
|
||||||
//очистка данных всех экземпляров графиков
|
// очистка данных всех экземпляров графиков
|
||||||
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||||
if ((*it)->getSubtype() == "Loging" || "LogingDaily") {
|
if ((*it)->getSubtype() == "Loging" || "LogingDaily") {
|
||||||
(*it)->clearHistory();
|
(*it)->clearHistory();
|
||||||
@@ -225,7 +225,7 @@ void cleanLogs() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//очищаем директорию с файлами
|
// очищаем директорию с файлами
|
||||||
void cleanDirectory(String path) {
|
void cleanDirectory(String path) {
|
||||||
String filesList = getFilesList(path);
|
String filesList = getFilesList(path);
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@@ -241,7 +241,7 @@ void cleanDirectory(String path) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//счетчик количества записей на флешь за сеанс
|
// счетчик количества записей на флешь за сеанс
|
||||||
void onFlashWrite() {
|
void onFlashWrite() {
|
||||||
flashWriteNumber++;
|
flashWriteNumber++;
|
||||||
// SerialPrint(F("->"), F("FS"), F("write data on flash"));
|
// SerialPrint(F("->"), F("FS"), F("write data on flash"));
|
||||||
|
|||||||
Reference in New Issue
Block a user