Amélioration de l'entrée "SSID" du WinKy
Quote from Sebastien on 23 octobre 2023, 13 h 37 minBonjour,
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é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 SSIDpageHTMLConstruct +="\"/>\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 dispopageHTMLConstruct +="</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.
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>
[...]
[...]pageHTMLConstruct +="<label for=\"input1\">Nom du ré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 SSIDpageHTMLConstruct +="\"/>\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 dispopageHTMLConstruct +="</datalist>\n";[...]
//[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);}
Quote from Olivier on 25 octobre 2023, 15 h 22 minEn 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 ?
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 ?
Quote from Jérôme Ferrari on 10 novembre 2023, 22 h 56 minBonjour,
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
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