Comment fonctionne un module wifi ? Comment contrôler une LED depuis votre téléphone ?

Introduction

Le module wifi esp8266 est un module de communication wifi utilisable sur Arduino et Raspberry Pi. Ce Module peut recevoir et transmettre des données avec la liaison TX/RX et donc se comporte comme hôte pour vos applications Wifi.

Ce module va vous permettre d’apporter du wifi à tous vos projets électroniques. Il possède deux modes :

  • Station mode 

 L’esp8266 se connecte à un réseau wifi existant ( celui crée par votre routeur).

En mode station, l’esp8266 obtient l’ip du routeur auquel il est connecté. Avec cette adresse, il peut configurer un serveur Web et fournir des pages Web à tous les appareils connectés sous le réseau Wifi existant.

  • Point d’accès Wifi Mode

  Dans ce mode l’esp8266 créer on propre réseau wifi et joue le rôle de routeur.

Plusieurs périphériques comme votre téléphone ou un ordinateur peuvent s’y connecter. Néanmoins le point d’accès wifi crée par l’esp8266 n’est pas relié à internet.

Enfin vous pouvez connecter un maximum de 5 périphériques en même temps sur le module.

Par défaut, le module Wifi est configuré en point d’accès wifi. Il faudra donc lui indiquer dans un programme s’il doit se connecter à un réseau ou bien jouer le rôle du point d’accès wifi.

  • Voici les pins du esp8266 :

GND : La masse

GPIO2 : Broche programmable

GPIO0 : Deuxième broche programmale

RX : Receveur liaison UART

TX : Transmetteur liaison UART

CH_PD : A connecter en 3.3V

REST : Reset : permet de reset le programme. On le connecte sur 3.3V pour un fonctionnement normal et GND pour le reset.

VCC : Tension d’alimentation

Dans notre cours, la broche RST, GPIO0 et GPIO2 ne seront pas utilisées.

Comment refaire nos circuits Fritzing ?

Pour reproduire nos circuits avec le module esp8266, vous avez besoin de télécharger le composant. On vous laisse regarder sur notre cours sur fritzing pour l’installer.

Librairie esp8266

Pour faire fonctionner votre programme, vous pouvez utiliser la librairie esp8266 qui va faciliter le contrôle du module. C’est une librairie en .zip, il vous faudra juste la télécharger puis indiquer au logiciel Arduino IDE ou la trouver.

Vous devez ensuite installer la carte Esp3266 afin que le programme se compile et téléverse en fonction de celle-ci. Pour cela vous devez aller dans outils puis manager de carte et taper esp8266 :

Une fois la carte installée, vous devez choisir la carte Esp8266 comme carte à programmer pour que le programme fonctionne :

Vous êtes maintenant prêt pour utiliser. Si vous avez du mal à l’installer, on vous conseille notre cours sur les librairies.

Schéma du circuit

Voici le schéma du circuit dont on aura besoin pour faire fonctionner les programmes.

Les premières broches en vert les plus haute corresponds à la première ligne de broche sur votre module wifi. La ligne de broche la plus en bas corresponds à la deuxième ligne sur le module wifi.

Le circuit en change pas pour tous les programmes.

Débrancher les bornes RX et TX avant de téléverser les programmes !

Comme vous avez pu voir dans le schéma du circuit, les bornes RX et TX de la carte arduino sont liés au module wifi. Les fils de liaison des bornes RX et TX doivent impérativement être débranché avant de téléverser un programme et rebranché après si vous souhaitez ne pas avoir d’erreur lors du téléversement.  Vous avez plus d’information dans problème de téléversement.

Se connecter à un point d'accès Wifi

On va maintenant voir comment connecter votre module esp8266 à votre réseau wifi. Pour cela on va utiliser le module en tant que client, car il va se connecter au réseau et pas en créer un. Le schéma lié avec le programme est celui montré dans la partie précédente.

Scanner les points d'accès wifi

Une autre manière de voir notre réseau wifi est de scanner tout les réseaux wifi aux alentours. Pour cela on va utilisé la fonction Wifi scan network qui va permettre de faire la recherche :

Envoyer un message sur le réseau Wifi

On va maintenant voir comment se connecter à un réseau et envoyer un message dessus. On verra ensuite la réponse du réseau par rapport à notre requête :

Créer un point d'accès Wifi

On va maintenant voir comment utiliser le module esp8266 comme un hôte. Il va donc prendre la place du routeur et les périphériques pourront se connecter dessus. Néanmoins il ne sera pas relié à internet. Ici le ssid et le mot de passe pour se connecter sont :

  • ssid : Arduino_Factory
  • Mot de passe  : Arduino_Factory_12!

Vous pouvez le changer à votre convenance dans le programme.

Créer un serveur HTTP

Maintenant que l’on sait comment utiliser le module esp8266 en tant qu’hôte, nous allons créer un serveur HTTP pour y partager des informations à tous les périphériques connecté à notre réseau wifi.

Qu'est-ce qu'un serveur HTTP ?

Un serveur HTTP est une page web que l’on peut voir tapant la bonne adresse sur votre navigateur web. Ici le routeur n’est pas connecté à internet, donc vous devez taper une adresse bien spécifique pour accéder à la page hebergé par celui-ci . Cette adresse sera affiché dans le moniteur série.

Avec cette page http vous pouvez créer une application pour contrôler une led avec des boutons par exemple.

Vous allez avoir besoin de vous conencter au réseau wifi crée par le module. Voici les codes par défaut :

  • ssid : Arduino_Factory
  • Mot de passe  : Arduino_Factory_12!

Controler une led depuis une application

On va maintenant voir comment contrôler une led depuis votre téléphone grâce à l’application Blynk et le module esp8266.

Le module Wifi va jouer le rôle d’interpreteur entre le téléphone et la led. Pour cela il va falloir connecter votre téléphone et le module wifi sur le même réseau.

a) Installation de la librairie

La première chose à faire est d’installer la librairie Blynk qui va permettre la liaison entre l’application et la carte Arduino. Pour cela vous devez aller dans le manageur de librairie et taper blynk :

b) Téléverser le Programme

Une fois la librairie installée, il vous reste qu’à téléverser le programme sur votre carte Arduino. N’oubliez d’installer la librairie du module esp8266 qui se trouve dans la partie Librairie esp8266.

c) Installer l’application Blynk

Il vous reste ensuite à installer l’application Blynk et vous pourrez controler votre LED !

Les problèmes de téléversement

En faisant ce cours, on a voulu lister les erreurs possible de téléversement de votre programme sur le module wifi.

a) Oublier de débrancher RX/TX

Comme vous avez pu le voir sur le circuit, les bornes RX et TX de la carte arduino sont reliés au module wifi. Les deux fils qui relie le module à la carte doivent être impérativement débranché juste avant l’upload de votre programme et les rebrancher après avoir téléverser le programme.

Voici l’erreur d’erreur si on oublie de le faire :

b) Mauvais branchement  

Il se peut que vous vous êtes trompé dans les branchements,  vous obtiendrez cette erreur :

c) Oublier de télécharger la librairie ou de choisir le module

Il se peut que d’autre problèmes appraraissent, comme des problèmes de compilation de votre programme ou bien des problèmes de téléversement de celui-ci. On vous laisse regarder nos cours sur le sujet.

Pour aller plus loin...

Il existe d’autre modules permettent de contrôler la carte Arduino à distance…

On peut notamment cité le capteur bluetooth HC-05 qui permet aussi de contrôler des composants comme des LED et le moteur à courant continu à partir de notre application Arduino Factory !

module Bluetooth hc05