ESP8266 : RELAIS WIFI 1 CANAL

De GCE Electronics
Aller à la navigation Aller à la recherche

Relais WIFI

ESP8266 Relais presentation.png
Nom Relais WIFI
Famille Objets connectés
Wiki créé le 22/05/2018
Wiki mis à jour le 22/05/2018
Auteur fgtoul

Prérequis

Avant de pouvoir programmer le module NodeMCU, vous devez avoir installé l'environnement de développement.

Je vous invite à lire ce tutoriel


Présentation

Le montage que nous allons réaliser, permet de piloter un relais à distance avec l'ESP8266.

Nous utiliserons le module NodeMCU dans sa version LoLin, pour une programmation simplifiée par le port USB et la possibilité d'alimenter un relais 5V directement sur l'une de ses broches.

le schéma

Esp8266 Relais Schema.PNG
  • Le module NodeMCU est alimenté directement en 5V par son port USB.
  • Le module relais est un modèle avec Trigger. La broche Signal ("S") est connectée à la sortie D0 du NodeMCU.
Il suffira de piloter cette sortie via le programme afin d'activer ou désactiver le relais.
Le relais est alimenté par la sortie VU, qui est un report de la tension appliquée sur le port USB (5V).

Les fonctionalités

Grâce à sa connectivité Wifi intégrée, le module se connecte à un réseau wifi, via lequel il pourra communiquer avec le reste de l'installation domotique. A la fois client et serveur, notre module recevra des consignes sous la forme de requêtes Http et pourra répondre par une page HTML.

  • client Wifi. Le module se connecte automatiquement au réseau. Il est possible de lui appliquer une adresse IP statique.
  • informations (adresse IP locale) et retours d'état via le port série (USB) lorsqu'il est connecté à un PC.
  • Serveur Http activé au démarrage. Le client connecté au serveur recevra une réponse à chacune de ses requêtes, sous forme de page web.
  • la Led embarquée peut retourner des informations sur le statut des communications :
    • clignotement lent (5 fois) pour signaler une connexion correcte au réseau Wifi,
    • clignotement simple (1 fois) pour signaler la réception d'une requête correcte,
    • clignotement rapide (3 fois) pour signaler la réception d'une requête erronée.

L'environnement de programmation : Easycoding

Logo googleblockly.png

La programmation du module NodeMCU se fait soit en script LUA, soit en langage C++ via Arduino IDE.

Pour cette réalisation, nous écrirons un programme en langage C++

Afin de ne pas effrayer les débutants, nous utiliserons un générateur de code en ligne, qui permet une représentation simple et graphique du code, à la façon Google Blockly (bibliothèque logicielle javascript, Open Source de Google, créée en 2012).

Cet outil permettra aux débutant de configurer l'application, sans avoir à se préoccuper du langage.

Les lecteurs plus férus de programmation, pourront intervenir dans le code C++, après avoir injecté le code dans Arduino IDE..

Easycoding.tn

Pour accéder à l'interface de développement, rendez-vous sur le site Easycoding.tn

Dans le sous-menu TUNIOT FOR ESP8266, cliquez sur le bouton de vottre choix, afin d'accéder à l'interface dans votre langue préférée.

Easycoding.tn.png

L'outil prend un peu de temps pour s'ouvrir, mais devient très performant par la suite. Ne vous impatientez pas.

Easycoding.tn2.png

Voici l'interface, prête à recevoir le code.

Téléchargez et décompressez ce fichier : ESP8266_Relais.zip

Cliquez sur le bouton "Load XML" et sélectionnez le fichier XML précédemment téléchargé.

Easycoding.tn3.png

Validez par OK pour charger le fichier.

Le programme

Dans la boucle SETUP, nous trouvons tous les éléments de configuration, ainsi que le code qui ne sera exécuté qu'une fois lors du démarrage du module.

La configuration du réseau

ESP8266 Code Wifi.png

Modifiez la valeur de chaque variable : WIFI_SSID : remplacez la valeur MON_SSID par le SSID de votre réseau wifi WIFI_SECURITE : remplacez la valeur Ma_Cle_Wep par la clé WEP de votre réseau Wifi IPX800_IP : remplacez 192.168.000.112 par l'adresse IP de l'IPX800 V4.

Cette adresse IP sera utilisée pour le retour d'état via l'API IPX800.

IPX800_Port : remplacez la valeur 80 par le port paramétré sur l'IPX800 (port http)

La configuration des commandes API

ESP8266 Code API.png

NOM_DISPOSITIF : remplacez RelaisIPCAM1 par le nom que vous souhaitez attribuer à votre module API_Commande_ON : remplacez SetVO par une autre commande si vous ne souhaitez pas activer une sortie virtuelle sur l'IPX800 (SetR par exemple pour activer un relais) API_Commande_OFF : remplacez ClearVO par une autre commande si vous ne souhaitez pas désactiver une sortie virtuelle sur l'IPX800 (ClearR par exemple pour désactiver un relais) IPX800_SV_Retour : remplacez 05 par le numéro de la sortie virtuelle ou physique qui recevra le retour d'état.

ESP8266 Code API2.png

APIKEY_SECURE : renseignez 1 si vous avez activé la protection de l'API IPX800_KEY : remplacez apikey par votre clé API.