mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-08 12:36:52 +03:00
Implement direct data logging
This commit is contained in:
@@ -8,6 +8,11 @@
|
|||||||
- Added PreValue to `/json` ([#1154](https://github.com/jomjol/AI-on-the-edge-device/issues/1154))
|
- Added PreValue to `/json` ([#1154](https://github.com/jomjol/AI-on-the-edge-device/issues/1154))
|
||||||
- Show graph of values direct in the user interface (thanks to [@rdmueller](https://github.com/rdmueller))
|
- Show graph of values direct in the user interface (thanks to [@rdmueller](https://github.com/rdmueller))
|
||||||
- SD card info into the "Info" Menue (thanks to [@Slider007]( https://github.com/Slider0007))
|
- SD card info into the "Info" Menue (thanks to [@Slider007]( https://github.com/Slider0007))
|
||||||
|
- Added a logging of the values in a text table in `/log/data` - each measurement is one line
|
||||||
|
- Format: tabulator separated
|
||||||
|
- Content: time, raw-value, return-value, pre-value, error-text, cnn-digital, cnn-analog
|
||||||
|
- ATTENTION: format not fully fixed yet!
|
||||||
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
|||||||
@@ -230,10 +230,9 @@ void FindReplace(std::string& line, std::string& oldString, std::string& newStri
|
|||||||
|
|
||||||
void MakeDir(std::string _what)
|
void MakeDir(std::string _what)
|
||||||
{
|
{
|
||||||
// chdir(_where.c_str());
|
int mk_ret = mkdir(_what.c_str(), 0775);
|
||||||
|
if (mk_ret)
|
||||||
if (mkdir(_what.c_str(), S_IRWXU|S_IRWXG|S_IROTH))
|
ESP_LOGD(TAG, "error with mkdir %s ret %d", _what.c_str(), mk_ret);
|
||||||
ESP_LOGD(TAG, "Problem with MakeDir: %s", _what.c_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ void ClassLogFile::WriteToData(std::string _ReturnRawValue, std::string _ReturnV
|
|||||||
|
|
||||||
strftime(buffer, 80, "%Y-%m-%dT%H:%M:%S", timeinfo);
|
strftime(buffer, 80, "%Y-%m-%dT%H:%M:%S", timeinfo);
|
||||||
|
|
||||||
zwtime = std::string(buffer) + ":\t";
|
zwtime = std::string(buffer) + "\t";
|
||||||
fputs(zwtime.c_str(), pFile);
|
fputs(zwtime.c_str(), pFile);
|
||||||
fputs(_ReturnRawValue.c_str(), pFile);
|
fputs(_ReturnRawValue.c_str(), pFile);
|
||||||
fputs("\t", pFile);
|
fputs("\t", pFile);
|
||||||
@@ -104,11 +104,8 @@ void ClassLogFile::WriteToData(std::string _ReturnRawValue, std::string _ReturnV
|
|||||||
fputs(_ReturnPreValue.c_str(), pFile);
|
fputs(_ReturnPreValue.c_str(), pFile);
|
||||||
fputs("\t", pFile);
|
fputs("\t", pFile);
|
||||||
fputs(_ErrorMessageText.c_str(), pFile);
|
fputs(_ErrorMessageText.c_str(), pFile);
|
||||||
fputs("\t", pFile);
|
|
||||||
fputs(_digital.c_str(), pFile);
|
fputs(_digital.c_str(), pFile);
|
||||||
fputs("\t", pFile);
|
|
||||||
fputs(_analog.c_str(), pFile);
|
fputs(_analog.c_str(), pFile);
|
||||||
fputs("\t", pFile);
|
|
||||||
fputs("\n", pFile);
|
fputs("\n", pFile);
|
||||||
|
|
||||||
fclose(pFile);
|
fclose(pFile);
|
||||||
@@ -284,6 +281,17 @@ void ClassLogFile::RemoveOld()
|
|||||||
closedir(dir);
|
closedir(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ClassLogFile::CreateLogDirectories()
|
||||||
|
{
|
||||||
|
MakeDir("/sdcard/log");
|
||||||
|
MakeDir("/sdcard/log/data");
|
||||||
|
MakeDir("/sdcard/log/analog");
|
||||||
|
MakeDir("/sdcard/log/digit");
|
||||||
|
MakeDir("/sdcard/log/message");
|
||||||
|
MakeDir("/sdcard/log/source");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ClassLogFile::ClassLogFile(std::string _logroot, std::string _logfile, std::string _logdatapath, std::string _datafile)
|
ClassLogFile::ClassLogFile(std::string _logroot, std::string _logfile, std::string _logdatapath, std::string _datafile)
|
||||||
{
|
{
|
||||||
logroot = _logroot;
|
logroot = _logroot;
|
||||||
@@ -294,6 +302,4 @@ ClassLogFile::ClassLogFile(std::string _logroot, std::string _logfile, std::stri
|
|||||||
retentionInDays = 10;
|
retentionInDays = 10;
|
||||||
loglevel = 0;
|
loglevel = 0;
|
||||||
MakeDir("/sdcard/log/data");
|
MakeDir("/sdcard/log/data");
|
||||||
MakeDir("/sdcard/test");
|
|
||||||
MakeDir("/test");
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ public:
|
|||||||
void SwitchOnOff(bool _doLogFile);
|
void SwitchOnOff(bool _doLogFile);
|
||||||
void SetRetention(unsigned short _retentionInDays);
|
void SetRetention(unsigned short _retentionInDays);
|
||||||
|
|
||||||
|
void CreateLogDirectories();
|
||||||
|
|
||||||
void WriteToFile(std::string info, bool _time = true);
|
void WriteToFile(std::string info, bool _time = true);
|
||||||
void WriteToDedicatedFile(std::string _fn, std::string info, bool _time = true);
|
void WriteToDedicatedFile(std::string _fn, std::string info, bool _time = true);
|
||||||
void RemoveOld();
|
void RemoveOld();
|
||||||
|
|||||||
@@ -111,9 +111,9 @@ bool Init_NVS_SDCard()
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
sdmmc_card_print_info(stdout, card);
|
sdmmc_card_print_info(stdout, card);
|
||||||
SaveSDCardInfo(card);
|
SaveSDCardInfo(card);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,6 +167,17 @@ extern "C" void app_main(void)
|
|||||||
|
|
||||||
CheckOTAUpdate();
|
CheckOTAUpdate();
|
||||||
|
|
||||||
|
LogFile.CreateLogDirectories();
|
||||||
|
/*
|
||||||
|
int mk_ret = mkdir("/sdcard/new_fd_mkdir", 0775);
|
||||||
|
ESP_LOGI(TAGMAIN, "mkdir ret %d", mk_ret);
|
||||||
|
mk_ret = mkdir("/sdcard/new_fd_mkdir/test", 0775);
|
||||||
|
ESP_LOGI(TAGMAIN, "mkdir ret %d", mk_ret);
|
||||||
|
MakeDir("/sdcard/test2");
|
||||||
|
MakeDir("/sdcard/test2/intern");
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
char *ssid = NULL, *passwd = NULL, *hostname = NULL, *ip = NULL, *gateway = NULL, *netmask = NULL, *dns = NULL;
|
char *ssid = NULL, *passwd = NULL, *hostname = NULL, *ip = NULL, *gateway = NULL, *netmask = NULL, *dns = NULL;
|
||||||
LoadWlanFromFile("/sdcard/wlan.ini", ssid, passwd, hostname, ip, gateway, netmask, dns);
|
LoadWlanFromFile("/sdcard/wlan.ini", ssid, passwd, hostname, ip, gateway, netmask, dns);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user