Browse Source

Adding support for deleting RFID-NVS-assignments

master
Torsten Stauder 4 years ago
parent
commit
ead10dd9ef
  1. 15
      html/management_DE.html
  2. 15
      html/management_EN.html
  3. 15
      src/HTMLmanagement_DE.h
  4. 15
      src/HTMLmanagement_EN.h
  5. 2
      src/LogMessages_DE.cpp
  6. 3
      src/LogMessages_EN.cpp
  7. 10
      src/Web.cpp
  8. 2
      src/logmessages.h
  9. 5
      src/main.cpp

15
html/management_DE.html

@ -462,11 +462,22 @@
<br />
</div>
<div class="tab-pane fade" id="nav-tools" role="tabpanel" aria-labelledby="nav-tools-tab">
<div class="container" id="eraseNvs">
<legend>NVS RFID-Zuweisungen löschen</legend>
<form action="/rfidnvserase" enctype="multipart/form-data" method="GET">
<div class="form-group">
<p>Über den Importer werden lediglich neue Einträge importiert, jedoch keine bestehenden Einträge aktiv gelöscht. Im Falle einer doppelten Zuweisung wird ein Eintrag allenfalls überschrieben. Mit dieser Funktion können alle bestehenden NVS-RFID-Zuweisungen gelöscht werden, so dass der ESPuino im Anschluss keinerlei Karten mehr kennt. Wird im Anschluss der Importer gestartet, befinden sich im Speicher des ESPuino anschließend exakt nur solche Zuweisungen, die Teil der Backup-Datei sind. Weitere Infos gibt es <a href="https://forum.espuino.de/t/die-backupfunktion-des-espuino/508" target="_blank">hier</a>.</p>
</div>
<button type="submit" class="btn btn-primary">Zuweisungen löschen</button>
</form>
</div>
<br />
<br />
<div class="container" id="importNvs">
<legend>NVS-Importer</legend>
<legend>NVS RFID-Importer</legend>
<form action="/upload" enctype="multipart/form-data" method="POST">
<div class="form-group">
<label for="nvsUpload">Hier kann eine Backup-Datei importiert werden.</label>
<label for="nvsUpload">Hier kann eine Backup-Datei hochgeladen werden, um NVS-RFID-Zuweisungen zu importieren.</label>
<input type="file" class="form-control-file" id="nvsUpload" name="nvsUpload" accept=".txt">
</div>
<button type="submit" class="btn btn-primary">Absenden</button>

15
html/management_EN.html

@ -462,11 +462,22 @@
<br />
</div>
<div class="tab-pane fade" id="nav-tools" role="tabpanel" aria-labelledby="nav-tools-tab">
<div class="container" id="eraseNvs">
<legend>Erase NVS RFID-assignments</legend>
<form action="/rfidnvserase" enctype="multipart/form-data" method="GET">
<div class="form-group">
<p>Via importer new entries will only be inserted but old ones won't be erased. Only in case an old assignment to the same entry already exists, it will be overwritten. With this function all existing rfid-assignments will be erased. Further <a href="https://forum.espuino.de/t/die-backupfunktion-des-espuino/508" target="_blank">infos</a> in German language.</p>
</div>
<button type="submit" class="btn btn-primary">Delete assignments</button>
</form>
</div>
<br />
<br />
<div class="container" id="importNvs">
<legend>NVS-Importer</legend>
<legend>NVS RFID-Importer</legend>
<form action="/upload" enctype="multipart/form-data" method="POST">
<div class="form-group">
<label for="nvsUpload">Backupfile can be imported right here.</label>
<label for="nvsUpload">Backupfile can be uploaded right here in order to import NVS-RFID-assignments.</label>
<input type="file" class="form-control-file" id="nvsUpload" name="nvsUpload" accept=".txt">
</div>
<button type="submit" class="btn btn-primary">Submit</button>

15
src/HTMLmanagement_DE.h

@ -462,11 +462,22 @@ static const char management_HTML[] PROGMEM = "<!DOCTYPE html>\
<br />\
</div>\
<div class=\"tab-pane fade\" id=\"nav-tools\" role=\"tabpanel\" aria-labelledby=\"nav-tools-tab\">\
<div class=\"container\" id=\"eraseNvs\">\
<legend>NVS RFID-Zuweisungen löschen</legend>\
<form action=\"/rfidnvserase\" enctype=\"multipart/form-data\" method=\"GET\">\
<div class=\"form-group\">\
<p>Über den Importer werden lediglich neue Einträge importiert, jedoch keine bestehenden Einträge aktiv gelöscht. Im Falle einer doppelten Zuweisung wird ein Eintrag allenfalls überschrieben. Mit dieser Funktion können alle bestehenden NVS-RFID-Zuweisungen gelöscht werden, so dass der ESPuino im Anschluss keinerlei Karten mehr kennt. Wird im Anschluss der Importer gestartet, befinden sich im Speicher des ESPuino anschließend exakt nur solche Zuweisungen, die Teil der Backup-Datei sind. Weitere Infos gibt es <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">hier</a>.</p>\
</div>\
<button type=\"submit\" class=\"btn btn-primary\">Zuweisungen löschen</button>\
</form>\
</div>\
<br />\
<br />\
<div class=\"container\" id=\"importNvs\">\
<legend>NVS-Importer</legend>\
<legend>NVS RFID-Importer</legend>\
<form action=\"/upload\" enctype=\"multipart/form-data\" method=\"POST\">\
<div class=\"form-group\">\
<label for=\"nvsUpload\">Hier kann eine Backup-Datei importiert werden.</label>\
<label for=\"nvsUpload\">Hier kann eine Backup-Datei hochgeladen werden, um NVS-RFID-Zuweisungen zu importieren.</label>\
<input type=\"file\" class=\"form-control-file\" id=\"nvsUpload\" name=\"nvsUpload\" accept=\".txt\">\
</div>\
<button type=\"submit\" class=\"btn btn-primary\">Absenden</button>\

15
src/HTMLmanagement_EN.h

@ -462,11 +462,22 @@ static const char management_HTML[] PROGMEM = "<!DOCTYPE html>\
<br />\
</div>\
<div class=\"tab-pane fade\" id=\"nav-tools\" role=\"tabpanel\" aria-labelledby=\"nav-tools-tab\">\
<div class=\"container\" id=\"eraseNvs\">\
<legend>Erase NVS RFID-assignments</legend>\
<form action=\"/rfidnvserase\" enctype=\"multipart/form-data\" method=\"GET\">\
<div class=\"form-group\">\
<p>Via importer new entries will only be inserted but old ones won't be erased. Only in case an old assignment to the same entry already exists, it will be overwritten. With this function all existing rfid-assignments will be erased. Further <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">infos</a> in German language.</p>\
</div>\
<button type=\"submit\" class=\"btn btn-primary\">Delete assignments</button>\
</form>\
</div>\
<br />\
<br />\
<div class=\"container\" id=\"importNvs\">\
<legend>NVS-Importer</legend>\
<legend>NVS RFID-Importer</legend>\
<form action=\"/upload\" enctype=\"multipart/form-data\" method=\"POST\">\
<div class=\"form-group\">\
<label for=\"nvsUpload\">Backupfile can be imported right here.</label>\
<label for=\"nvsUpload\">Backupfile can be uploaded right here in order to import NVS-RFID-assignments.</label>\
<input type=\"file\" class=\"form-control-file\" id=\"nvsUpload\" name=\"nvsUpload\" accept=\".txt\">\
</div>\
<button type=\"submit\" class=\"btn btn-primary\">Submit</button>\

2
src/LogMessages_DE.cpp

@ -197,4 +197,6 @@
const char importCountNokNvs[] PROGMEM = "Anzahl der ungültigen Import-Einträge";
const char errorReadingTmpfile[] PROGMEM = "Beim Lesen der temporären Importdatei ist ein Fehler aufgetreten!";
const char errorWritingTmpfile[] PROGMEM = "Beim Schreiben der temporären Importdatei ist ein Fehler aufgetreten!";
const char eraseRfidNvsWeb[] PROGMEM = "<p>Die NVS-RFID-Zuweisungen werden gel&ouml;scht...<br />Zur letzten Seite <a href=\"javascript:history.back()\">zur&uuml;ckkehren</a>.</p>";
const char eraseRfidNvs[] PROGMEM = "NVS-RFID-Zuweisungen werden gelöscht...";
#endif

3
src/LogMessages_EN.cpp

@ -197,5 +197,6 @@
const char importCountNokNvs[] PROGMEM = "Number of invalid import-entries";
const char errorReadingTmpfile[] PROGMEM = "Error occured while reading from import-tmpfile";
const char errorWritingTmpfile[] PROGMEM = "Error occured while writing to import-tmpfile";
const char eraseRfidNvsWeb[] PROGMEM = "<p>NVS-RFID-assignments are being deleted...<br />Back to <a href=\"javascript:history.back()\">last page</a>.</p>";
const char eraseRfidNvs[] PROGMEM = "NVS-RFID-assignments are being deleted...";
#endif

10
src/Web.cpp

@ -156,7 +156,7 @@ void webserverStart(void) {
info += "\nGroesster freier heap-block: " + String((uint32_t)heap_caps_get_largest_free_block(MALLOC_CAP_8BIT));
info += "\nFreier PSRAM: ";
info += (!psramInit()) ? "nicht verfuegbar" : String(ESP.getFreePsram());
if (Wlan_IsConnected) {
if (Wlan_IsConnected()) {
info += "\nWLAN-Signalstaerke: " + String((int8_t)Wlan_GetRssi()) + " dBm";
}
#else
@ -191,6 +191,14 @@ void webserverStart(void) {
System_RequestSleep();
});
// ESP-shutdown
wServer.on("/rfidnvserase", HTTP_GET, [](AsyncWebServerRequest *request) {
request->send_P(200, "text/html", eraseRfidNvsWeb);
Log_Println((char *) FPSTR(eraseRfidNvs), LOGLEVEL_NOTICE);
gPrefsRfid.clear();
Web_DumpNvsToSd("rfidTags", (const char*) FPSTR(backupFile));
});
// Fileexplorer (realtime)
wServer.on("/explorer", HTTP_GET, explorerHandleListRequest);

2
src/logmessages.h

@ -193,3 +193,5 @@ extern const char noBootLoopDetected[];
extern const char importCountNokNvs[];
extern const char errorReadingTmpfile[];
extern const char errorWritingTmpfile[];
extern const char eraseRfidNvsWeb[];
extern const char eraseRfidNvs[];

5
src/main.cpp

@ -125,8 +125,7 @@ void printWakeUpReason() {
}
}
void setup()
{
void setup() {
Log_Init();
Rfid_WakeupCheck();
System_Init();
@ -185,7 +184,7 @@ void setup()
Serial.println(F(" | |___ ___) | | __/ | |_| | | | | | | | | (_) |"));
Serial.println(F(" |_____| |____/ |_| \\__,_| |_| |_| |_| \\___/ "));
Serial.println(F(" Rfid-controlled musicplayer\n"));
Serial.println(F(" Rev 20210708-1\n"));
Serial.println(F(" Rev 20210708-2\n"));
// print wake-up reason
printWakeUpReason();

Loading…
Cancel
Save