Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

ateliers:esp-serveur-web:accueil

Ceci est une ancienne révision du document !


ESP-Serveur web

  • Porteur du projet : reso-nance Laurent
  • Date : 05/02/2020
  • Licence : libre !
  • Contexte : INIT'

Préparation

installation de l'IDE

  • Télécharger et installer l' IDE d'arduino
  • Activer l'affichage des numéros de lignes (fichier → préférences)

bibliothèques ESP8266

L'ESP8266 n'est pas un arduino comme les autre : il n'utilise pas de processeur atmel. Il est donc nécessaire de télécharger les bibliothèques ESP pour pouvoir l'utiliser avec l'IDE d'arduino.

  • Dans fichier → préférences → URL de gestionnaire de carte supplémentaire ajouter le lien suivant : http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Dans outils → type de carte → gestionnaire de carte attendre qu'il se mette à jour puis rechercher ESP en haut à droite et installer esp8266 by ESP8266 Community
  • redémarrer Arduino

Dans outils → type de carte de nouveaux modèles de cartes à base d'ESP8266 sont maintenant disponible. Pour le Lolin D1 mini utilisé dans cet INIT, choisir LOLIN(WEMOS) D1 R2 & mini Vérifier que l'ensemble de la chaîne fonctionne en ouvrant l'exemple Blink qui fait clignoter la LED intégrée : fichier → exemples → 01.Basics → Blink puis cliquer sur la petite flèche pour téléverser.

Servir une page web

en pratique

Ouvrir l'exemple HelloServer dans fichier → exemples → ESP8266WebServer → HelloServer Cet exemple contient tout le code nécessaire pour se connecter à un réseau WIFI, servir une page sommaire et afficher un GIF à l'arrière plan aléatoire. Pour qu'il puisse se connecter au réseau wifi, modifier les lignes 7 et 8 en remplaçant your-ssid par le nom du réseau wifi auquel vous êtes connectés et your-password par son mot de passe. Les deux sont sensibles à la casse. Téléverser ensuite le programme et ouvrir le moniteur série. Une fois l'ESP8266 connecté, il y affiche son addresse IP.

Dans un navigateur web, taper cette même adresse (ici http://10.0.120.43) et vous devriez voir s'afficher une page contenant le texte hello from esp8266!. L'adresse http://10.0.120.43/gif affichera un tout petit GIF représentant un smiley.

comment ça marche ?

On peut voir dans le code qu'à chaque adresse définie dans le setup correspond une fonction :

server.on("/", handleRoot);

exécutera la fonction handleRoot lorsqu'un tentera de se connecter à l'adresse/ qui correspond à la racine du serveur : c'est ce qu'on appelle une route. Les routes doivent toutes être déclarées dans le setup et ne peuvent être ajoutées dynamiquement.

Les fonctions appelées par les routes contiennent toutes un

server.send(CODE, MIME, VALEUR)

permettant au serveur de répondre. En effet, lorsqu'on tente d'accéder à une page web notre navigateur envoie une requête GET au serveur qui lui réponds en lui renvoyant la page html désirée. Dans ce cas, le CODE de la réponse est 200 (success), le type MIME des données sera text/html et sa VALEUR contiendra tout le code HTML nécessaire pour afficher la page. En l'absence de réponse au bout d'un certain temps, le navigateur considérera que le serveur est hors ligne et affichera une page d'erreur.

contrôler une LED

/home/resonancg/www/wiki/data/attic/ateliers/esp-serveur-web/accueil.1581070345.txt.gz · Dernière modification: 2020/02/07 11:12 de laurent