Relais I2C à 8 canaux via contrôle WLAN (WiFi) avec serveur Web ESP8266 sur le réseau – Serveur d’impression

Author: Titanfall —

Short summary: #comprendre #comprendre #comprendre #comprendre // bibliothèque I2C #include "Index.h" // contient le code HTML de la page Web d'index // const char indexHtml[5423]= ; carboniser ssid[[[[32] = "1234 0"; carboniser phrase secrète[[[[64] = "567890 0"; carboniser sortie = 0; // états d'action carboniser IC = 32; // Adresse du CI I2C int je. Port; ESP8266WebServer […]

Quick overview

Site
Tutos GameServer
Canonical 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 version
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 version
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
https://tutos-gameserver.fr/llm-endpoints-manifest.json
Estimated reading time
6 minutes (348 seconds)
Word count
1160

Key points

Structured content

#comprendre #comprendre #comprendre #comprendre // bibliothèque I2C #include "Index.h" // contient le code HTML de la page Web d'index // const char indexHtml[5423]= ; carboniser ssid[[[[32] = "1234 0"; carboniser phrase secrète[[[[64] = "567890 0"; carboniser sortie = 0; // états d'action carboniser IC = 32; // Adresse du CI I2C int je. Port; ESP8266WebServer *serveur; // pointeur sur le serveur de classes d'objets EspClass 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 Câble,Réglage de l'horloge(1000); // Freqenz I2C bus // état initial 1111 11111 (relais désactivé) Câble,commencer la transmission(IC); // adresse IC Câble,écrire(~sortie); // Envoi d'octets les données sont inverties Câble,transmission finale(); // condition d'arrêt I2C

En série,commencer(115200); En série,imprimer(" R n") ;

EEPROM,commencer(66); // initialise EEPROM avec 64 octets marque de saut:

// lire Eeeprom pour (je = 0; je < 32; je++) ssid[[[[je] = EEPROM,lis(je); pour (je = 32; je < 64; je++) phrase secrète[[[[je – 32] = EEPROM,lis(je); Port = EEPROM,lis(64); Port + = EEPROM,lis(65) * 256;

// si l'EEPROM est vide si (ssid[[[[0] == 255) En série,imprimer("SSID non configuré r n") ; En série,imprimer(Continuer avec "Entrée " r n ") ; tandis que (!En série,disponible())rendement(); // attend que le feuilleton arrive InputEEPR(); // Sous-programme de configuration du WiFi aller à marque de saut;

Wifi,Mode(WIFI_STA); // mode station Wifi,commencer(ssid. phrase secrète); tandis que (Wifi,statut() ! = WL_CONNECTED) // attente de la connexion retard(500); En série,impression("."); si (En série,disponible()) InputEEPR(); // sortie si quelque chose en série a été reçu // puis entrez le nom et le mot de passe wlan serveur = Nouveau ESP8266WebServer(Port); // Crée l'objet serveur et passe le pointeur En série,imprimer(""); En série,impression("Attaché à "); En série,imprimer(ssid); En série,impression("Adresse IP:"); En série,imprimer(Wifi,LocalIP());

// connecte les événements serveur->sur("/". Ereignis_Index); serveur->sur("/Schalte.php". Ereignis_Befehl);

serveur->commencer(); // démarre le serveur En série,impression("HTTP Server a démarré sur le port:"); En série,imprimer(Port);

vide Ereignis_Befehl() // exécuter quand "http: ///schalte.php "a été appelé

chaîne relaisNr = serveur->mal("relais"); // reçoit le relais no int z = relaisNr,toInt(); // convertit une chaîne en entier z–; // 1 abzien, car les bits dans l'octet proviennent de 0 zerzaelt chaîne Etat = serveur->mal("Commutateur"); si (Etat == "1") Bitset(sortie. z); // lors de l'activation, définissez le bit si (Etat == "0") BITCLEAR(sortie. z); // Si vous voulez désactiver, réinitialisez le bit carboniser k = 0; // Variable temporaire pour l'opération XOR si (Etat == "2") sortie ^ = Bitset(k. z); // Commute le relais habituel avec XOR Câble,commencer la transmission(IC); // adresse IC I2C Câble,écrire(~sortie); // inverser l'octet, avec "0" les relais sont activés Câble,transmission finale(); // condition d'arrêt I2C // Serial.println (String (int (sortie))); serveur->transmission(200. "Texte simple". chaîne(int(sortie)) ); // envoyer la réponse au navigateur internet

vide Ereignis_Index() // exécuter quand "http: /// "a été appelé

serveur->transmission(200. "Texte / html". index html); // HTML Websie est dans "Index.h"

vide boucle()

si (En série,disponible()) InputEEPR(); // si la série reçoit quelque chose serveur->gérer le client(); // traiter les événements du serveur

vide InputEEPR() // L'accès WLAN et le port sont configurés ici

chaîne texte = ""; // variable pour le numéro de port sous forme de texte carboniser inser; // variable pour RS232 caractères reçus inser = En série,lis(); si (inser ! = 13) revenir; // si PAS "entrer" puis quitte le sous-programme boucle: En série,imprimer(""); En série,imprimer("S'il vous plaît changer pour changer"); En série,impression("1er SSID:"); En série,imprimer(ssid); En série,impression("2ème mot de passe:"); En série,imprimer(phrase secrète); En série,impression("3. Port du serveur:"); En série,imprimer(Port); En série,imprimer("4ème sortie"); En série,imprimer("5. Réinitialiser"); En série,imprimer(""); tandis que (!En série,disponible()) rendement(); // attend que quelque chose soit reçu inser = En série,lis(); // recevoir la sélection commutateur (inser) // exécuter comme approprié Cas & # 39; 1 & # 39;: En série,imprimer("Entrée SSID:"); pour (je = 0; je < 32; je++) tandis que (!En série,disponible()) rendement(); // attend que quelque chose soit reçu inser = En série,lis(); En série,écrire(inser); si (inser == & # 39; R & # 39;) // Quand la ligne est complétée EEPROM,écrire(je. & # 39; 0 & # 39;); // définit la fin de chaîne Pause; // laisse la boucle autre EEPROM,écrire(je. inser); // a reçu le caractère suivant En série,imprimer(" R nOK"); EEPROM,commettre(); // Décrivez la mémoire EEPROM en termes de technologie pour (je = 0; je < 32; je++) ssid[[[[je] = EEPROM,lis(je); // charge les nouvelles données dans les variables Pause;

Cas & # 39; 2 & # 39;: En série,imprimer("Saisir mot de passe:"); pour (je = 32; je < 64; je++) tandis que (!En série,disponible()) rendement(); inser = En série,lis(); En série,écrire(inser); si (inser == & # 39; R & # 39;) EEPROM,écrire(je. & # 39; 0 & # 39;); Pause; autre EEPROM,écrire(je. inser); En série,imprimer(" R nOK"); EEPROM,commettre(); pour (je = 32; je < 64; je++) phrase secrète[[[[je – 32] = EEPROM,lis(je); Pause;

Cas & # 39; 3 & # 39;: En série,imprimer("Port d'entrée:"); pour (je = 0; je < 5; je++) tandis que (!En série,disponible()) rendement(); // attend que quelque chose soit reçu inser = En série,lis(); En série,écrire(inser); si (inser == & # 39; R & # 39;) Pause; // Quand la ligne est terminée, quitte pour la boucle autre texte + = (carboniser)inser; texte + = & # 39; 0 & # 39;; // définit la fin de chaîne En série,imprimer(" R nOK"); Port = texte,toInt(); // Crée un entier à partir de texte carboniser* p; p = réinterpréter_cast<carboniser*>(&Port); // crée un tableau d'octets à partir d'un entier EEPROM,écrire(64. p[[[[0]); // et sauvegarder dans l'EEPROM EEPROM,écrire(65. p[[[[1]); EEPROM,commettre(); Port = EEPROM,lis(64); // charge les nouvelles données dans les variables Port + = EEPROM,lis(65) * 256; Pause;

Cas & # 39; 4 & # 39;: Wifi,commencer(ssid. phrase secrète); revenir; // sortie du sous-programme InputEEPR () Pause; Cas & # 39; 5 & # 39;: esp,réinitialiser(); Pause; défaut: Pause; aller à boucle; // Après être entré, retournez au menu

Click to rate this post! [Total: 0 Average: 0]

Topics and keywords

Themes: Serveur d'impression

License & attribution

License: CC BY-ND 4.0.

Attribution required: yes.

Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json

LLM Endpoints plugin version 1.1.2.