#include <Preferences.h>
Preferences prefs;
void setup() {
Serial.begin(115200);
delay(500);
// NVS namespace megnyitása
prefs.begin("storage", false);
// false = írható, true = csak olvasható
Serial.println("=== ESP32 NVS / Preferences teljes példa ===");
// ---------------------------------------------------------
// 1) INTEGER MENTÉSE
// ---------------------------------------------------------
prefs.putInt("counter", 123);
Serial.println("Integer mentve: 123");
// ---------------------------------------------------------
// 2) STRING MENTÉSE (max ~4kB)
// ---------------------------------------------------------
prefs.putString("username", "Jozsef");
Serial.println("String mentve: Jozsef");
// ---------------------------------------------------------
// 3) NAGY ADAT (BLOB) MENTÉSE
// ---------------------------------------------------------
const char* bigData = "Ez egy nagyobb adat, amit blobként tárolunk.";
size_t blobSize = strlen(bigData);
prefs.putBytes("blob1", bigData, blobSize);
Serial.printf("Blob mentve (%u byte)\n", blobSize);
// ---------------------------------------------------------
// 4) INTEGER OLVASÁSA
// ---------------------------------------------------------
int counter = prefs.getInt("counter", -1);
Serial.printf("Integer olvasva: %d\n", counter);
// ---------------------------------------------------------
// 5) STRING OLVASÁSA
// ---------------------------------------------------------
String user = prefs.getString("username", "nincs");
Serial.printf("String olvasva: %s\n", user.c_str());
// ---------------------------------------------------------
// 6) BLOB OLVASÁSA
// ---------------------------------------------------------
size_t len = prefs.getBytesLength("blob1");
Serial.printf("Blob merete: %u byte\n", len);
if (len > 0) {
char* buffer = (char*)malloc(len + 1);
prefs.getBytes("blob1", buffer, len);
buffer[len] = '\0'; // lezárjuk a stringet
Serial.printf("Blob tartalma: %s\n", buffer);
free(buffer);
}
// ---------------------------------------------------------
// 7) ADAT TÖRLÉSE
// ---------------------------------------------------------
prefs.remove("username");
Serial.println("username kulcs torolve.");
// ---------------------------------------------------------
// 8) NVS lezárása
// ---------------------------------------------------------
prefs.end();
}
void loop() {
// ide nem kell semmi
}