Installation. De la connexion au WiFi à la page Web dynamique

Installation des outils

Elle repose sur l'installation des éléments suivantes :

  • l'IDE Arduino dans sa dernière version,
  • Visual Studio Code,
  • l'extension Arduino pour VS Code (version Microsoft).

En vidéo :

On ajoute ensuite les fichiers de définition des cartes à base d'ESP8266 dans Arduino.

Première application

Dans cette première application, on s'intéresse aux entrées/sorties. Je vous propose de câbler un circuit muni d'un bouton poussoir et d'une LED et vous explique comment coder un programme qui recopie l'état du bouton poussoir sur la LED. Enfin, le bouton poussoir est remplacé par un détecteur de mouvement.

Se connecter au réseau WiFi et gérer les événements WiFi

Dans cette partie, on découvre comment se connecter au réseau en abordant la gestion des événements de l'objet WiFi, ce que ne font pas les exemples courants dont la programmation bloquante est problématique. On commence par la création du projet et la connexion au réseau puis on procède à l'affichage d'informations diverses dont l'adresse IP. La fin de la vidéo s'attache à montrer comment utiliser les événements de l'objet WiFi pour prendre en compte les connexions, obtention d'adresse IP et déconnexion au moment où ils surviennent.

Mettre en place un serveur Web

On découvre maintenant comment mettre en place un serveur Web de façon à pouvoir agir à distance, via un navigateur, sur le comportement de l'ESP8266. Ici, on allume ou on éteint une LED.

Créer une page Web pour changer l'état d'une LED à distance

Maintenant que l'on sait traiter des requêtes html permettant de piloter le module par le WiFi, je vous propose de voir comment ajouter une page Web pour réaliser l'interface homme-machine du module. L'approche proposée ici repose l'usage de la directive PROGMEM pour stocker la page html dans la mémoire flash de l'ESP8266 et l'import cette page dans un objet String pour la modifier et indiquer l'état de la LED.

Rendre la page WEB dynamique

Il s'agit d'apporter une amélioration de la vidéo présentant la mise en place d'une page Web permettant le contrôle d'une LED à distance.
La page n'est plus rechargée à chaque interaction de l'utilisateur. Seule l'information d'état de la LED est mise à jour à partir d'un appel au serveur pour allumer ou éteindre la LED par un mécanisme de type AJAX avec l'avantage de limiter le trafic entre l'objet connecté et le navigateur. Un autre atout important est la disparition du scintillement provoqué par les mises à jour de la page Web lorsque celles-ci concernent la totalité de la page.

Vous pouvez contribuer par vos dons (1€, 5€, 10€ ou au choix) au développement de nouveaux tutoriaux nécéssitant d'investir dans du matériel spécifique, de financer la fabrication de circuits imprimés permettant d'illustrer certains aspects théoriques et pratiques...

Vous avez un compte PayPal ? Faites votre don en évitant les frais PayPal :

Vous n'avez pas de compte PayPal, cliquez sur le bouton ci-dessous :