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
- #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() !
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.