Domotique Open source & high Tech
Créer des objets connectés facilement avec ESP EASY

Créer des objets connectés facilement avec ESP EASY

Quand je vois des gens réaliser des objets connectés à partir de microcontrôleurs, ça me branche, je trouve au début que c’est abordable, quelque connections et le tour est joué, sauf que lorsque je passe à la programmation; là, un vrai calvaire m’attend toujours, et ça me gonfle enfin !

angry_worker

Aujourd’hui dans cet article/tuto, je vais vous présenter ESP Easy, un firmware pour faire des objets connectés, sans aucune ligne de code. Le principe, est d’injecter sur les microcontrôleurs à base d’ESP8266, un sketch embarquant un mini serveur web, sur lequel on va configurer nos capteurs, et créer de petits scripts ou ‘scénarios’ si vous voulez.

Si vous ne connaissez pas encore ESP8266, je vous dis en bref que c’est un microcontrôleur tout comme Arduino mais avec une connexion Wifi, il peut être programmé en C++ avec l’IDE ARDUINO, ainsi qu’en Python et Javascript, et Il existe sous différente variantes comme le WEMOS D1, et NODEMCU.

ESP Easy est un firmware idéal pour les débutants, il permet de réaliser en quelques minutes, de petits projets domotique, que ça soit des objets connectés, ou même un mini serveur domotique autonome.

Les objets réalisés peuvent communiquer en HTTP ou MQTT avec la plupart des serveurs domotique comme JEEDOM DOMOTICZ OPENHAB…etc, comme ils peuvent parler entre eux et échanger des informations et commandes.

Les modules ESP8266 supportés

ESP Easy peut être installé sur presque tous les composants dotés de la puce ESP8266, je cite ici ceux qui disposent d’une liaison USB, ce qui rend l’utilisation plus facile :

Wemos D1 mini

WEMOS D1 MINI

voir sur :   Amazon    Aliexpress

Wemos D1 mini pro

WEMOS D1 MINI pro

voir sur :   Amazon    Aliexpress

NodeMcu V2 ou V3

nodemcu v2

voir sur :   Amazon    Aliexpress

Plusieurs capteurs et actionneurs sont pris en charge, par ESP Easy (température, luminosité, mesure de courant, relai…etc.), Pour la liste complète cliquez ici

Parmi ceux que j’ai testé il y a :

DHT11 (température) : voir sur   Amazon   Aliexpress

Relai : voir sur  Amazon  1ch   Amazon 4ch    Aliexpress

Ecran Oled : voir sur   Amazon   Aliexpress

Mouvement : voir sur Amazon   Aliexpress

Flasher ESP Easy sur ESP8266

Le site d’ESP Easy nous propose une version stable du firmware (R120) et des versions en cours de développement (Mega), je vous invite d’utiliser la version v2.0 que j’ai déjà testé, et qui va bientôt devenir stable. Pour flasher le firmware, on va utiliser un outil développé par l’équipe ESP Easy mais qui est disponible seulement pour Windows, pour les autres OS on peut passer par l’IDE Arduino (tuto anglais)

Nous allons tout d’abord préparer l’ordinateur à recevoir le module ESP8266, en installant les drivers qui conviennent. Pour les Wemos D1 et NODEMCU, il existe deux type de drivers CH340 et CP2102 à identifier, selon le composant qui se trouve tout près du micro USB :

ch340-cp2102

télécharger et installer le driver CH340 ou CP2102.

ch340

Ensuite, pour télécharger la version v2.0 cliquez ici, cherchez une version v2.0, et cliquez sur le zip :

esp easy

Dé-zippéz l’archive et cliquez sur « FlashESP8266 »

esp-easy-flash

Dans la fenêtre qui s’ouvre :

esp-easy-flashtool

COM-port : le port où est branché notre modules ESP8266. Il est détecté automatiquement, sinon rendez-vous sur le gestionnaire de périphériques.

com_port

Firmware : on trouvera plusieurs versions du firmware selon la quantité de mémoire dont dispose le module, pour les Wemos D1 mini et NodeMcu ils disposent de 4Méga, on choisit donc la version ‘normal’ ‘4096’

Enfin, en clique sur ‘flash’

flash-esp-easy

Flash terminé, redémarrez le module par le bouton ou en retirant et réinsérant le câble USB, on aura l’apparition d’un nouveau SSID wifi ‘ESP_EASY_0’ on s’y connecte en indiquant le mot de passe ‘configesp’

point_d'acces

attendez quelques secondes, le navigateur s’ouvre automatiquement et vous dirige sur une page, (si rien ne se passe, tapez 192.168.4.1 dans votre navigateur)

Connectez le module à votre wifi, et attendre le compte à rebours jusqu’à l’apparition de l’adresse ip attribuée par votre routeur. Cliquez ensuite sur ‘proceed to main config’

esp-easy-wifi

espconfig0

configesp1

Explication du Firmware ESP EASY

Nous voilà avec un module ESP8266 embarquant un mini serveur web, si vous avez loupé l’adresse IP de votre module pendant la configuration du wifi, cherchez-la sur votre routeur, tapez-la dans le navigateur, et vous tombez sur une page à 8 onglets :

Onglet ‘Main’

Contient un résumé d’infos

configesp2

Unit : le numéro du module, quand on a plusieurs modules ESP EASY sur le réseau, il faut les différencier par des numéros, on verra que c’est nécessaire pour une communication MQTT et UDP

Local time : l’heure locale, apparait après ajout du serveur NTP.

Load : la charge système.

IP : l’adresse IP du module sur le réseau local.

GIT version : la version de firmware installé.

Uptime : le temps de fonctionnement depuis le dernier démarrage (en minutes)

Free Mem : la quantité de mémoire disponible

Wifi RSSI : l’intensité du signal wifi.

Node list : ici vous aurez apparaître les autres modules ESP Easy présents sur votre réseau.

Onglet ‘Config’

configesp3

Unit Name : le nom de votre module ESP EASY, par exemple ‘ESP01’ ou ‘Température_ salon’

Unit Number : numéro à attribuer pour différencier les modules sur le réseau.

Admin Password : mot de passe pour protéger l’accès à la configuration du module.

Wifi Settings

SSID : le wifi principal.

WPA Key : la clé du wifi principal.

Fallback SSID : vous pouvez ajouter un wifi alternatif en cas d’échec de connexion au SSID principal.

Fallback WPA Key : clé du wifi alternatif.

WPA AP Mode key : pour changer le mot de passe par défaut (configesp) de la connexion au point d’accès ‘ESP_EASY’

IP settings 

ESP IP : pour donner une IP fixe au module.

ESP GW : IP de votre routeur. Exemple ‘192.168.1.1’

ESP Subnet : masque du réseau, ‘255.255.255.0’

ESP DNS : mettre le Google DNS par exemple 8.8.8.8

Sleep Mode

Le sleep mode est utilisé en cas d’utilisation sur batterie, le module entre en sommeil pour x minutes, se réveille pour relever des valeurs, faire des tâches ou envoyer des informations.

Sleep awake time : Laisser à 0 pour désactiver le sleep mode, ou mettre le nombre de minutes de réveil voulue (je vous recommande de bien lire la documentation sur le sleep mode avant de l’utiliser)

Sleep Delay : le temps de sommeil.

Sleep on connection failure : si cochée, le module entre en someil en cas d’échec de connexion au wifi.

Onglet ‘Controllers’

configesp5

En cliquant Edit vous aurez à renseigner des informations concernant le contrôleur domotique. ESP Easy permet de communiquer en http et MQTT avec plusieurs logiciel domotique comme Domoticz, Jeedom, Openhab…etc, Il suffit de choisir le protocole souhaité, l’adresse IP et le port.

Onglet ‘Hardware’

configesp6

GPIO Led : pour suivre l’état du module par le clignotement d’une led. Choisir GPIO 2 avec ‘inversed Led’ cochée pour utiliser la petite led bleu du module.

GPIO SDA et GPIO SDL : pin DATA et CLOCK utilisés par les modules à communication I2C (écran Oled par exemple).

GPIO boot state : pour déterminer un état par défaut (défault, high, low) pour chaque pin.

Onglet ‘Devices’

En cliquant Edit, on pourra ajouter un module supporté par le firmware, renseigner le pin où est connecté, le temps pour chaque relevé, et autres réglages. on verra un exemple concret dans un prochain tutoriel.

configesp8

Onglet ‘Notifications’

Avec ESP Easy il est possible d’envoyer une notification par email ou faire bipper un buzzer, dans cette onglet on pourra configurer l’email et le pin où est branché le buzzer.  

configesp9

Onglet ‘Tools’

Sur cet onglet on trouve plusieurs outils et réglages avancées, comme on peut envoyer ou tester des commandes.

Ecrire par exemple ‘gpio 15 1’ et cliquer ‘submit’ pour allumer une led branché sur le pin 15 (D8)

configesp10

System

Reboot : pour redémarrer le module à distance sans avoir à le faire manuellement.

Log : pour lire le journal (log) en temps réel.

Info : informations détaillés sur le module.

Advanced : pour ouvrir les paramètres avancés, j’en parlerais plus bas en détails.

Show JSON : pour voir un aperçu JSON des variables qu’on a, ça permet de faire des requêtes pour récupérer certaines infos.

Pin state buffer : pour voir le statut d’un pin utilisé, ainsi que le plugin qui l’utilise.

Wifi

Connect : se connecter au wifi configuré.

Disconnect : se déconnecter du wifi configuré.

Scan : scaner les réseaux wifi disponible.

Interfaces

I2C : on clique dessus pour scanner les modules I2C branchés à notre module ESP EASY (un écran Oled par exemple).

Settings

Load : permet d’uploader un fichier de configuration qu’on a déjà sauvegarder.

Save : permet de sauvegarder un fichier config.txt contenant toute la configuration du module sauf les identifiants WIFI, utile pour faire une sauvegarde ou partager ce fichier avec quelqu’un.

Factory reset : restaurer le firmware à son état initial.

Firmware

Load : pour mettre à jour ou installer une version du firmware ESP Easy par wifi (OTA).

Filesystem

Flash : permet de voir les fichiers existants dans la mémoire interne.

Paramètres Avancés

Quand on clique sur Advanced sur l’onglet Tools on se retrouve avec une page pleine de paramètres importantes :

configesp11

Rules : en cochant cette case et en cliquant sur ‘submit’ on aura l’apparition d’un nouvel onglet contenant un éditeur de texte (de code). Avec une syntaxe simplifiée on peut exécuter des tâches suivant le déclenchement d’un événement, permettant ainsi de construire un petit serveur domotique autonome.

Controller settings

MQTT Retain Msg: pour informer le broker de retenir le message publié pendant un certain délai.

Message Delay : le délai de conservation du message par le broker.

NTP settings

Use NTP : à cocher pour activer la gestion du temps par le serveur NTP.

NTP hostname : l’adresse du serveur NTP.

DST settings (Daylight Saving Time)

Permet le réglage d’heure d’été.

Start : le jour du commencement d’heure d’été et l’heure du changement.

End : le jour de fin d’heure d’été et l’heure du changement.

Timezone Offset : décalage de l’heure (ex 60min pour +1h)

DST : à cocher pour activer l’heure d’été.

Log Settings :

Syslog IP : l’adresse IP de Syslog (gestion de log)

Syslog Level : le niveau de log Syslog.

Serial log Level : le niveau de log en port serial.

Web log Level : le niveau de log sur la page web ESP Easy.

Serial settings

Enable Serial port : activer la sortie de messages par serial port.

Baude Rate : baude rate du port serial.

Inter.ESPEasy Network

UDP port : le port UDP permettant la communication entre les modules ESP Easy.

Special and Experimental Settings

Là, aucune idée 🙂 mais je vous dis que se sont des réglages spéciaux et expérimentaux qui vont peut-être disparaître sur la version stable 😉

Mon tuto touche à sa fin, mais ce n’est que le début d’une longue série de tutoriels ESP Easy. J’espère que j’ai apporté une bonne nouvelle pour ceux qui veulent faire de la domotique pas chère sans avoir à coder, et pour ceux qui connaissent déjà ESP Facile 🙂 j’espère que j’ai bien expliqué la nouvelle version du firmware.  je vous donne rendez-vous très prochainement pour faire un capteur de température et humidité avec affichage Oled.

N’oubliez pas de suivre OpenDomoTech sur les réseaux sociaux et à bientôt !

Partager sur :

14 réflexions au sujet de “Créer des objets connectés facilement avec ESP EASY

  1. Super article. Je me suis acheté un petit kit pour m’amuser un peu, et puis le faire communiquer en MQTT avec du KNX. 2 choses bizarres quand même, impossible de faire connecter le module à mon wifi. Et quand je le branche en USB sur le Mac, plantage direct de la machine qui re-démarre. Je vais chercher voir d’où ça pourrait venir.

    • Bonjour Cristophe et bienvenue 🙂 avez-vous installer les drivers pour Mac ? le module est flashé sous Windows ? je recommande que vous essayez avec Windows, une fois flashé et connecté au Wifi, vous pouvez continuer toute la config sur Mac.

  2. Super tuto, j’ai une question, au sujet du sleep mode, j’ai raccordé gpio 16 et rst, j’ai testé en mettant 60 et 60 dans les deux pour un temps de sommeil et réveil de 60 sec chacun, et il se réveille bien au bout de 60 sec mais je vois à peine la led bleu clignoté et plus rien, mes valeurs de température ne sont pas envoyés à jeedom. J’aurais oublié quelque chose ?

    • essaye de sortir du sleep mode manuellement, tu met le jumper sur le ground au lieu du RST, redémarre ton esp8266 en retirant carrément l’alimentation. ensuite tu met 60 sur ‘sleep delay’ et 15 sur ‘awake time’ (60 c déja bcp et peut etre que ça met un bug dans le pgme) sauvegarde. retire l’alimentation, et rebranche le jumper sur RST, et regarde ce que ça donne. sinon il faut etre déja sûr que ça remonte les info à jeedom sans sleep mode

  3. Bonsoir
    j’ai flashé l’ESP8266-01 pas de problème
    Mais je ne voit pas le réseau wifi ESP_0
    pouvez vous m’aider
    cordialement
    Pierre

  4. Bonsoir Zakaria
    merci pour cette réponse rapide
    j’ai réussi à voir dans mes réseaux Wifi ESP_0
    j’ai paramétré l’onglet Main puis l’onglet Config
    puis plus rien ESP_0 à disparu de mes réseaux Wifi
    Pourquoi ?
    Cordialement
    Pierre

  5. Bonjour
    je me suis connecté sur ESP_0
    il m’a affecté une adresse ip 192.168.0.108 conformément à mon DHCP
    je me suis connecté au 192.168.0.108 ce qui m’a permis de commencé la configuration
    dans la page Config j’ai attribué une adresse fixe 192.168.0.60
    A partir de la, plus d’accès au 192.168.0.108 et mème au 192.168.0.108
    Quelle erreur de manipulation je fais ?
    Cordialement
    Pierre

  6. Bonsoir
    merci pour votre aide
    Au lieu d’avoir ESP_0 j’avais ESP_9A4FED (fin de l’adresse MAC)
    j’ai réussi à changer l’adresse 192.168.0.108 en 192.168.0.60
    je peux me connecter au 192.168.0.60 pour la config il me demande un mot de passe que j’ai saisi dans la config
    Tout fonctionne
    je vais essayé de l’utiliser avec un ds18b20 et jeedom
    excusez moi pour certaines fautes d’orthographe
    cordialement
    Pierre

  7. Bonjour
    j’ai beaucoup avancé dans mon projet
    j’utilise des ESP8266-01 que je flash avec ESP EASY FLASHER avec des DHT22 et JEEDOM
    je n’ai pas eu de problème avec 2 ESP8266-01, lorsque je flahes il me propose comme réseau ESP_0
    La configuration se passe sans problème en me connectant avec firefox à l’adresse 192.168.4.1/config
    pour les 2 autres ESP8266-01, je procède de la mème façon, après le flash l me propose comme réseau ESP_4BF217 qui est la fin de l’adresse mac de mon ESP en mode Ouvert. si je me connecte, il me met Limite,ouvert et impossible de faire la config
    pouvez vous m’aider ?
    Cordialement
    Pierre Chevalier

    • Salut Pierre, je n’ai jamais utilisé cet outil, si tu parle de ça https://www.letscontrolit.com/forum/viewtopic.php?t=3934 j’ai jeté un coup d’œil il parait intéressant, vu que tu peux renseigner ta config avant le flash. donc je te recommande de refaire le flash en renseignant ton wifi et son mdp et en fixant une adresse ip (en s’assurant qu’elle est libre sur ton routeur) comme ça tu n’aura pas à se connecter à 192.168.4.1 , tu te connecte directement sur l’adresse ip que tu as renseigné. si ça marche pas tu coches FORCE-DOUT. bonne chance

      • Bonsoir
        merci pour votre réponse rapide
        j’essaye toutes les solutions et j’obtiens un message d’erreur
        Error Unit do not have an IP
        pouvez vous m’aider ?
        je voudrais joindre les paramètres et les sorties mais je ne peux pas envoyer le fichier avec les imp écran
        Cordialement
        Pierre Chevalier

Laisser un commentaire

© 2018 Made with love by OumaWEB
Inline
Inline