EEPROM sur ESP32 ??? - Changer une variable après coupure

Bonjour à tous,

Ma première question est, est-ce que cette esp-32 possède une EEPROM ?

Ma deuxième est en fonction rapport avec la première, si mon ESP-32 ne possède pas d'EEPROM est il possible que dans mon code je puisse changer la valeur d'une variable.

Imaginons j'ai ces deux variables :

std::string  nameBLEServeur = "";
String passwordBLEServeur = "";

Après une fonction est appelée avec le BLE :

class changeNameArduinoCallBacks : public BLECharacteristicCallbacks {
  void onWrite(BLECharacteristic *pCharacteristic) {
    std::string value = pCharacteristic->getValue();
    
    if (value.length() > 0)
    {
      for (int i = 0; i < value.length(); i++)
        EEPROM.write(addr_name + i, value[i]);
    }
    EEPROM.commit();
    Serial.println("Changement du nom effectué");
  }
};

Et enfin dans mon setup() :

  for (int i = addr_name; i < addr_name + 50; ++i) { 
    nameBLEServeur += char(EEPROM.read(i));
  }

  for (int i = addr_password; i < addr_password + 50; ++i) { 
    passwordBLEServeur += char(EEPROM.read(i));
  }

J'aimerais savoir sans utiliser la lib EEPROM, s'il est possible de changer la valeur d'une variable mais si mon ESP redémarre il faut que la variable garde la valeur.

Merci

Bonjour

Sur la carte indiquée on ne voit pas d'EEPROM externe ajoutée au module sous capot métallique contenant une puce ESP32.

Les ESP32 (la puce) dans leur ensemble ne disposent pas d'EEPROM physique mais il est possible de gérer une petite partie de la mémoire flash en émulation d'EEPROM.
Voir 3 les exemples fournis avec l'extension ESP32 pour Arduino (catégorie EEPROM) pour l'utilisation de la librairie d'émulation d'EEPROM pour ESP32

Merci beaucoup mais du coup ça fonctionne parfaitement avec la lib EEPROM