Une amélioration possible
Sommaire du chapitre
Une amélioration possible
il est possible d'afficher l'adresse IP du serveur sur un écran OLED afin d'éviter d'ouvrir le moniteur série Arduino.
Pour cela, nous allons effectuer le branchement suivant :

Affichage de l'adresse IP sur l'écran OLED0.0890
Code complet avec l'écran OLED
Le code complet est disponible en faisant un clic-droit puis Copy link Adress sur le lien suivant :
#include Led ESP8266
\
Contrôle de la LED sur la broche D4
\
\
\
\
";
void setup() {
pinMode(LED, OUTPUT); //LED en sortie
Serial.begin(115200); //Communication à 115200 bits/s
WiFi.begin(ssid, password); //Connexion
Serial.println(""); //Retour à la ligne
delay(100);
while (WiFi.status() != WL_CONNECTED)
delay(500);
Serial.println(">>> Impossible de se connecter au réseau...");
if (MDNS.begin("esp8266")) //Multicast DNS
Serial.println(">>> Serveur MDNS activé");
Serial.println("Connexion au reseau ");
Serial.println(ssid);
Serial.println("avec l'adresse IP : ");
Serial.println(WiFi.localIP());
server.on("/", mainPage); //Affichage de la page principale si requête sur '/' -> saisir IP dans le navigateur
server.onNotFound(notFoundPage); //Affichage de la page d'erreur si adresse non valide
server.begin(); //Initialisation du serveur
Serial.println(">>> démarrage du serveur : OK");
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS))
Serial.println(F("Echec OLED"));
for(;;);
display.display(); //Affiche le logo Adafruit
delay(500);
display.clearDisplay(); //efface l'écran
display.setTextSize(1); //Facteur d'échelle
display.setTextColor(SSD1306_WHITE); //texte blanc
display.setCursor(0, 0); //Place le curseur en (0,0)
display.println("Connexion au reseau ");
display.println(ssid);
display.println("avec l'adresse IP : ");
display.println(WiFi.localIP());
display.display(); //met à jour le contenu
}//Fin setup
void loop()
server.handleClient(); //Gestion des clients sur le serveur
//Fin loop
void mainPage() //Page principale
{
if(server.arg("LED")=="ON") //Lecture de l'argument 'LED'
digitalWrite(LED, LOW); //On allume la led
display.clearDisplay();
display.setCursor(0, 0);
display.println("LED : 1");
display.display();
//Fin if
else if(server.arg("LED")=="OFF")
digitalWrite(LED, HIGH); //On eteint la led
display.clearDisplay();
display.setCursor(0, 0);
display.println("LED : 0");
display.display();
//Fin else if
else
//nothing
server.send(200, "text/html", minimalPageContent); //On envoie la page principale
}//FIn mainPage
void notFoundPage() //Gestion si mauvaise URL
server.send(404, "text/plain", "Page introuvable !");