{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://tutos-gameserver.fr/2019/05/03/relais-i2c-a-8-canaux-via-controle-wlan-wifi-avec-serveur-web-esp8266-sur-le-reseau-serveur-dimpression/","llm_html_url":"https://tutos-gameserver.fr/2019/05/03/relais-i2c-a-8-canaux-via-controle-wlan-wifi-avec-serveur-web-esp8266-sur-le-reseau-serveur-dimpression/llm","llm_json_url":"https://tutos-gameserver.fr/2019/05/03/relais-i2c-a-8-canaux-via-controle-wlan-wifi-avec-serveur-web-esp8266-sur-le-reseau-serveur-dimpression/llm.json","manifest_url":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","language":"fr-FR","locale":"fr_FR","title":"Relais I2C à 8 canaux via contrôle WLAN (WiFi) avec serveur Web ESP8266 sur le réseau\n\n &#8211; Serveur d&rsquo;impression","site":{"name":"Tutos GameServer","url":"https://tutos-gameserver.fr/"},"author":{"id":1,"name":"Titanfall","url":"https://tutos-gameserver.fr/author/titanfall/"},"published_at":"2019-05-03T02:15:35+00:00","modified_at":"2019-05-03T02:15:35+00:00","word_count":1160,"reading_time_seconds":348,"summary":"#comprendre #comprendre #comprendre #comprendre // bibliothèque I2C #include &quot;Index.h&quot; // contient le code HTML de la page Web d&#39;index // const char indexHtml[5423]= ; carboniser ssid[[[[32] = &quot;1234 0&quot;; carboniser phrase secrète[[[[64] = &quot;567890 0&quot;; carboniser sortie = 0; // états d&#39;action carboniser IC = 32; // Adresse du CI I2C int je. Port; ESP8266WebServer [&hellip;]","summary_points":["#comprendre \n#comprendre \n#comprendre \n#comprendre                                    // bibliothèque I2C \n#include &quot;Index.h&quot; // contient le code HTML de la page Web d&#39;index \n// const char indexHtml[5423]= ;\ncarboniser ssid[[[[32] = &quot;1234  0&quot;;\ncarboniser phrase secrète[[[[64] = &quot;567890  0&quot;;\ncarboniser sortie = 0;                                    // états d&#39;action\ncarboniser IC = 32;                                       // Adresse du CI I2C\nint je.","Port;\nESP8266WebServer *serveur;                           // pointeur sur le serveur de classes d&#39;objets\nEspClass esp;                                       // object esp à réinitialiser\n\nvide installer()                // Exécuter une fois au démarrage\n\n  Câble,commencer(2.","0);                                 // Initialisation du bus I2C GPIO2-Data GPIO0-Clock\n  Câble,Réglage de l&#39;horloge(1000);                              // Freqenz I2C bus\n  // état initial 1111 11111 (relais désactivé)\n  Câble,commencer la transmission(IC);                       // adresse IC\n  Câble,écrire(~sortie);                              // Envoi d&#39;octets les données sont inverties\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C\n\n  En série,commencer(115200);\n  En série,imprimer(&quot; R  n&quot;) ;\n\n  EEPROM,commencer(66);                                 // initialise EEPROM avec 64 octets\nmarque de saut:\n\n  // lire Eeeprom\n  pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je);\n  pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n  Port = EEPROM,lis(64);\n  Port + = EEPROM,lis(65) * 256;\n\n  // si l&#39;EEPROM est vide\n  si (ssid[[[[0] == 255)\n  \n    En série,imprimer(&quot;SSID non configuré  r  n&quot;) ;\n    En série,imprimer(Continuer avec  &quot;Entrée &quot;  r  n &quot;) ;\n    tandis que (!En série,disponible())rendement();             // attend que le feuilleton arrive\n    InputEEPR();                                    // Sous-programme de configuration du WiFi\n    aller à marque de saut;\n  \n\n  Wifi,Mode(WIFI_STA);                              // mode station\n  Wifi,commencer(ssid.","phrase secrète);\n  tandis que (Wifi,statut() !"],"topics":["Serveur d'impression"],"entities":[],"entities_metadata":[{"id":10,"name":"Serveur d'impression","slug":"serveur-dimpression","taxonomy":"category","count":3907,"url":"https://tutos-gameserver.fr/category/serveur-dimpression/"}],"tags":["Serveur d'impression"],"content_hash":"39aaf4185970458e0fabc337022503c6","plain_text":"#comprendre \n#comprendre \n#comprendre \n#comprendre                                    // bibliothèque I2C \n#include &quot;Index.h&quot; // contient le code HTML de la page Web d&#39;index \n// const char indexHtml[5423]= ;\ncarboniser ssid[[[[32] = &quot;1234  0&quot;;\ncarboniser phrase secrète[[[[64] = &quot;567890  0&quot;;\ncarboniser sortie = 0;                                    // états d&#39;action\ncarboniser IC = 32;                                       // Adresse du CI I2C\nint je. Port;\nESP8266WebServer *serveur;                           // pointeur sur le serveur de classes d&#39;objets\nEspClass esp;                                       // object esp à réinitialiser\n\nvide installer()                // Exécuter une fois au démarrage\n\n  Câble,commencer(2. 0);                                 // Initialisation du bus I2C GPIO2-Data GPIO0-Clock\n  Câble,Réglage de l&#39;horloge(1000);                              // Freqenz I2C bus\n  // état initial 1111 11111 (relais désactivé)\n  Câble,commencer la transmission(IC);                       // adresse IC\n  Câble,écrire(~sortie);                              // Envoi d&#39;octets les données sont inverties\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C\n\n  En série,commencer(115200);\n  En série,imprimer(&quot; R  n&quot;) ;\n\n  EEPROM,commencer(66);                                 // initialise EEPROM avec 64 octets\nmarque de saut:\n\n  // lire Eeeprom\n  pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je);\n  pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n  Port = EEPROM,lis(64);\n  Port + = EEPROM,lis(65) * 256;\n\n  // si l&#39;EEPROM est vide\n  si (ssid[[[[0] == 255)\n  \n    En série,imprimer(&quot;SSID non configuré  r  n&quot;) ;\n    En série,imprimer(Continuer avec  &quot;Entrée &quot;  r  n &quot;) ;\n    tandis que (!En série,disponible())rendement();             // attend que le feuilleton arrive\n    InputEEPR();                                    // Sous-programme de configuration du WiFi\n    aller à marque de saut;\n  \n\n  Wifi,Mode(WIFI_STA);                              // mode station\n  Wifi,commencer(ssid. phrase secrète);\n  tandis que (Wifi,statut() ! = WL_CONNECTED)             // attente de la connexion\n  \n    retard(500);\n    En série,impression(&quot;.&quot;);\n    si (En série,disponible()) InputEEPR();            // sortie si quelque chose en série a été reçu\n                                                   // puis entrez le nom et le mot de passe wlan\n  serveur = Nouveau ESP8266WebServer(Port);              // Crée l&#39;objet serveur et passe le pointeur\n  En série,imprimer(&quot;&quot;);\n  En série,impression(&quot;Attaché à &quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;Adresse IP:&quot;);\n  En série,imprimer(Wifi,LocalIP());\n\n  // connecte les événements\n  serveur-&gt;sur(&quot;/&quot;. Ereignis_Index);\n  serveur-&gt;sur(&quot;/Schalte.php&quot;. Ereignis_Befehl);\n\n  serveur-&gt;commencer();  // démarre le serveur\n  En série,impression(&quot;HTTP Server a démarré sur le port:&quot;);\n  En série,imprimer(Port);\n\n\nvide Ereignis_Befehl()      // exécuter quand &quot;http: ///schalte.php &quot;a été appelé\n\n  chaîne relaisNr = serveur-&gt;mal(&quot;relais&quot;);          // reçoit le relais no\n  int z = relaisNr,toInt();                         // convertit une chaîne en entier\n  z&#8211;;                                              // 1 abzien, car les bits dans l&#39;octet proviennent de 0 zerzaelt\n  chaîne Etat = serveur-&gt;mal(&quot;Commutateur&quot;);\n  si (Etat == &quot;1&quot;) Bitset(sortie. z);            // lors de l&#39;activation, définissez le bit \n  si (Etat == &quot;0&quot;) BITCLEAR(sortie. z);          // Si vous voulez désactiver, réinitialisez le bit \n  carboniser k = 0;                                       // Variable temporaire pour l&#39;opération XOR\n  si (Etat == &quot;2&quot;) sortie ^ = Bitset(k. z);       // Commute le relais habituel avec XOR\n  Câble,commencer la transmission(IC);                       // adresse IC I2C\n  Câble,écrire(~sortie);                              // inverser l&#39;octet, avec &quot;0&quot; les relais sont activés\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C\n  // Serial.println (String (int (sortie)));\n  serveur-&gt;transmission(200. &quot;Texte simple&quot;. chaîne(int(sortie)) ); // envoyer la réponse au navigateur internet\n\n\nvide Ereignis_Index()       // exécuter quand &quot;http: /// &quot;a été appelé\n\n  serveur-&gt;transmission(200. &quot;Texte / html&quot;. index html);        // HTML Websie est dans &quot;Index.h&quot;\n\n\nvide boucle()\n\n  si (En série,disponible()) InputEEPR();              // si la série reçoit quelque chose\n  serveur-&gt;gérer le client();                           // traiter les événements du serveur\n\n\nvide InputEEPR()            // L&#39;accès WLAN et le port sont configurés ici\n\n  chaîne texte = &quot;&quot;;                                 // variable pour le numéro de port sous forme de texte\n  carboniser inser;                                       // variable pour RS232 caractères reçus\n  inser = En série,lis();\n  si (inser ! = 13)  revenir;                         // si PAS &quot;entrer&quot; puis quitte le sous-programme\nboucle:\n  En série,imprimer(&quot;&quot;);\n  En série,imprimer(&quot;S&#39;il vous plaît changer pour changer&quot;);\n  En série,impression(&quot;1er SSID:&quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;2ème mot de passe:&quot;);\n  En série,imprimer(phrase secrète);\n  En série,impression(&quot;3. Port du serveur:&quot;);\n  En série,imprimer(Port);\n  En série,imprimer(&quot;4ème sortie&quot;);\n  En série,imprimer(&quot;5. Réinitialiser&quot;);\n  En série,imprimer(&quot;&quot;);\n  tandis que (!En série,disponible()) rendement();              // attend que quelque chose soit reçu\n  inser = En série,lis();                            // recevoir la sélection\n  commutateur (inser)                                    // exécuter comme approprié\n  \n    Cas &amp; # 39; 1 &amp; # 39;:\n      En série,imprimer(&quot;Entrée SSID:&quot;);\n      pour (je = 0; je &lt; 32; je++)\n      \n        tandis que (!En série,disponible()) rendement();       // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)                          // Quand la ligne est complétée\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);                    // définit la fin de chaîne\n          Pause;                                    // laisse la boucle\n         autre  EEPROM,écrire(je. inser);             // a reçu le caractère suivant\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();                              // Décrivez la mémoire EEPROM en termes de technologie\n      pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je); // charge les nouvelles données dans les variables\n      Pause;\n\n    Cas &amp; # 39; 2 &amp; # 39;:\n      En série,imprimer(&quot;Saisir mot de passe:&quot;);\n      pour (je = 32; je &lt; 64; je++)\n      \n        tandis que (!En série,disponible()) rendement();\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);\n          Pause;\n         autre EEPROM,écrire(je. inser);\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();\n      pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n      Pause;\n\n    Cas &amp; # 39; 3 &amp; # 39;:\n      En série,imprimer(&quot;Port d&#39;entrée:&quot;);\n      pour (je = 0; je &lt; 5; je++)\n      \n        tandis que (!En série,disponible()) rendement();        // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;) Pause;                   // Quand la ligne est terminée, quitte pour la boucle\n        autre texte + = (carboniser)inser;\n      \n      texte + = &amp; # 39;  0 &amp; # 39;;                                 // définit la fin de chaîne\n      En série,imprimer(&quot; R  nOK&quot;);\n      Port = texte,toInt();                          // Crée un entier à partir de texte\n      carboniser* p;\n      p = réinterpréter_cast&lt;carboniser*&gt;(&amp;Port);           // crée un tableau d&#39;octets à partir d&#39;un entier\n      EEPROM,écrire(64. p[[[[0]);                       // et sauvegarder dans l&#39;EEPROM\n      EEPROM,écrire(65. p[[[[1]);\n      EEPROM,commettre();\n      Port = EEPROM,lis(64);                       // charge les nouvelles données dans les variables\n      Port + = EEPROM,lis(65) * 256;\n      Pause;\n\n    Cas &amp; # 39; 4 &amp; # 39;:\n      Wifi,commencer(ssid. phrase secrète);\n      revenir;                                       // sortie du sous-programme InputEEPR ()\n      Pause;\n    Cas &amp; # 39; 5 &amp; # 39;:\n      esp,réinitialiser();\n      Pause;\n    défaut:\n      Pause;\n  \n  aller à boucle;                                    // Après être entré, retournez au menu\n\n\n\n\nClick to rate this post!\r\n                                   \r\n                               [Total: 0  Average: 0]","paragraphs":["#comprendre \n#comprendre \n#comprendre \n#comprendre                                    // bibliothèque I2C \n#include &quot;Index.h&quot; // contient le code HTML de la page Web d&#39;index \n// const char indexHtml[5423]= ;\ncarboniser ssid[[[[32] = &quot;1234  0&quot;;\ncarboniser phrase secrète[[[[64] = &quot;567890  0&quot;;\ncarboniser sortie = 0;                                    // états d&#39;action\ncarboniser IC = 32;                                       // Adresse du CI I2C\nint je. Port;\nESP8266WebServer *serveur;                           // pointeur sur le serveur de classes d&#39;objets\nEspClass esp;                                       // object esp à réinitialiser","vide installer()                // Exécuter une fois au démarrage","Câble,commencer(2. 0);                                 // Initialisation du bus I2C GPIO2-Data GPIO0-Clock\n  Câble,Réglage de l&#39;horloge(1000);                              // Freqenz I2C bus\n  // état initial 1111 11111 (relais désactivé)\n  Câble,commencer la transmission(IC);                       // adresse IC\n  Câble,écrire(~sortie);                              // Envoi d&#39;octets les données sont inverties\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C","En série,commencer(115200);\n  En série,imprimer(&quot; R  n&quot;) ;","EEPROM,commencer(66);                                 // initialise EEPROM avec 64 octets\nmarque de saut:","// lire Eeeprom\n  pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je);\n  pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n  Port = EEPROM,lis(64);\n  Port + = EEPROM,lis(65) * 256;","// si l&#39;EEPROM est vide\n  si (ssid[[[[0] == 255)\n  \n    En série,imprimer(&quot;SSID non configuré  r  n&quot;) ;\n    En série,imprimer(Continuer avec  &quot;Entrée &quot;  r  n &quot;) ;\n    tandis que (!En série,disponible())rendement();             // attend que le feuilleton arrive\n    InputEEPR();                                    // Sous-programme de configuration du WiFi\n    aller à marque de saut;","Wifi,Mode(WIFI_STA);                              // mode station\n  Wifi,commencer(ssid. phrase secrète);\n  tandis que (Wifi,statut() ! = WL_CONNECTED)             // attente de la connexion\n  \n    retard(500);\n    En série,impression(&quot;.&quot;);\n    si (En série,disponible()) InputEEPR();            // sortie si quelque chose en série a été reçu\n                                                   // puis entrez le nom et le mot de passe wlan\n  serveur = Nouveau ESP8266WebServer(Port);              // Crée l&#39;objet serveur et passe le pointeur\n  En série,imprimer(&quot;&quot;);\n  En série,impression(&quot;Attaché à &quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;Adresse IP:&quot;);\n  En série,imprimer(Wifi,LocalIP());","// connecte les événements\n  serveur-&gt;sur(&quot;/&quot;. Ereignis_Index);\n  serveur-&gt;sur(&quot;/Schalte.php&quot;. Ereignis_Befehl);","serveur-&gt;commencer();  // démarre le serveur\n  En série,impression(&quot;HTTP Server a démarré sur le port:&quot;);\n  En série,imprimer(Port);","vide Ereignis_Befehl()      // exécuter quand &quot;http: ///schalte.php &quot;a été appelé","chaîne relaisNr = serveur-&gt;mal(&quot;relais&quot;);          // reçoit le relais no\n  int z = relaisNr,toInt();                         // convertit une chaîne en entier\n  z&#8211;;                                              // 1 abzien, car les bits dans l&#39;octet proviennent de 0 zerzaelt\n  chaîne Etat = serveur-&gt;mal(&quot;Commutateur&quot;);\n  si (Etat == &quot;1&quot;) Bitset(sortie. z);            // lors de l&#39;activation, définissez le bit \n  si (Etat == &quot;0&quot;) BITCLEAR(sortie. z);          // Si vous voulez désactiver, réinitialisez le bit \n  carboniser k = 0;                                       // Variable temporaire pour l&#39;opération XOR\n  si (Etat == &quot;2&quot;) sortie ^ = Bitset(k. z);       // Commute le relais habituel avec XOR\n  Câble,commencer la transmission(IC);                       // adresse IC I2C\n  Câble,écrire(~sortie);                              // inverser l&#39;octet, avec &quot;0&quot; les relais sont activés\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C\n  // Serial.println (String (int (sortie)));\n  serveur-&gt;transmission(200. &quot;Texte simple&quot;. chaîne(int(sortie)) ); // envoyer la réponse au navigateur internet","vide Ereignis_Index()       // exécuter quand &quot;http: /// &quot;a été appelé","serveur-&gt;transmission(200. &quot;Texte / html&quot;. index html);        // HTML Websie est dans &quot;Index.h&quot;","vide boucle()","si (En série,disponible()) InputEEPR();              // si la série reçoit quelque chose\n  serveur-&gt;gérer le client();                           // traiter les événements du serveur","vide InputEEPR()            // L&#39;accès WLAN et le port sont configurés ici","chaîne texte = &quot;&quot;;                                 // variable pour le numéro de port sous forme de texte\n  carboniser inser;                                       // variable pour RS232 caractères reçus\n  inser = En série,lis();\n  si (inser ! = 13)  revenir;                         // si PAS &quot;entrer&quot; puis quitte le sous-programme\nboucle:\n  En série,imprimer(&quot;&quot;);\n  En série,imprimer(&quot;S&#39;il vous plaît changer pour changer&quot;);\n  En série,impression(&quot;1er SSID:&quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;2ème mot de passe:&quot;);\n  En série,imprimer(phrase secrète);\n  En série,impression(&quot;3. Port du serveur:&quot;);\n  En série,imprimer(Port);\n  En série,imprimer(&quot;4ème sortie&quot;);\n  En série,imprimer(&quot;5. Réinitialiser&quot;);\n  En série,imprimer(&quot;&quot;);\n  tandis que (!En série,disponible()) rendement();              // attend que quelque chose soit reçu\n  inser = En série,lis();                            // recevoir la sélection\n  commutateur (inser)                                    // exécuter comme approprié\n  \n    Cas &amp; # 39; 1 &amp; # 39;:\n      En série,imprimer(&quot;Entrée SSID:&quot;);\n      pour (je = 0; je &lt; 32; je++)\n      \n        tandis que (!En série,disponible()) rendement();       // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)                          // Quand la ligne est complétée\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);                    // définit la fin de chaîne\n          Pause;                                    // laisse la boucle\n         autre  EEPROM,écrire(je. inser);             // a reçu le caractère suivant\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();                              // Décrivez la mémoire EEPROM en termes de technologie\n      pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je); // charge les nouvelles données dans les variables\n      Pause;","Cas &amp; # 39; 2 &amp; # 39;:\n      En série,imprimer(&quot;Saisir mot de passe:&quot;);\n      pour (je = 32; je &lt; 64; je++)\n      \n        tandis que (!En série,disponible()) rendement();\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);\n          Pause;\n         autre EEPROM,écrire(je. inser);\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();\n      pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n      Pause;","Cas &amp; # 39; 3 &amp; # 39;:\n      En série,imprimer(&quot;Port d&#39;entrée:&quot;);\n      pour (je = 0; je &lt; 5; je++)\n      \n        tandis que (!En série,disponible()) rendement();        // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;) Pause;                   // Quand la ligne est terminée, quitte pour la boucle\n        autre texte + = (carboniser)inser;\n      \n      texte + = &amp; # 39;  0 &amp; # 39;;                                 // définit la fin de chaîne\n      En série,imprimer(&quot; R  nOK&quot;);\n      Port = texte,toInt();                          // Crée un entier à partir de texte\n      carboniser* p;\n      p = réinterpréter_cast&lt;carboniser*&gt;(&amp;Port);           // crée un tableau d&#39;octets à partir d&#39;un entier\n      EEPROM,écrire(64. p[[[[0]);                       // et sauvegarder dans l&#39;EEPROM\n      EEPROM,écrire(65. p[[[[1]);\n      EEPROM,commettre();\n      Port = EEPROM,lis(64);                       // charge les nouvelles données dans les variables\n      Port + = EEPROM,lis(65) * 256;\n      Pause;","Cas &amp; # 39; 4 &amp; # 39;:\n      Wifi,commencer(ssid. phrase secrète);\n      revenir;                                       // sortie du sous-programme InputEEPR ()\n      Pause;\n    Cas &amp; # 39; 5 &amp; # 39;:\n      esp,réinitialiser();\n      Pause;\n    défaut:\n      Pause;\n  \n  aller à boucle;                                    // Après être entré, retournez au menu","Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"#comprendre \n#comprendre \n#comprendre \n#comprendre                                    // bibliothèque I2C \n#include &quot;Index.h&quot; // contient le code HTML de la page Web d&#39;index \n// const char indexHtml[5423]= ;\ncarboniser ssid[[[[32] = &quot;1234  0&quot;;\ncarboniser phrase secrète[[[[64] = &quot;567890  0&quot;;\ncarboniser sortie = 0;                                    // états d&#39;action\ncarboniser IC = 32;                                       // Adresse du CI I2C\nint je. Port;\nESP8266WebServer *serveur;                           // pointeur sur le serveur de classes d&#39;objets\nEspClass esp;                                       // object esp à réinitialiser","html":"<p>#comprendre \n#comprendre \n#comprendre \n#comprendre                                    // bibliothèque I2C \n#include &quot;Index.h&quot; // contient le code HTML de la page Web d&#039;index \n// const char indexHtml[5423]= ;\ncarboniser ssid[[[[32] = &quot;1234  0&quot;;\ncarboniser phrase secrète[[[[64] = &quot;567890  0&quot;;\ncarboniser sortie = 0;                                    // états d&#039;action\ncarboniser IC = 32;                                       // Adresse du CI I2C\nint je. Port;\nESP8266WebServer *serveur;                           // pointeur sur le serveur de classes d&#039;objets\nEspClass esp;                                       // object esp à réinitialiser</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"vide installer()                // Exécuter une fois au démarrage","html":"<p>vide installer()                // Exécuter une fois au démarrage</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"Câble,commencer(2. 0);                                 // Initialisation du bus I2C GPIO2-Data GPIO0-Clock\n  Câble,Réglage de l&#39;horloge(1000);                              // Freqenz I2C bus\n  // état initial 1111 11111 (relais désactivé)\n  Câble,commencer la transmission(IC);                       // adresse IC\n  Câble,écrire(~sortie);                              // Envoi d&#39;octets les données sont inverties\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C","html":"<p>Câble,commencer(2. 0);                                 // Initialisation du bus I2C GPIO2-Data GPIO0-Clock\n  Câble,Réglage de l&#039;horloge(1000);                              // Freqenz I2C bus\n  // état initial 1111 11111 (relais désactivé)\n  Câble,commencer la transmission(IC);                       // adresse IC\n  Câble,écrire(~sortie);                              // Envoi d&#039;octets les données sont inverties\n  Câble,transmission finale();                           // condition d&#039;arrêt I2C</p>"},{"id":"text-4","type":"text","heading":"","plain_text":"En série,commencer(115200);\n  En série,imprimer(&quot; R  n&quot;) ;","html":"<p>En série,commencer(115200);\n  En série,imprimer(&quot; R  n&quot;) ;</p>"},{"id":"text-5","type":"text","heading":"","plain_text":"EEPROM,commencer(66);                                 // initialise EEPROM avec 64 octets\nmarque de saut:","html":"<p>EEPROM,commencer(66);                                 // initialise EEPROM avec 64 octets\nmarque de saut:</p>"},{"id":"text-6","type":"text","heading":"","plain_text":"// lire Eeeprom\n  pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je);\n  pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n  Port = EEPROM,lis(64);\n  Port + = EEPROM,lis(65) * 256;","html":"<p>// lire Eeeprom\n  pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je);\n  pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n  Port = EEPROM,lis(64);\n  Port + = EEPROM,lis(65) * 256;</p>"},{"id":"text-7","type":"text","heading":"","plain_text":"// si l&#39;EEPROM est vide\n  si (ssid[[[[0] == 255)\n  \n    En série,imprimer(&quot;SSID non configuré  r  n&quot;) ;\n    En série,imprimer(Continuer avec  &quot;Entrée &quot;  r  n &quot;) ;\n    tandis que (!En série,disponible())rendement();             // attend que le feuilleton arrive\n    InputEEPR();                                    // Sous-programme de configuration du WiFi\n    aller à marque de saut;","html":"<p>// si l&#039;EEPROM est vide\n  si (ssid[[[[0] == 255)\n  \n    En série,imprimer(&quot;SSID non configuré  r  n&quot;) ;\n    En série,imprimer(Continuer avec  &quot;Entrée &quot;  r  n &quot;) ;\n    tandis que (!En série,disponible())rendement();             // attend que le feuilleton arrive\n    InputEEPR();                                    // Sous-programme de configuration du WiFi\n    aller à marque de saut;</p>"},{"id":"text-8","type":"text","heading":"","plain_text":"Wifi,Mode(WIFI_STA);                              // mode station\n  Wifi,commencer(ssid. phrase secrète);\n  tandis que (Wifi,statut() ! = WL_CONNECTED)             // attente de la connexion\n  \n    retard(500);\n    En série,impression(&quot;.&quot;);\n    si (En série,disponible()) InputEEPR();            // sortie si quelque chose en série a été reçu\n                                                   // puis entrez le nom et le mot de passe wlan\n  serveur = Nouveau ESP8266WebServer(Port);              // Crée l&#39;objet serveur et passe le pointeur\n  En série,imprimer(&quot;&quot;);\n  En série,impression(&quot;Attaché à &quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;Adresse IP:&quot;);\n  En série,imprimer(Wifi,LocalIP());","html":"<p>Wifi,Mode(WIFI_STA);                              // mode station\n  Wifi,commencer(ssid. phrase secrète);\n  tandis que (Wifi,statut() ! = WL_CONNECTED)             // attente de la connexion\n  \n    retard(500);\n    En série,impression(&quot;.&quot;);\n    si (En série,disponible()) InputEEPR();            // sortie si quelque chose en série a été reçu\n                                                   // puis entrez le nom et le mot de passe wlan\n  serveur = Nouveau ESP8266WebServer(Port);              // Crée l&#039;objet serveur et passe le pointeur\n  En série,imprimer(&quot;&quot;);\n  En série,impression(&quot;Attaché à &quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;Adresse IP:&quot;);\n  En série,imprimer(Wifi,LocalIP());</p>"},{"id":"text-9","type":"text","heading":"","plain_text":"// connecte les événements\n  serveur-&gt;sur(&quot;/&quot;. Ereignis_Index);\n  serveur-&gt;sur(&quot;/Schalte.php&quot;. Ereignis_Befehl);","html":"<p>// connecte les événements\n  serveur-&gt;sur(&quot;/&quot;. Ereignis_Index);\n  serveur-&gt;sur(&quot;/Schalte.php&quot;. Ereignis_Befehl);</p>"},{"id":"text-10","type":"text","heading":"","plain_text":"serveur-&gt;commencer();  // démarre le serveur\n  En série,impression(&quot;HTTP Server a démarré sur le port:&quot;);\n  En série,imprimer(Port);","html":"<p>serveur-&gt;commencer();  // démarre le serveur\n  En série,impression(&quot;HTTP Server a démarré sur le port:&quot;);\n  En série,imprimer(Port);</p>"},{"id":"text-11","type":"text","heading":"","plain_text":"vide Ereignis_Befehl()      // exécuter quand &quot;http: ///schalte.php &quot;a été appelé","html":"<p>vide Ereignis_Befehl()      // exécuter quand &quot;http: ///schalte.php &quot;a été appelé</p>"},{"id":"text-12","type":"text","heading":"","plain_text":"chaîne relaisNr = serveur-&gt;mal(&quot;relais&quot;);          // reçoit le relais no\n  int z = relaisNr,toInt();                         // convertit une chaîne en entier\n  z&#8211;;                                              // 1 abzien, car les bits dans l&#39;octet proviennent de 0 zerzaelt\n  chaîne Etat = serveur-&gt;mal(&quot;Commutateur&quot;);\n  si (Etat == &quot;1&quot;) Bitset(sortie. z);            // lors de l&#39;activation, définissez le bit \n  si (Etat == &quot;0&quot;) BITCLEAR(sortie. z);          // Si vous voulez désactiver, réinitialisez le bit \n  carboniser k = 0;                                       // Variable temporaire pour l&#39;opération XOR\n  si (Etat == &quot;2&quot;) sortie ^ = Bitset(k. z);       // Commute le relais habituel avec XOR\n  Câble,commencer la transmission(IC);                       // adresse IC I2C\n  Câble,écrire(~sortie);                              // inverser l&#39;octet, avec &quot;0&quot; les relais sont activés\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C\n  // Serial.println (String (int (sortie)));\n  serveur-&gt;transmission(200. &quot;Texte simple&quot;. chaîne(int(sortie)) ); // envoyer la réponse au navigateur internet","html":"<p>chaîne relaisNr = serveur-&gt;mal(&quot;relais&quot;);          // reçoit le relais no\n  int z = relaisNr,toInt();                         // convertit une chaîne en entier\n  z&#8211;;                                              // 1 abzien, car les bits dans l&#039;octet proviennent de 0 zerzaelt\n  chaîne Etat = serveur-&gt;mal(&quot;Commutateur&quot;);\n  si (Etat == &quot;1&quot;) Bitset(sortie. z);            // lors de l&#039;activation, définissez le bit \n  si (Etat == &quot;0&quot;) BITCLEAR(sortie. z);          // Si vous voulez désactiver, réinitialisez le bit \n  carboniser k = 0;                                       // Variable temporaire pour l&#039;opération XOR\n  si (Etat == &quot;2&quot;) sortie ^ = Bitset(k. z);       // Commute le relais habituel avec XOR\n  Câble,commencer la transmission(IC);                       // adresse IC I2C\n  Câble,écrire(~sortie);                              // inverser l&#039;octet, avec &quot;0&quot; les relais sont activés\n  Câble,transmission finale();                           // condition d&#039;arrêt I2C\n  // Serial.println (String (int (sortie)));\n  serveur-&gt;transmission(200. &quot;Texte simple&quot;. chaîne(int(sortie)) ); // envoyer la réponse au navigateur internet</p>"},{"id":"text-13","type":"text","heading":"","plain_text":"vide Ereignis_Index()       // exécuter quand &quot;http: /// &quot;a été appelé","html":"<p>vide Ereignis_Index()       // exécuter quand &quot;http: /// &quot;a été appelé</p>"},{"id":"text-14","type":"text","heading":"","plain_text":"serveur-&gt;transmission(200. &quot;Texte / html&quot;. index html);        // HTML Websie est dans &quot;Index.h&quot;","html":"<p>serveur-&gt;transmission(200. &quot;Texte / html&quot;. index html);        // HTML Websie est dans &quot;Index.h&quot;</p>"},{"id":"text-15","type":"text","heading":"","plain_text":"vide boucle()","html":"<p>vide boucle()</p>"},{"id":"text-16","type":"text","heading":"","plain_text":"si (En série,disponible()) InputEEPR();              // si la série reçoit quelque chose\n  serveur-&gt;gérer le client();                           // traiter les événements du serveur","html":"<p>si (En série,disponible()) InputEEPR();              // si la série reçoit quelque chose\n  serveur-&gt;gérer le client();                           // traiter les événements du serveur</p>"},{"id":"text-17","type":"text","heading":"","plain_text":"vide InputEEPR()            // L&#39;accès WLAN et le port sont configurés ici","html":"<p>vide InputEEPR()            // L&#039;accès WLAN et le port sont configurés ici</p>"},{"id":"text-18","type":"text","heading":"","plain_text":"chaîne texte = &quot;&quot;;                                 // variable pour le numéro de port sous forme de texte\n  carboniser inser;                                       // variable pour RS232 caractères reçus\n  inser = En série,lis();\n  si (inser ! = 13)  revenir;                         // si PAS &quot;entrer&quot; puis quitte le sous-programme\nboucle:\n  En série,imprimer(&quot;&quot;);\n  En série,imprimer(&quot;S&#39;il vous plaît changer pour changer&quot;);\n  En série,impression(&quot;1er SSID:&quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;2ème mot de passe:&quot;);\n  En série,imprimer(phrase secrète);\n  En série,impression(&quot;3. Port du serveur:&quot;);\n  En série,imprimer(Port);\n  En série,imprimer(&quot;4ème sortie&quot;);\n  En série,imprimer(&quot;5. Réinitialiser&quot;);\n  En série,imprimer(&quot;&quot;);\n  tandis que (!En série,disponible()) rendement();              // attend que quelque chose soit reçu\n  inser = En série,lis();                            // recevoir la sélection\n  commutateur (inser)                                    // exécuter comme approprié\n  \n    Cas &amp; # 39; 1 &amp; # 39;:\n      En série,imprimer(&quot;Entrée SSID:&quot;);\n      pour (je = 0; je &lt; 32; je++)\n      \n        tandis que (!En série,disponible()) rendement();       // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)                          // Quand la ligne est complétée\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);                    // définit la fin de chaîne\n          Pause;                                    // laisse la boucle\n         autre  EEPROM,écrire(je. inser);             // a reçu le caractère suivant\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();                              // Décrivez la mémoire EEPROM en termes de technologie\n      pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je); // charge les nouvelles données dans les variables\n      Pause;","html":"<p>chaîne texte = &quot;&quot;;                                 // variable pour le numéro de port sous forme de texte\n  carboniser inser;                                       // variable pour RS232 caractères reçus\n  inser = En série,lis();\n  si (inser ! = 13)  revenir;                         // si PAS &quot;entrer&quot; puis quitte le sous-programme\nboucle:\n  En série,imprimer(&quot;&quot;);\n  En série,imprimer(&quot;S&#039;il vous plaît changer pour changer&quot;);\n  En série,impression(&quot;1er SSID:&quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;2ème mot de passe:&quot;);\n  En série,imprimer(phrase secrète);\n  En série,impression(&quot;3. Port du serveur:&quot;);\n  En série,imprimer(Port);\n  En série,imprimer(&quot;4ème sortie&quot;);\n  En série,imprimer(&quot;5. Réinitialiser&quot;);\n  En série,imprimer(&quot;&quot;);\n  tandis que (!En série,disponible()) rendement();              // attend que quelque chose soit reçu\n  inser = En série,lis();                            // recevoir la sélection\n  commutateur (inser)                                    // exécuter comme approprié\n  \n    Cas &amp; # 39; 1 &amp; # 39;:\n      En série,imprimer(&quot;Entrée SSID:&quot;);\n      pour (je = 0; je &lt; 32; je++)\n      \n        tandis que (!En série,disponible()) rendement();       // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)                          // Quand la ligne est complétée\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);                    // définit la fin de chaîne\n          Pause;                                    // laisse la boucle\n         autre  EEPROM,écrire(je. inser);             // a reçu le caractère suivant\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();                              // Décrivez la mémoire EEPROM en termes de technologie\n      pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je); // charge les nouvelles données dans les variables\n      Pause;</p>"},{"id":"text-19","type":"text","heading":"","plain_text":"Cas &amp; # 39; 2 &amp; # 39;:\n      En série,imprimer(&quot;Saisir mot de passe:&quot;);\n      pour (je = 32; je &lt; 64; je++)\n      \n        tandis que (!En série,disponible()) rendement();\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);\n          Pause;\n         autre EEPROM,écrire(je. inser);\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();\n      pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n      Pause;","html":"<p>Cas &amp; # 39; 2 &amp; # 39;:\n      En série,imprimer(&quot;Saisir mot de passe:&quot;);\n      pour (je = 32; je &lt; 64; je++)\n      \n        tandis que (!En série,disponible()) rendement();\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);\n          Pause;\n         autre EEPROM,écrire(je. inser);\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();\n      pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n      Pause;</p>"},{"id":"text-20","type":"text","heading":"","plain_text":"Cas &amp; # 39; 3 &amp; # 39;:\n      En série,imprimer(&quot;Port d&#39;entrée:&quot;);\n      pour (je = 0; je &lt; 5; je++)\n      \n        tandis que (!En série,disponible()) rendement();        // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;) Pause;                   // Quand la ligne est terminée, quitte pour la boucle\n        autre texte + = (carboniser)inser;\n      \n      texte + = &amp; # 39;  0 &amp; # 39;;                                 // définit la fin de chaîne\n      En série,imprimer(&quot; R  nOK&quot;);\n      Port = texte,toInt();                          // Crée un entier à partir de texte\n      carboniser* p;\n      p = réinterpréter_cast&lt;carboniser*&gt;(&amp;Port);           // crée un tableau d&#39;octets à partir d&#39;un entier\n      EEPROM,écrire(64. p[[[[0]);                       // et sauvegarder dans l&#39;EEPROM\n      EEPROM,écrire(65. p[[[[1]);\n      EEPROM,commettre();\n      Port = EEPROM,lis(64);                       // charge les nouvelles données dans les variables\n      Port + = EEPROM,lis(65) * 256;\n      Pause;","html":"<p>Cas &amp; # 39; 3 &amp; # 39;:\n      En série,imprimer(&quot;Port d&#039;entrée:&quot;);\n      pour (je = 0; je &lt; 5; je++)\n      \n        tandis que (!En série,disponible()) rendement();        // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;) Pause;                   // Quand la ligne est terminée, quitte pour la boucle\n        autre texte + = (carboniser)inser;\n      \n      texte + = &amp; # 39;  0 &amp; # 39;;                                 // définit la fin de chaîne\n      En série,imprimer(&quot; R  nOK&quot;);\n      Port = texte,toInt();                          // Crée un entier à partir de texte\n      carboniser* p;\n      p = réinterpréter_cast&lt;carboniser*&gt;(&amp;Port);           // crée un tableau d&#039;octets à partir d&#039;un entier\n      EEPROM,écrire(64. p[[[[0]);                       // et sauvegarder dans l&#039;EEPROM\n      EEPROM,écrire(65. p[[[[1]);\n      EEPROM,commettre();\n      Port = EEPROM,lis(64);                       // charge les nouvelles données dans les variables\n      Port + = EEPROM,lis(65) * 256;\n      Pause;</p>"},{"id":"text-21","type":"text","heading":"","plain_text":"Cas &amp; # 39; 4 &amp; # 39;:\n      Wifi,commencer(ssid. phrase secrète);\n      revenir;                                       // sortie du sous-programme InputEEPR ()\n      Pause;\n    Cas &amp; # 39; 5 &amp; # 39;:\n      esp,réinitialiser();\n      Pause;\n    défaut:\n      Pause;\n  \n  aller à boucle;                                    // Après être entré, retournez au menu","html":"<p>Cas &amp; # 39; 4 &amp; # 39;:\n      Wifi,commencer(ssid. phrase secrète);\n      revenir;                                       // sortie du sous-programme InputEEPR ()\n      Pause;\n    Cas &amp; # 39; 5 &amp; # 39;:\n      esp,réinitialiser();\n      Pause;\n    défaut:\n      Pause;\n  \n  aller à boucle;                                    // Après être entré, retournez au menu</p>"},{"id":"text-22","type":"text","heading":"","plain_text":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]","html":"<p>Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]</p>"}],"sections":[{"id":"text-1","heading":"Text","content":"#comprendre \n#comprendre \n#comprendre \n#comprendre                                    // bibliothèque I2C \n#include &quot;Index.h&quot; // contient le code HTML de la page Web d&#39;index \n// const char indexHtml[5423]= ;\ncarboniser ssid[[[[32] = &quot;1234  0&quot;;\ncarboniser phrase secrète[[[[64] = &quot;567890  0&quot;;\ncarboniser sortie = 0;                                    // états d&#39;action\ncarboniser IC = 32;                                       // Adresse du CI I2C\nint je. Port;\nESP8266WebServer *serveur;                           // pointeur sur le serveur de classes d&#39;objets\nEspClass esp;                                       // object esp à réinitialiser"},{"id":"text-2","heading":"Text","content":"vide installer()                // Exécuter une fois au démarrage"},{"id":"text-3","heading":"Text","content":"Câble,commencer(2. 0);                                 // Initialisation du bus I2C GPIO2-Data GPIO0-Clock\n  Câble,Réglage de l&#39;horloge(1000);                              // Freqenz I2C bus\n  // état initial 1111 11111 (relais désactivé)\n  Câble,commencer la transmission(IC);                       // adresse IC\n  Câble,écrire(~sortie);                              // Envoi d&#39;octets les données sont inverties\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C"},{"id":"text-4","heading":"Text","content":"En série,commencer(115200);\n  En série,imprimer(&quot; R  n&quot;) ;"},{"id":"text-5","heading":"Text","content":"EEPROM,commencer(66);                                 // initialise EEPROM avec 64 octets\nmarque de saut:"},{"id":"text-6","heading":"Text","content":"// lire Eeeprom\n  pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je);\n  pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n  Port = EEPROM,lis(64);\n  Port + = EEPROM,lis(65) * 256;"},{"id":"text-7","heading":"Text","content":"// si l&#39;EEPROM est vide\n  si (ssid[[[[0] == 255)\n  \n    En série,imprimer(&quot;SSID non configuré  r  n&quot;) ;\n    En série,imprimer(Continuer avec  &quot;Entrée &quot;  r  n &quot;) ;\n    tandis que (!En série,disponible())rendement();             // attend que le feuilleton arrive\n    InputEEPR();                                    // Sous-programme de configuration du WiFi\n    aller à marque de saut;"},{"id":"text-8","heading":"Text","content":"Wifi,Mode(WIFI_STA);                              // mode station\n  Wifi,commencer(ssid. phrase secrète);\n  tandis que (Wifi,statut() ! = WL_CONNECTED)             // attente de la connexion\n  \n    retard(500);\n    En série,impression(&quot;.&quot;);\n    si (En série,disponible()) InputEEPR();            // sortie si quelque chose en série a été reçu\n                                                   // puis entrez le nom et le mot de passe wlan\n  serveur = Nouveau ESP8266WebServer(Port);              // Crée l&#39;objet serveur et passe le pointeur\n  En série,imprimer(&quot;&quot;);\n  En série,impression(&quot;Attaché à &quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;Adresse IP:&quot;);\n  En série,imprimer(Wifi,LocalIP());"},{"id":"text-9","heading":"Text","content":"// connecte les événements\n  serveur-&gt;sur(&quot;/&quot;. Ereignis_Index);\n  serveur-&gt;sur(&quot;/Schalte.php&quot;. Ereignis_Befehl);"},{"id":"text-10","heading":"Text","content":"serveur-&gt;commencer();  // démarre le serveur\n  En série,impression(&quot;HTTP Server a démarré sur le port:&quot;);\n  En série,imprimer(Port);"},{"id":"text-11","heading":"Text","content":"vide Ereignis_Befehl()      // exécuter quand &quot;http: ///schalte.php &quot;a été appelé"},{"id":"text-12","heading":"Text","content":"chaîne relaisNr = serveur-&gt;mal(&quot;relais&quot;);          // reçoit le relais no\n  int z = relaisNr,toInt();                         // convertit une chaîne en entier\n  z&#8211;;                                              // 1 abzien, car les bits dans l&#39;octet proviennent de 0 zerzaelt\n  chaîne Etat = serveur-&gt;mal(&quot;Commutateur&quot;);\n  si (Etat == &quot;1&quot;) Bitset(sortie. z);            // lors de l&#39;activation, définissez le bit \n  si (Etat == &quot;0&quot;) BITCLEAR(sortie. z);          // Si vous voulez désactiver, réinitialisez le bit \n  carboniser k = 0;                                       // Variable temporaire pour l&#39;opération XOR\n  si (Etat == &quot;2&quot;) sortie ^ = Bitset(k. z);       // Commute le relais habituel avec XOR\n  Câble,commencer la transmission(IC);                       // adresse IC I2C\n  Câble,écrire(~sortie);                              // inverser l&#39;octet, avec &quot;0&quot; les relais sont activés\n  Câble,transmission finale();                           // condition d&#39;arrêt I2C\n  // Serial.println (String (int (sortie)));\n  serveur-&gt;transmission(200. &quot;Texte simple&quot;. chaîne(int(sortie)) ); // envoyer la réponse au navigateur internet"},{"id":"text-13","heading":"Text","content":"vide Ereignis_Index()       // exécuter quand &quot;http: /// &quot;a été appelé"},{"id":"text-14","heading":"Text","content":"serveur-&gt;transmission(200. &quot;Texte / html&quot;. index html);        // HTML Websie est dans &quot;Index.h&quot;"},{"id":"text-15","heading":"Text","content":"vide boucle()"},{"id":"text-16","heading":"Text","content":"si (En série,disponible()) InputEEPR();              // si la série reçoit quelque chose\n  serveur-&gt;gérer le client();                           // traiter les événements du serveur"},{"id":"text-17","heading":"Text","content":"vide InputEEPR()            // L&#39;accès WLAN et le port sont configurés ici"},{"id":"text-18","heading":"Text","content":"chaîne texte = &quot;&quot;;                                 // variable pour le numéro de port sous forme de texte\n  carboniser inser;                                       // variable pour RS232 caractères reçus\n  inser = En série,lis();\n  si (inser ! = 13)  revenir;                         // si PAS &quot;entrer&quot; puis quitte le sous-programme\nboucle:\n  En série,imprimer(&quot;&quot;);\n  En série,imprimer(&quot;S&#39;il vous plaît changer pour changer&quot;);\n  En série,impression(&quot;1er SSID:&quot;);\n  En série,imprimer(ssid);\n  En série,impression(&quot;2ème mot de passe:&quot;);\n  En série,imprimer(phrase secrète);\n  En série,impression(&quot;3. Port du serveur:&quot;);\n  En série,imprimer(Port);\n  En série,imprimer(&quot;4ème sortie&quot;);\n  En série,imprimer(&quot;5. Réinitialiser&quot;);\n  En série,imprimer(&quot;&quot;);\n  tandis que (!En série,disponible()) rendement();              // attend que quelque chose soit reçu\n  inser = En série,lis();                            // recevoir la sélection\n  commutateur (inser)                                    // exécuter comme approprié\n  \n    Cas &amp; # 39; 1 &amp; # 39;:\n      En série,imprimer(&quot;Entrée SSID:&quot;);\n      pour (je = 0; je &lt; 32; je++)\n      \n        tandis que (!En série,disponible()) rendement();       // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)                          // Quand la ligne est complétée\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);                    // définit la fin de chaîne\n          Pause;                                    // laisse la boucle\n         autre  EEPROM,écrire(je. inser);             // a reçu le caractère suivant\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();                              // Décrivez la mémoire EEPROM en termes de technologie\n      pour (je = 0; je &lt; 32; je++) ssid[[[[je] = EEPROM,lis(je); // charge les nouvelles données dans les variables\n      Pause;"},{"id":"text-19","heading":"Text","content":"Cas &amp; # 39; 2 &amp; # 39;:\n      En série,imprimer(&quot;Saisir mot de passe:&quot;);\n      pour (je = 32; je &lt; 64; je++)\n      \n        tandis que (!En série,disponible()) rendement();\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;)\n        \n          EEPROM,écrire(je. &amp; # 39;  0 &amp; # 39;);\n          Pause;\n         autre EEPROM,écrire(je. inser);\n      \n      En série,imprimer(&quot; R  nOK&quot;);\n      EEPROM,commettre();\n      pour (je = 32; je &lt; 64; je++) phrase secrète[[[[je &#8211; 32] = EEPROM,lis(je);\n      Pause;"},{"id":"text-20","heading":"Text","content":"Cas &amp; # 39; 3 &amp; # 39;:\n      En série,imprimer(&quot;Port d&#39;entrée:&quot;);\n      pour (je = 0; je &lt; 5; je++)\n      \n        tandis que (!En série,disponible()) rendement();        // attend que quelque chose soit reçu\n        inser = En série,lis();\n        En série,écrire(inser);\n        si (inser == &amp; # 39;  R &amp; # 39;) Pause;                   // Quand la ligne est terminée, quitte pour la boucle\n        autre texte + = (carboniser)inser;\n      \n      texte + = &amp; # 39;  0 &amp; # 39;;                                 // définit la fin de chaîne\n      En série,imprimer(&quot; R  nOK&quot;);\n      Port = texte,toInt();                          // Crée un entier à partir de texte\n      carboniser* p;\n      p = réinterpréter_cast&lt;carboniser*&gt;(&amp;Port);           // crée un tableau d&#39;octets à partir d&#39;un entier\n      EEPROM,écrire(64. p[[[[0]);                       // et sauvegarder dans l&#39;EEPROM\n      EEPROM,écrire(65. p[[[[1]);\n      EEPROM,commettre();\n      Port = EEPROM,lis(64);                       // charge les nouvelles données dans les variables\n      Port + = EEPROM,lis(65) * 256;\n      Pause;"},{"id":"text-21","heading":"Text","content":"Cas &amp; # 39; 4 &amp; # 39;:\n      Wifi,commencer(ssid. phrase secrète);\n      revenir;                                       // sortie du sous-programme InputEEPR ()\n      Pause;\n    Cas &amp; # 39; 5 &amp; # 39;:\n      esp,réinitialiser();\n      Pause;\n    défaut:\n      Pause;\n  \n  aller à boucle;                                    // Après être entré, retournez au menu"},{"id":"text-22","heading":"Text","content":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"}],"media":{"primary_image":""},"relations":[{"rel":"canonical","href":"https://tutos-gameserver.fr/2019/05/03/relais-i2c-a-8-canaux-via-controle-wlan-wifi-avec-serveur-web-esp8266-sur-le-reseau-serveur-dimpression/"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/05/03/relais-i2c-a-8-canaux-via-controle-wlan-wifi-avec-serveur-web-esp8266-sur-le-reseau-serveur-dimpression/llm","type":"text/html"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/05/03/relais-i2c-a-8-canaux-via-controle-wlan-wifi-avec-serveur-web-esp8266-sur-le-reseau-serveur-dimpression/llm.json","type":"application/json"},{"rel":"llm-manifest","href":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","type":"application/json"}],"http_headers":{"X-LLM-Friendly":"1","X-LLM-Schema":"1.1.0","Content-Security-Policy":"default-src 'none'; img-src * data:; style-src 'unsafe-inline'"},"license":"CC BY-ND 4.0","attribution_required":true,"allow_cors":false}