Initialisation Wifi sur esp32

Bonjour à tous.

Arduino IDE Version 1.8.19
Pour initialiser Wifi sur ESP32 càd : WiFi.begin(ssid, password); fonctionne bien si ssid et password sont initialisés ainsi :
const char* ssid = "free..."; et const char* password = "7Wzr...";

En utilisant une lecture du ssid et password sur EEprom ça ne fonctionne plus. Voir nota ci-dessous.

if (lecture_SSID_PassW() == false) { // lecture String ssid et String passw en EEPROM
Serial.println ( "\nProblème ..... ");
} else {
Serial.print("SSID: "); Serial.println(ssid); // test SSID lu en EEprom OK
Serial.print("clé wifi: "); Serial.println(password); // test PW lu en EEprom OK
WiFi.begin(ssid, password); // ne fonctionne plus

// erreur : no matching function for call to 'WiFiClass::begin(String&, String&)'

Nota : cela fonctionnait sur IDE 1.8.7 ESP8266
Comment me sortir de cette impasse svp . Je ne trouve pas depuis 2 jours.
Merci d'avance.

On ne peut pas mettre de balises code ?

la fonction ne prenant pas des String en paramètre, ça n'a jamais dû fonctionner

pour le reste, lire "Les bonnes pratiques du Forum Francophone” pour poster du code correctement et fournir les bonnes infos.

Bonjour J-M-L,
et merci pour cette réponse.
Je vais refaire une tentative avec du char.

Il me semble bien l'avoir déjà testé dans tous les sens. mais pour aujourd'hui c'est fini, car je dois partir.
A+

comme ça a l'air d'être des String (quelle idée puisque ça vient de l'EEPROM..) essayez

WiFi.begin(ssid.c_str(), password.c_str());

merci de ne pas poster de snippets à l'avenir, on n'a aucune idée de ce que fait lecture_SSID_PassW() et merci d'utiliser les balises de code.

Bonjour J-M-L

Effectivement c'était bien un problème ce type.
En cherchant j'ai finalement réussi en convertissant String en char[]

Mais je n'avais pas vu ta réponse. ( je n'avais pas réussi à utiliser c_str())
J'ai fait comme ceci : (c'est peut-être moins joli ?)

 for (x = 0; x < 32; ++x); {       // convertir String en char
      ssid.toCharArray(ssid_, x + 1);   }

Nota : String fonctionnait sur IDE 1.8.7 ou 1.8.3 ? sur ESP8266 en 2017.
Merci et A+

PS

merci de ne pas poster de snippets à l'avenir

Désolé, je ne sais pas ce que cela veut dire ?

snippets

OK, j'ai vu.

encore un snippet... je ne sais pas ce que sont les variables donc je ne peux pas vous dire ce qu'il en est

cf Snippets R Us!

Bonjour à tous,

J'ai testé :

WiFi.begin(ssid.c_str(), password.c_str());            //   String converti  en char

ça fonctionne très bien. Je n'avais pas réussi à l'utiliser.
(sans utiliser de variables intermédiaires, c'est donc mieux et plus simple.)

Nota : pour baliser le code, l'icône indique 'Preformatted text' . C'est clair comme .....

Pour les balises de code:

  • sélectionner la partie du texte qui correspond au code
  • appuyez sur l'icône </> dans la barre d'outils pour indiquer que c'est du code

(Assurez vous aussi d'indenter le code correctement dans l'IDE avant de le copier pour le coller ici. Cela se fait en pressant ctrlT sur PC ou cmdT sur un Mac)

sinon dans l'IDE il y a dans le menu une option pour copier pour le forum

oui ça fait du texte "pré formaté"

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.