Forum

Please or Register to create posts and topics.

Amélioration de l'entrée "SSID" du WinKy

Bonjour,

Une petite idée d'amélioration, d'ordre pratique, dans le Firmware du WinKy.

Actuellement, pour entrer le nom d'un réseau WIFI (SSID), il faut taper manuellement le nom de ce dernier :

On pourrait simplifier la démarche en proposant directement la liste des réseau wifi visibles  ! Ce qui limiterait les erreurs et ferait gagner un peu de temps aux utilisateur.rice.s  🙂

En 1) les réseaux wifi sont listés, il suffit de cliquer sur un nom de réseau pour le sélectionner.

En 2) il est toujours possible d'entrer manuellement le nom du réseau wifi à l'aide du clavier (pour les noms de réseau masqués).




 

Par exemple, la ligne de code du WinKy qui permet d'entrer le nom d'un réseau wifi :

[Winky_OneForAll_V24.ino]

[...]

Nom du réseau wifi (SSID) actuel: %inputWifiSsid%<input type="text" name="inputWifiSsid"><br><br>

[...]


Une proposition d'amélioration (basée sur mes programmes, j'utilise une méthode de construction de page web différente) :
[...]
pageHTMLConstruct +="<label for=\"input1\">Nom du r&eacute;seau wifi (SSID) : <br><br></label>\n";
  pageHTMLConstruct +="<input list=\"list_ssid\" id=\"input1\" name=\"inputWifiSsid\" value=\"\n";
  pageHTMLConstruct +=strwifi_ssid;  //[C++] Valeure de la variable qui contient le nom du réseau SSID
  pageHTMLConstruct +="\"/>\n";
  pageHTMLConstruct +="<datalist id=\"list_ssid\">\n"; //[HTML] Balise qui permet de créé, dans un formulaire, une zone d'input en liste.
  pageHTMLConstruct +=WIFI_Scan_and_build_networks_selection();  //[C++] Affiche la liste des reseaux dispo
  pageHTMLConstruct +="</datalist>\n";
[...]
Et une fonction supplémentaire (en réalité, 3 fonctions supplémentaires : String WIFI_Scan_and_build_networks_selection(), WiFi.scanNetworks(), WiFi.SSID() ) :
  //[C++/HTML] Fonction qui liste les reseaux wifi dispo dans la zone de texte pour indiquer le ssid en mode AP.
String WIFI_Scan_and_build_networks_selection() {
  String CodeHTMLScanNetWk = "";
  int numberOfNetworks = WiFi.scanNetworks();  //[C++] WiFi.scanNetworks est une fonction de la lib "<WiFi.h>" qui permet d'indiquer, en sortie, le nombre de réseau wifi détectés.
  if (numberOfNetworks == 0){
    Serial.println("[WIFI-CLIENT] -> Aucun reseau sans fil detecte !");
  }else if (numberOfNetworks == -1){
    CodeERREUR += "304:";
    Serial.print("[ERROR 304][WIFI-CLIENT] -> Erreur dans le scan des réseaux wifi");
  }else{
    for(int i =0; i<numberOfNetworks; i++){
      CodeHTMLScanNetWk = CodeHTMLScanNetWk+"<option value=\"" + WiFi.SSID(i) + "\">\n"; //[C++] WiFi.SSID() est une fonction de la lib "<WiFi.h>" qui permet d'indiquer, en sortie, un nom de réseau wifi disponible. Le param "i" sélectionne un nom de réseau détécté s'il y en a plusieurs.
    }
  }
  return(CodeHTMLScanNetWk);
}
Bonne journée,
Sébastien D.
Jérôme Ferrari has reacted to this post.
Jérôme Ferrari

En effet cela est une bonne idée. Je viens de configurer mon Winky et je ne sais pas si le Wifi est correct. Pour moi, un moyen de tester la connexion Wifi avant de le mettre dans le compteur serait souhaitable. Est-il possible de le faire sans débrancher le Winky du PC ?

Bonjour,

j'avais complètement oublié d'activer la fonction pour me notifier des nouveaux messages sur le forum...

Merci pour cette idée, je vais essayer de l'implémenter sur la prochaine version.

Encore merci, Jérôme