Збереження налаштувань EEPROM для ESP8266, ESP32

Збереження налаштувань у вигляді структур в пам’яті контроллера.
Це робиться для зручності використання.
Метод збереження трохи відрізняється від AVR, і це потрібно пам’ятати.
Те, що пишуть на форумі, не завжди працює, по цьому тут реально працюючий приклад.

#include <EEPROM.h> // Підключаєем библиотеку EEPROM

struct SettingsStruct { // Створити структуру (все, що хочемо зберігати)

    int Count; // Як приклад – лічильник

  char DEVICE_NAME[12]; // Як приклад – текст

};

SettingsStruct Settings; // Оприділимо Settings як вказівник структури

void setup(void) {

  EEPROM.begin(512); // Початок работи бібліотеки, и вибір кількості пам’яті

  delay(500); // Затримка, рекомендовано 500мс

  EEPROM.get(20, Settings); // Відкриваємо налаштування

  Settings.Count = Settings.Count + 1; // Змінимо налаштування

  EEPROM.put(20, Settings); EEPROM.commit(); // Збереження налаштувань

}

Тепер, можна виводити Count як зручно

Головне тут:

#include <EEPROM.h> – Підключення бібліотеки

struct SettingsStruct {} – Оголошуємо структуру

EEPROM.begin(512); – запускаємо бібліотеку, резервируємо байти в пам’яті, від 4 до 4000

EEPROM.get(20, Settings); – Зчитавання в структуру

EEPROM.put(20, Settings); – Зчитування в пам’ять

EEPROM.commit(); – Збереження налаштування в пам’ять

Використовуючи цей код, можемо швидко відкривати і зберігати налаштування, без зайвих бібліотек і коду.

А також, зручно працювати з параметрами через Settings.setting

До прикладу: Settings.name = “Device  name”; Settings.auto = true;

1855