Rechercher dans les propriétés de la page

Rechercher dans les propriétés de la page

Entrer soit une page et une propriété, ou seulement une propriété, pour récupérer toutes les valeurs affectées.

Affichage de 4 résultats à partir du n°1.

Voir (20 précédentes | 20 suivantes) (20 | 50 | 100 | 250 | 500).


    

Liste de résultats

  • *'''Episode 2 :''' [https://www.wikidebro *'''Episode 2 :''' [https://www.wikidebrouillard.org/wiki/Code_Minimal_R%C3%A9seau_-_(2)_H%C3%A9berger_un_site_web_sur_mon_Wemos_D1_mini Héberger un site web sur mon Wemos D1 mini]. *'''Episode 3 :''' [https://www.wikidebrouillard.org/wiki/Code_Minimal_R%C3%A9seau_-_(3)_Mon_D1_Mini_r%C3%A9cup%C3%A8re_des_donn%C3%A9es_sur_Internet_(Json) Mon Wemos D1 mini récupère des donnée sur Internet  (Json)]. *'''Episode 4 :''' [https://www.wikidebrouillard.org/wiki/Code_Minimal_R%C3%A9seau_-_(4)_Mes_Wemos_D1_Mini_discutent_sur_Internet_avec_MQTT Mon Wemos D1 mini discute sur Internet avec MQTT]. ''Ces trois épisodes sont indépendants les uns des autres''. des sont indépendants les uns des autres''.   +
  • <nowiki>Cette première étape permet Cette première étape permet à un Wemos D1 mini (ou autre carte compatible Arduino avec puce Wi-Fi) de se connecter au Wi-Fi dans un environnement connu, et qui ne change pas ; C'est-à-dire que l'on à accès à une borne Wi-Fi, on connait son mot de passe - aka "clé de sécurité réseau", et a priori la carte va rester dans cet environnement.


    Ces bibliothèques sont pré-chargées dans l'environnement Arduino, il n'est pas nécessaire d'aller les chercher dans le gestionnaire de bibliothèques.










    Connexion Wi-Fi de base
    Avant le Setup
    Importation de la bibliothèque
    #include // Pour le Wemos D1 Mini, ou ...
    #include // ... Pour l'ESP32
    Création de l’objet

    Dans le Setup
    Démarrage de la connexion
    WiFi.begin(SSID, SecKey) ; // Où SSID est le nom du point d'accès Wi-Fi, et SecKey son mot de passe
    Test de la connexion
    if (WiFi.Status() == WL_CONNECTED) { (...) }
    Récupération de l'adresse IP
    WiFi.localIP() ;
    Dans le Loop
    Utilisation
    Le test de la connexion, et la récupération de l'adresse IP peuvent aussi être utilisés dans le loop().



    Pour connaître toutes les autres possibilités de ces bibliothèques, voir leurs références, respectivement [https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi ici] (D1 Mini) et [https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi ici] (ESP32).

     1 /* =========================================================================================================
    2 *
    3 * CODE MINIMAL RESEAU - ETAPE 1 : connexion basique au Wi-Fi
    4 *
    5 * ---------------------------------------------------------------------------------------------------------
    6 * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
    7 * ========================================================================================================= */
    8
    9 // Bibliothèques WiFi : UNE SEULE EST NECESSAIRE, choisir celle correspondant à votre matériel.
    10 // ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.
    11
    12 #include // A utiliser pour le D1 Mini
    13 //#include // A utiliser pour l'ESP32
    14
    15 // Définition du point d'accès Wi-Fi et de son mot de passe ("clé de sécurité")
    16 // A REMPLACER PAR LES VERITABLES VALEURS CORRESPONDANT A VOTRE EMPLACEMENT
    17
    18 const char* mySSID = "MA_BOX_INTERNET";
    19 const char* mySecKey = "MA_CLE_DE_SECURITE";
    20
    21 /* --------------------------------------------------------------------------------------------------------
    22 * SETUP : Initialisation
    23 * -------------------------------------------------------------------------------------------------------- */
    24 void setup() {
    25
    26 // Initialisation de la liaison série, affichage 1er message
    27
    28 Serial.begin(115200);
    29 delay(100) ;
    30 Serial.println();
    31 Serial.println("----------------------------------") ;
    32 Serial.println("Exemple de connexion Wi-Fi basique") ;
    33 Serial.println("----------------------------------") ;
    34
    35 // Démarrage de la tentative de connexion, avec le nom du point d'accès Wi-Fi et son mot de passe
    36
    37 WiFi.begin(mySSID, mySecKey) ;
    38
    39 // Attente de la connexion pendant 10 secondes (20 x 500 ms)
    40
    41 Serial.print("Connexion à "); Serial.print(mySSID) ; Serial.print(" ") ;
    42 int tryNumber = 1 ;
    43 while (WiFi.status() != WL_CONNECTED)
    44 {
    45 delay(500);
    46 Serial.print(".");
    47 if (++tryNumber > 20) {
    48 Serial.println() ; Serial.println("Pas de connexion, abandon") ;
    49 return ;
    50 }
    51 }
    52
    53 // La connexion a réussi ! On affiche l'adresse IP obtenue.
    54
    55 Serial.println(); Serial.print("Connecté ! Adresse IP : ");
    56 Serial.println(WiFi.localIP());
    57
    58 }
    59
    60 /* --------------------------------------------------------------------------------------------------------------
    61 * LOOP : fonction appelée régulièrement par le système
    62 * ------------------------------------------------------------------------------------------------------------- */
    63 void loop() {
    64 /* On ne fait rien de particulier sur cet exemple */
    65 }
    n class="p">{</span> <br /><span class="lineno">64 </span> <span class="cm">/* On ne fait rien de particulier sur cet exemple */</span><br /><span class="lineno">65 </span><span class="p">}</span><br /></pre></div></nowiki>  
  • <nowiki>Dans l'étape précédente on sDans l'étape précédente on supposait que le Wi-Fi était permanent (cas où les cartes ne quittent pas notre labo, par exemple). Mais si on souhaite faire voyager nos cartes (démos dans des écoles, etc ...), on a trois possibilités :

    *On vient avec son environnement de développement Arduino, on met à jour le code Arduino avec les nouvelles informations Wi-Fi, et on téléverse le code sur toutes nos cartes ... un peu laborieux, n'est-il pas ?
    *ou bien, on dispose en permanence d'un téléphone mobile avec forfait données (4G ou +), et on utilise systématiquement celui-ci en mode "Point d'accès mobile". C'est donc ce téléphone qui sera vu en permanence comme le point d'accès Wi-Fi préféré de votre carte (D1 mini ou ESP32), quelque soit l'endroit où vous vous trouvez. Pas toujours possible ...
    *et sinon, on utilise la bibliothèque "WiFiManager", qui nous simplifie grandement la tâche !

    En effet, cette bibliothèque permet d'enregistrer de façon pérenne (même si on débranche la carte) le dernier Point d'Accès Wi-Fi sur lequel la carte a réussi à se connecter. La bibliothèque va d'abord chercher à se connecter sur ce Point d'Accès "connu". Et si ça ne fonctionne pas (on a changé de lieu, par exemple), alors elle va se positionner elle-même en mode "Point d'Accès", et va proposer sur l'adresse 192.168.4.1 une interface web permettant d'afficher les Points d'Accès Wi-Fi environnants, et d'en sélectionner un. Le nouveau Point d'Accès choisi sera sauvegardé pour les fois suivantes.


    Interface web du WiFi Manager :

    #Avec un téléphone ou ordinateur, connectez-vous au point d'accès "AP_PetitDeb" et tapez le mot de passe associé. Il y aura probablement un message indiquant qu'Internet n'est pas disponible, c'est normal, ne pas en tenir compte ;
    #Sur votre navigateur préféré, tapez "192.168.4.1", ce qui fera apparaître l'interface web générée par la bibliothèque WiFiManager. Cliquez sur "Configure WiFi", vous arrivez sur le choix du point d'accès.
    #Choisissez alors votre point d'accès Wi-Fi préféré, son nom sera reporté dans la case "SSID", complétez avec le mot de passe dans la case "Password", et cliquez sur Save


    Image permettant de comprendre l'utilisation de la bibliothèque WiFiManager



    '''Bibliothèque'''



    La bibliothèque doit être rajoutée à l'environnement Arduino dans le gestionnaire de Bibliothèques (voir [https://www.wikidebrouillard.org/wiki/Importer_des_biblioth%C3%A8ques_dans_l%27interface_Arduino ici] pour le mode d'emploi) :


    Image de la Bibliothèque WiFiManager dans le Gestionnaire de Bibliothèques Arduino













    Bibliothèque Wifi Manager
    Avant le Setup
    Importation de la bibliothèque
    #include
    Création de l’objet
    WiFiManager myWiFiManager;
    Dans le Setup
    Déclaration du mode bloquant
    myWiFiManager.setConfigPortalBlocking(true); // ... ou rien (mode par défaut)
    Déclaration du mode non bloquant
    myWiFiManager.setConfigPortalBlocking(false);
    Tentative de connexion à un PA Wi-Fi
    if (myWiFiManager.autoConnect(Nom_AP, MotDePasse_AP)) { (... connexion OK !) }
    Dans le Loop
    Activation régulière pour le mode non bloquant
    myWiFiManager.process() ; // Obligatoire en mode non bloquant


    Pour connaître toutes les autres possibilités de cette bibliothèque, voir sa référence, [https://jp112sdl.github.io/WiFiManager/ ici].



    '''Code minimal : mode bloquant (par défaut)'''

     1 /* =========================================================================================================
    2 *
    3 * CODE MINIMAL RESEAU - ETAPE 2 : Connexion à un point d'accès choisi par l'utilisateur
    4 *
    5 * CAS A : MODE BLOQUANT - On attend tant que l'utilisateur n'a pas choisi son Point d'Accès Wi-Fi
    6 *
    7 * ---------------------------------------------------------------------------------------------------------
    8 * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
    9 * ========================================================================================================= */
    10
    11 // Bibliothèque WiFiManager. Un seule bibibliothèque suffit ici, quelque soit la carte (ESP32 ou Wemos D1 Mini)
    12
    13 #include // Gestion de la connexion Wi-Fi (recherche de points d'accès)
    14 WiFiManager myWiFiManager; // Création de mon instance de WiFiManager.
    15
    16 // Définition de la carte lorsqu'elle se positionne en mode "Point d'Accès".
    17
    18 const char* mySSID = "AP_PetitDeb" ; // Nom du point d'accès
    19 const char* mySecKey = "PSWD1234" ; // Mot de passe, 8 caractères au minimum
    20
    21 /* --------------------------------------------------------------------------------------------------------
    22 * SETUP : Initialisation
    23 * -------------------------------------------------------------------------------------------------------- */
    24 void setup() {
    25
    26 // Initialisation de la liaison série, affichage 1er message
    27
    28 Serial.begin(115200);
    29 delay(100) ;
    30 Serial.println();
    31 Serial.println("----------------------------------") ;
    32 Serial.println("Exemple de connexion Wi-Fi évoluée") ;
    33 Serial.println("----------------------------------") ;
    34
    35 // Tentative de connexion au Wi-Fi. Si la carte n'a pas réussi se connecter au dernier Point d'Accès connu,
    36 // alors elle va se positionner en mode Point d'Accès, demandera sur l'adresse 192.168.4.1 quel nouveau
    37 // Point d'Accès choisir. Par défaut, on restera bloqué tant que l'utilisateur n'aura pas fait de choix.
    38
    39 Serial.println("Connexion au Wi-Fi ...");
    40 if (myWiFiManager.autoConnect(mySSID, mySecKey)) {
    41
    42 // Wi-Fi en mode standard ok --> On affiche l'adresse IP obtenue.
    43
    44 Serial.println(); Serial.print("Connecté ! Adresse IP : ");
    45 Serial.println(WiFi.localIP());
    46
    47 }
    48 else {
    49 Serial.println("Connexion Wi-Fi KO :-(");
    50 }
    51
    52 }
    53
    54 /* --------------------------------------------------------------------------------------------------------------
    55 * LOOP : fonction appelée régulièrement par le système
    56 * ------------------------------------------------------------------------------------------------------------- */
    57 void loop() {
    58 /* On ne fait rien de particulier sur cet exemple */
    59 }




    '''Code minimal : mode non bloquant'''
     1 /* =========================================================================================================
    2 *
    3 * CODE MINIMAL RESEAU - ETAPE 2 : Connexion à un point d'accès choisi par l'utilisateur
    4 *
    5 * CAS B : MODE NON BLOQUANT - On peut faire autre chose en attendant que l'utilisateur ait choisi
    6 * son Point d'Accès Wi-Fi
    7 *
    8 * ---------------------------------------------------------------------------------------------------------
    9 * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
    10 * ========================================================================================================= */
    11
    12 // Bibliothèque WiFiManager. Un seule bibibliothèque suffit ici, quelque soit la carte (ESP32 ou Wemos D1 Mini)
    13
    14 #include // Gestion de la connexion Wi-Fi (recherche de points d'accès)
    15 WiFiManager myWiFiManager; // Création de mon instance de WiFiManager.
    16
    17 // Définition de la carte lorsqu'elle se positionne en mode "Point d'Accès".
    18
    19 const char* mySSID = "AP_PetitDeb" ; // Nom du point d'accès
    20 const char* mySecKey = "PSWD1234" ; // Mot de passe, 8 caractères au minimum
    21
    22 // Pour les besoins de l'exemple (traces)
    23
    24 bool IAmNotConnected = true ;
    25
    26 /* --------------------------------------------------------------------------------------------------------
    27 * SETUP : Initialisation
    28 * -------------------------------------------------------------------------------------------------------- */
    29 void setup() {
    30
    31 // Initialisation de la liaison série, affichage 1er message
    32
    33 Serial.begin(115200);
    34 delay(100) ;
    35 Serial.println();
    36 Serial.println("----------------------------------") ;
    37 Serial.println("Exemple de connexion Wi-Fi évoluée") ;
    38 Serial.println("----------------------------------") ;
    39
    40 // Déclaration du mode "non bloquant".
    41 // Bonus : suppression des traces fournies par le WiFiManager (il est très bavard)
    42
    43 myWiFiManager.setConfigPortalBlocking(false);
    44 myWiFiManager.setDebugOutput(false);
    45
    46 // Tentative de connexion au Wi-Fi. Si la carte n'a pas réussi se connecter au dernier Point d'Accès connu,
    47 // alors elle va se positionner en mode Point d'Accès, demandera sur l'adresse 192.168.4.1 quel nouveau
    48 // Point d'Accès choisir. On ne reste pas bloqué, la suite du setup() va se dérouler, et le WiFiManager
    49 // traitera les demandes ultérieurement, dans la fonction loop().
    50
    51 Serial.println("Connexion au Wi-Fi ...");
    52 if (myWiFiManager.autoConnect(mySSID, mySecKey)) {
    53
    54 // Wi-Fi en mode standard ok --> On affiche l'adresse IP obtenue.
    55
    56 Serial.println(); Serial.print("Connecté ! Adresse IP : ");
    57 Serial.println(WiFi.localIP());
    58
    59 }
    60 else {
    61
    62 // Wi-Fi standard KO, on est passé en mode AP, qui sera traité dans le loop().
    63
    64 Serial.println("Pas de point Wi-Fi connu, passage en mode AP (identifiant \"" + String(mySSID) + "\")");
    65 }
    66
    67 }
    68
    69 /* --------------------------------------------------------------------------------------------------------------
    70 * LOOP : fonction appelée régulièrement par le système
    71 * ------------------------------------------------------------------------------------------------------------- */
    72 void loop() {
    73
    74 // Obligatoire en mode non bloquant, pour que le WiFiManager continue sa tâche.
    75
    76 myWiFiManager.process() ;
    77
    78 // Test pour savoir si on est enfin connecté - on ne l'affiche qu'une fois pour limiter les traces
    79
    80 if (IAmNotConnected) {
    81 if (WiFi.status() == WL_CONNECTED) {
    82 Serial.print("Connecté au point d'accès " + String(WiFi.SSID()) + ", Adresse IP : ") ;
    83 Serial.println(WiFi.localIP());
    84 IAmNotConnected = false ;
    85 }
    86 }
    87
    88 }

    t;<br /><span class="lineno">84 </span> <span class="n">IAmNotConnected</span> <span class="o">=</span> <span class="kr">false</span> <span class="p">;</span><br /><span class="lineno">85 </span> <span class="p">}</span><br /><span class="lineno">86 </span> <span class="p">}</span><br /><span class="lineno">87 </span> <br /><span class="lineno">88 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  
  • <nowiki>Il existe des cas particulieIl existe des cas particuliers où une application n'a en fait pas besoin du Wi-Fi pour aller envoyer ou recevoir des données d'Internet, mais souhaite être juste être considérée comme un Point d'Accès Wi-Fi. Ce mode est suffisant si l'on souhaite commander notre carte depuis un système proche. Par exemple pour commander un système domotique en mode web depuis notre mobile ... petit "spoiler" de l'épisode 2 :-)


    Pour utiliser le mode "Point d'Accès", on garde les librairies de base, vues à l'étape 1, en utilisant d'autres fonctions.











    Mode Point d'Accès
    Avant le Setup
    Importation de la bibliothèque
    #include // Pour le Wemos D1 Mini, ou ...
    #include // ... Pour l'ESP32
    Création de l’objet

    Dans le Setup
    Lancement du mode AP
    avec mot de passe
    if (WiFi.softAP(SSID, SecKey)) { (... succès ... } ; // Où SSID est le nom du point d'accès Wi-Fi, et SecKey son mot de passe
    Lancement du mode AP
    sans mot de passe

    if (WiFi.softAP(SSID)) { (... succès ... } ; // Où SSID est le nom du point d'accès Wi-Fi
    Récupération de l'adresse IP de base
    WiFi.softAPIP() ;
    Dans le Loop
    Utilisation
    La récupération de l'adresse IP peut aussi être utilisée dans le loop().



    Pour connaître toutes les autres possibilités de ces bibliothèques, voir leurs références, respectivement [https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi ici] (D1 Mini) et [https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi ici] (ESP32).

     1 /* =========================================================================================================
    2 *
    3 * CODE MINIMAL RESEAU - ETAPE 3 : Configuration en mode Point d'Accès
    4 *
    5 * ---------------------------------------------------------------------------------------------------------
    6 * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
    7 * ========================================================================================================= */
    8
    9 // Bibliothèques WiFi : UNE SEULE EST NECESSAIRE, choisir celle correspondant à votre matériel.
    10 // ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.
    11
    12 #include // A utiliser pour le D1 Mini
    13 //#include // A utiliser pour l'ESP32
    14
    15 const char* mySSID = "AP_PetitDeb" ;
    16 const char* mySecKey = "PSWD1234" ;
    17
    18 /* --------------------------------------------------------------------------------------------------------
    19 * SETUP : Initialisation
    20 * -------------------------------------------------------------------------------------------------------- */
    21 void setup() {
    22
    23 // Initialisation de la liaison série, affichage 1er message
    24
    25 Serial.begin(115200);
    26 delay(100) ;
    27 Serial.println();
    28 Serial.println("-----------------------------") ;
    29 Serial.println("Exemple en mode Point d'Accès") ;
    30 Serial.println("-----------------------------") ;
    31
    32 // Déclaration du mode "Point d'Accès"
    33
    34 Serial.println("Déclaration Mode AP, SSID \"" + String(mySSID) + "\"") ;
    35
    36 if (WiFi.softAP(mySSID,mySecKey)) {
    37
    38 // Voilà, nous somme en mode "Point d'Accès", notre carte sera visible des systèmes Wi-Fi environnants,
    39 // au même titre que les autres box Wi-Fi du voisinage. Par contre, ça s'arrête là, et si une fois
    40 // connecté sur ce Point d'Accès "AP_PetitDeb" on cherche à joindre notre carte sur l'adresse IP obtenue
    41 // ci-dessous par WiFi.softAPIP(), on aura droit à un beau "ERR_CONNECTION_REFUSED". Normal, on n'a pas
    42 // précisé dans l'application ce qu'il faut faire : voir exemple suivant Code_Minimal_Etape4.
    43
    44 Serial.print("Mode AP OK, IP Address : ") ;
    45 Serial.println(WiFi.softAPIP()) ;
    46 }
    47 else {
    48 Serial.println("Mode AP KO ... :-(") ;
    49 }
    50
    51 }
    52
    53 /* --------------------------------------------------------------------------------------------------------------
    54 * LOOP : fonction appelée régulièrement par le système
    55 * ------------------------------------------------------------------------------------------------------------- */
    56 void loop() {
    57
    58 // Rien de spécial dans cet exemple
    59
    60 }
    ;/span><span class="p">}</span><br /></pre></div></nowiki>