Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Routeur RMS 15.08 WPS
#7
(14-09-2025, 12:17 PM)F1ATB a écrit : Le mot de passe est sauvegardé en EEPROM comme le SSID. Sans cela impossible de redémarrer après une coupure de courant.
Ce qui n'est pas sauvegardé, c'est la borne WIFI (adresse MAC) auquel le routeur s'est connecté. A chaque redémarrage l'ESP32 cherche la borne la plus forte répondant au SSID en mémoire.

C'est quoi le PSK64 ?

André

Bonjour André,
j'ai programmé un esp32 en routeur pour tester, la sauvegarde.
le log 

Booting

Dernier Reset : ESP_OK
cle : 912567899
Version stockée (partie entière) :15
Version du logiciel( partie entière) :15
Mémoire EEPROM utilisée : 45%
Chip Model: ESP32-D0WDQ6
InitGPIO
InirTemp:13
ESP32_Type:1
Adresse IP en mémoire : 192.168.1.3
RMS-ESP32-12059428
Lancement du Wifi
Scan start
Scan done
3 réseaux trouvés
Nr | SSID        | RSSI | MAC | Channel
1 | Freebox-A0DBF8 | -70 | 3A:07:16:1FBig GrinB:00 | 6
2 | SUN2000-HV2320009826 | -79 | E8Big Grin7:5:A3:EE:72 | 6
3 | Freebox-A0DBF8 | -83 | 3A:07:16:E6:8E:30 | 6
Version : 15.08
ssid:
password:
Tentative de connexion via WPS...
Déconnecté. Redémarrage WiFi...
E (20087) wifiConfusedta is connecting, return error
WiFi Reconnecté en Mode Station
WPS réussi! Stop WPS et connexion vers: Freebox-A0DBF8
Déconnecté. Redémarrage WiFi...
WiFi Reconnecté en Mode Station
WiFi : Freebox-A0DBF8 connecté via WPS!
Récupération IP de RMS-ESP32-12059428 -> 192.168.1.3
Récupération password -> 2a24c0c66f9926719b11b69603243d1e0919b3aaeb04169eb115b359f91d5781
Sauvegarde des identifiants WPS dans l'EEPROM…
Mémoire EEPROM utilisée : 46%
: Connecté par WiFi via WPS, IP : 192.168.1.3 nom d'hôte : <a href='http://RMS-ESP32-12059428.local'>RMS-ESP32-12059428.local</a> Copiez/collez le nom d'hôte dans votre navigateur. ESP32 en mode AP et STA.
Serveur Telnet actif sur le port 23
OK: SSID/PASS sauvegardés.


restart

Booting
Dernier Reset : ESP_OK
cle : 912567899
Version stockée (partie entière) :15
Version du logiciel( partie entière) :15
Mémoire EEPROM utilisée : 46%
Chip Model: ESP32-D0WDQ6
InitGPIO
InirTemp:13
ESP32_Type:1
Adresse IP en mémoire : 192.168.1.3
RMS-ESP32-12059428
Lancement du Wifi
Scan start
Scan done
3 réseaux trouvés
Nr | SSID        | RSSI | MAC | Channel
1 | Freebox-A0DBF8 | -74 | 3A:07:16:1FBig GrinB:00 | 6
2 | SUN2000-HV2320009826 | -79 | E8Big Grin7:65:A3:EE:72 | 6
3 | Freebox-A0DBF8 | -80 | 3A:07:16:E6:8E:30 | 6
Version : 15.08
ssid:Freebox-A0DBF8
password:2a24c0c66f9926719b11b69603243d1e0919b3aaeb04169eb115b359f91d5781
: Wifi Begin : Freebox-A0DBF8
.6.6.6.6.6.6.6.6.6.0.0.0.0.0.0.0.0.0.0
: Connecté par WiFi, addresse IP : 192.168.1.3 or <a href='http://RMS-ESP32-12059428.local' >RMS-ESP32-12059428.local</a>
Serveur Telnet actif sur le port 23
Source : ShellyEm

Date : 15/09/2025 12:55:11
Signal WiFi: -75dBm
IP :192.168.1.3
Puissance reçue : Oui
Charge Lecture RMS (coeur 0) en ms - Min : 1 Moy : 2  Max : 2203
Charge Boucle générale (coeur 1) en ms - Min : 2 Moy : 2  Max : 2
Mémoire RAM libre actuellement: 103292 byte
Mémoire RAM libre minimum: 98256 byte
ESP32 ON depuis : 0.00 heures

La je peux relancer mon routeur et il est bien connecté.

la partie du code modifié
/*** WPS Configurations ***/                                          //SR19
#define ESP_WPS_MODE WPS_TYPE_PBC                                     //SR19
esp_wps_config_t wps_config = WPS_CONFIG_INIT_DEFAULT(ESP_WPS_MODE);  //SR19
bool isGOT_IP = false;                                                //true si IP reçue
volatile bool wpsJustProvisioned = false;  // <<< ajouté: indique qu'un WPS a provisionné SSID/PASS
void wpsStop() {                                                                                //SR19
  esp_err_t err = esp_wifi_wps_disable();                                                       //SR19
  if (err != ESP_OK) {                                                                          //SR19
    TelnetPrintln("WPS Disable Failed: " + String(err, HEX) + "h -> " + esp_err_to_name(err));  //SR19
  }                                                                                             //SR19
}  //SR19
//Evènements WPS/WiFi                                                                           //SR19
void WiFiEvent(WiFiEvent_t event) {                                                             //SR19
  switch (event) {                                                                              //SR19
    case ARDUINO_EVENT_WIFI_STA_START:                                                          //SR19
      TelnetPrintln("WiFi Démarré en Mode Station. Attente WPS Client...");                     //SR19
      break;                                                                                    //SR19
    case ARDUINO_EVENT_WIFI_STA_GOT_IP:                                                         //SR19
      TelnetPrintln("WiFi : " + String(WiFi.SSID()) + " connecté via WPS!");                    //SR19
      ssid = (WiFi.SSID());                                                                     //Récup ssid                                                            
      TelnetPrintln("Récupération IP de " + hostname + " -> " + (WiFi.localIP().toString()));   //SR19
      TelnetPrintln("Récupération password -> " + String(WiFi.psk()));                          //SR19
      password = (WiFi.psk());                                                                  //Récup password                                                    
      isGOT_IP = true; /*IP reçue*/                                                             //SR19
// --- AJOUT: persistance auto si la connexion vient d'un provisionnement WPS
if (wpsJustProvisioned) {
  if (ssid.length() > 0 && password.length() > 0) {
    TelnetPrintln("Sauvegarde des identifiants WPS dans l'EEPROM...");
    EcritureEnROM();   // sauve toute la config, dont SSID + password
    TelnetPrintln("OK: SSID/PASS sauvegardés.");
  } else {
    TelnetPrintln("Attention: SSID/PASS WPS vides, pas de sauvegarde.");
  }
  wpsJustProvisioned = false;  // reset du flag
}


Mais bon c'est pour des test je préfére garder le code que vous avez donné en Version 15.08 sinon je pourrais plus faire de mise à jour.
Merci 
Alain
Répondre


Messages dans ce sujet
Routeur RMS 15.08 WPS - par Alain H - 14-09-2025, 11:02 AM
RE: Routeur RMS 15.08 WPS - par F1ATB - 14-09-2025, 12:17 PM
RE: Routeur RMS 15.08 WPS - par Alain H - 14-09-2025, 09:28 PM
RE: Routeur RMS 15.08 WPS - par Alain H - 15-09-2025, 01:12 PM
RE: Routeur RMS 15.08 WPS - par Serge19 - 14-09-2025, 01:11 PM
RE: Routeur RMS 15.08 WPS - par Serge19 - 14-09-2025, 10:43 PM
RE: Routeur RMS 15.08 WPS - par Alain H - 15-09-2025, 06:45 AM
RE: Routeur RMS 15.08 WPS - par Serge19 - 15-09-2025, 09:36 PM
RE: Routeur RMS 15.08 WPS - par Alain H - 15-09-2025, 10:46 PM
RE: Routeur RMS 15.08 WPS - par Serge19 - 15-09-2025, 11:34 PM
RE: Routeur RMS 15.08 WPS - par Alain H - Hier, 12:13 PM
RE: Routeur RMS 15.08 WPS - par Serge19 - Il y a 9 heures

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)