WiFiManager icon indicating copy to clipboard operation
WiFiManager copied to clipboard

question where are credintials stored

Open ear9mrn opened this issue 1 year ago • 3 comments

Can anyone tell me where/how the credentials (ssid, password) are stored for esp32?

A little googling suggests this is done by wifi library but it is not clear. I could not find anything in this code to suggest where they come from once stored.

I tried the following (using preferences library) but came up blank. Either this is not the correct method of the variable names are not correct. Any guidance would be helpful as I would like to use the same or similar method for some other parameters for a project.

` #include<Preferences.h> Preferences preferences;

String ssid; String password;

void setup {

preferences.begin("credentials", false);

ssid = preferences.getString("ssid", ""); password = preferences.getString("password", "");

Serial.println(ssid); Serial.println(password);

} `

Thanks,

Pete.

ear9mrn avatar Jan 08 '24 11:01 ear9mrn

They are stored in NVS by ESP32, you can read them using the WM funcs

    // check if the module has a saved ap to connect to
    bool          getWiFiIsSaved();

    // helper to get saved password, if persistent get stored, else get current if connected    
    String        getWiFiPass(bool persistent = true);

    // helper to get saved ssid, if persistent get stored, else get current if connected
    String        getWiFiSSID(bool persistent = true);

But they are only available when wifi is init on the esp32, so you have to start wifi first. set .mode(STA) etc.

I have open issues researching how to get them without turning wifi on.

tablatronix avatar Jan 08 '24 17:01 tablatronix

@tablatronix How many sets of WiFi credentials are stored in the NVS?

kungfupizza avatar May 23 '24 09:05 kungfupizza

Only the one, multi config is not inplemented

tablatronix avatar May 27 '24 15:05 tablatronix