ESPEASY utilisé le esp8266 sans coder

ESP Easy est un firmware Open Source qui permet de programmer les modules ESP8266 sans aucune ligne de code (page officielle du projet). ESP Easy à beaucoup évolué depuis la version 78 que j’avais utilisé dans mon précédent article qui expliquait comment réaliser un objet connecté à base à l’aide d’ESP Easy et le connecter à Jeedom. ESPEasy peut s’installer directement depuis l’IDE Arduino à partir du code source ou à l’aide d’un petit programme (uniquement disponible sous Windows). ESP Easy embarque un mini serveur web qui permet de configurer le module à distance. De très nombreux capteurs sont pris en charge : DS18B20/DHT11/DHT22 (température et humidité) TCR5000 (compteur de pulsation), BMP085/BMP280/BME280 (baromètre numérique) BH1750 (luminosité), Wiegand/PN532 (RFID), HC-SR05 (distance), IR, ADS1115 (4 entrées analogiques 16 bits I2C), INA219 (mesure de courant)… ainsi que des actionneurs (relais, led, servo, PWM…). ESP Easy intégré également (depuis la version R120) un éditeur de script qui permet de créer de petits scénarios, transformant l’ESP8266 en mini serveur domotique indépendant !

Pour cet article, j’ai utilisé la version R120 du firmware ainsi qu’une Wemos D1 Mini (article de présentation).

Installation du firmware ESPEasy sur un module ESP8266

Vous pouvez récupérer la dernière version stable du firmware sur cette page. La section Download se trouve en bas de page.

Une fois décompresse, le répertoire contient les éléments suivants :

  • 3 fichiers binaires en fonction de la taille de la mémoire flash du module de destination (512,1024 ou 4096 Ko)
  • flash.exe, le programme d’installation du firmware
  • Les sources du projet permettant l’installation depuis l’IDE Arduino et découvrir comment fonctionne ESP Easy

 

En fonction du module ESP8266 sur lequel vous allez installer ESP Easy, voici la taille de la mémoire disponible

512Ko esp8266 esp-01 module Wifi ESP-01 (bleu)ESP-201

ESP-12

1024Ko esp8266 esp-01 black noir 1Mo flash ESP-01 (noir)
4096Ko esp8266 Wemos D1 mini ESP-12E qui équipent les cartes NodeMCU ou Wemos D1 Mini par exemple

 

Installation du firmware à l’aide du programme flash.exe

Un fois que vous avez récupéré le port COM sur lequel est branché l’ESP8266, la taille de la mémoire, lancez flash.exe

Répondez aux trois questions :

  • Comport : le port com
  • Flash size : la taille de la mémoire flash de l’ESP utilisé
  • Build : indiquez le numéro de la version du firmware. Ici 120

 

Validez pour lancer l’installation.

espeasy installation firmware terminee

Premier démarrage d’ESP Easy : configuration WiFi

Après l’installation, le module ESP8266 reboot. ESP Easy embarque un serveur web qui permet d’accéder à l’interface de configuration du module. Au premier démarrage, vous trouverez l’ESP sur votre réseau WiFi. Ouvrez le gestionnaire de connexions WiFi et sélectionnez le réseau ESP_0.

Dans un navigateur internet, ouvrez l’adresse http://192.168.4.1/setup. Sur macOS, la fenêtre de connexion s’ouvre automatiquement après quelques secondes. Choisissez le réseau WiFi auquel l’ESP doit se connecter et indiquez le mot de passe.

Appuyez ensuite sur Connect.

Une fois connecté, l’adresse ip du module est affichée (quelques secondes !). Si vous avez loupé l’adresse, allez sur votre box internet ou routeur pour la retrouver.

 

espeasy adresse ip esp8266

Découverte de l’interface ESP Easy

L’ESP8266 est prêt à être utilisé. Découvrons maintenant comment ça fonctionne. Dans un navigateur internet, saisissez l’adresse ip de l’ES. L’interface Web d’ESP Easy est constituée de 4 onglets (+ 1 que nous verrons plus tard). Tout n’est pas documenté sur le Wiki du projet mais voici l’essentiel. Un grand nombre de réglages sont réservés à des applications avancées et peut être prévus pour des fonctions à venir (noeuds par exemple).

Page Main : résumé système

  • Load : la charge CPU
  • Uptime : temps en minutes de fonctionnement depuis la mise sous tension
  • WiFI RSSI : qualité de réception du réseau WiFi en dB
  • IP : adresse ip du module
  • GW : adresse ip de la box internet ou du routeur
  • Build : version du firmware
  • Unit : numéro du noeud (de 1 à 31). Attribué dans la page config.
  • STA/AP MAC : Adresses MAC
  • ID : identifiants du chip ESP et de la mémoire flash
  • Flash Size : taille de la mémoire flash
  • Boot cause : Cold boot (démarrage à froid) ou Manual reboot (après un appui sur le bouton reset)

Noeuds ESP Easy

Pour voir les autres modules ESP sur votre réseau il faut faire plusieurs réglages :

  • Attribuer un Unit nr (entre 1 et 31) pour chaque module
  • Attribuer un port UDP dans la page Tools / Advances / UDP Port



Page Config : configuration du module

Cette page permet de configurer les paramètres généraux du module :

  • Name : permet de nommer l’ESP. Le nom sera affiché dans la fenêtre du navigateur. Pratique lorsqu’on possède plusieurs objets à base d’ESP Easy
  • Admin Password : permet de protéger l’accès à l’ESP. Il est pris en compte après un reboot (reset) de l’ESP8266.
  • SSID/WPA Key : Identifiant et mot de passe d’accès au réseau WiFi.
  • WPA AP Mode Key : mot de passe pour se connecter depuis un smarphone ou tablette (configesp par défaut)
  • Unit nr : numéro du module ESP entre 1 et 31. Important si vous avez plusieurs modules et que vous utilisez le protocole MQTT.
  • Protocol et champs Controller : choix du protocole de communication (voir plus bas) et paramètres de ce protocole. Si vous ne souhaitez pas communiquer avec un serveur domotique ou distant, choisissez Standalone.
  • Sensor Delay : par défaut 60 secondes. Délai entre 2 mesures (et donc d’envoi au serveur).
  • Sleep Mode : active la mise en sommeil du module ESP8266. Conseillé si votre objet est alimenté sur batterie. On dispose de 30 secondes au démarrage pour accéder à l’interface Web et le désactiver si nécessaire. Pour certains modules il faut souder la broche 16 au Reset.

On peut attribuer une adresse ip fixe à l’ESP8266

  • IP : l’adresse ip désirée
  • GW : l’adresse ip du routeur ou de la box internet
  • Subnet  masque de sous réseau
  • DNS : adresse ip du serveur DNS (l’ip de votre routeur en général)

Page Hardware Settings

Cette page permet de configurer les GPIO du module et d’attribuer un comportement par défaut pour chaque entrées/sorties :

  • WiFi Status Led : fait clignoter une Led pour suivre l’activité WiFi
  • SDA et SDL : GPIO réservés pour les modules I2C
  • GPIO boot states : permet d’attribuer un état par défaut à chaque GPIO (default, input, Output HIGH, Output LOW)

Page Tools : réglages avancés et outils

Avant de tester ESP Esay sur un cas concret, passons à la page Tools pour découvrir ce qu’elle nous réserve :

System

  • Reboot : permet de redémarrer le module ESP8266. Pratique pour la maintenance, cela évite de se déplacer pour appuyer sur le bouton reset du module.
  • Log : un journal des événements. On va voir comment modifier le niveau de détail du journal un peu plus loin.

Page Advanced

Cette page contient des réglages avancés mais certains sont très utiles comme vous avez voir :

  • Subscribe/Publish Template : masque pour souscrire/publier sur un broker MQTT. Ce champ est rempli automatiquement lorsque le protocole MQTT est sélectionné
  • Message Delay : fréquence de publication des messages. Par défaut 1000ms (1 seconde). Si vous publiez sur ThingSpeak, augmentez le délai à 15000.
  • Use NTP : permet de récupérer l’heure sur internet
  • NTP Hostname : pour indiquer un serveur de temps. Par défaut c’est pool.ntp.org
  • Timezone Offset : décalage de temps. Pour la France, indiquez 120 (on ajoute 2h)
  • Daylight Saving Time : Mode heure d’été. Pris en compte si NTP est activé
  • Syslog IP : indiquez l’adresse ip d’un serveur syslog
  • Syslog level : niveau de détail des messages syslog
  • UDP port : port de communication entre les ESP. 514 est réservé pour syslog
  • Enable Serial port : active ou désactive la sortie des messages sur le port série
  • Serial log Level : niveau de détail des messages sur le port série
  • Web log Level : idem pour ole journal de l’interface web (bouton Log dans Tools)
    • 0 : aucun log
    • 1 : uniquement les erreurs
    • 2 : erreur + info
    • 3 : erreur + info + debug
    • 4 : erreur + info + debug détaillé
  • Baud Rate : baud rate du port série
  • WD I2C Address : adresse I2C du watchdog
  • Custom CSS : permet de personnaliser la présentation de l’interface Web. Le fichier doit s’appeler esp.css et ne pas dépasser 4 ko. Pour le télécharger, il faut aller dans Tools / Settings / Load
  •  Connection Failure Threshold : non documentée mais doit être le nombre d’échec de connexion au réseau WiFi afin d’éviter de vider la batterie. A confirmer.
  • Rules : active l’affichage et l’execution des règles.
 

 

Wifi

  • Connect : permet de se connecter au réseau WiFi configuré
  • Disconnect : déconnecte le module de réseau jusqu’au prochain reset/démarrage
  • Scan : scan le réseau Wifi

Interfaces

Très pratique, un scanner d’interface I2C qui liste tous les modules reliés à l’ESP. Par exemple ici, un baromètre numérique BMP180.

Settings

Permet de sauvegarder la configuration. Le fichier config.txt est télécharger sur votre ordinateur.

Permet de charger une configuration. Deux fichiers sont reconnus :

  • config.txt qui contient tous les paramètres du modules à l’exception des données de sécurité (Clé WPA, mot de passe). Vous pouvez échanger ce fichier sans risque. C’est utile pour faire une sauvegarde ou cloner votre projet.
  • esp.css : permet de personnaliser l’affichage de l’interface Le fichier ne doit pas dépasser 4ko.

Firmware

Permet d’installer sans fil un nouveau firmware. C’est le fichier bin qui se trouve dans le répertoire du firmware. On peut également fabriquer son propre firmware à partir du code source depuis l’IDE Arduino (instructions en anglais ici).

Command

ESP Easy met à notre disposition 35 commandes qui permettent de faire des tests, des opérations de maintenance, etc, directement depuis l’interface WEB. La liste complète des commandes est disponible ici en anglais. On peut même envoyer une commande depuis un ESP vers un autre ESP. Par exemple commander un relai branché sur le GPIO 5. Dans le champ command, saisissez

 

Sur le second ESP, le relai s’active et le log retrace l’historique des ordres.

Pour désactiver le relai, envoyez

Dans un prochain article nous verrons comment créer des règles.

 

Un articcle de projetsdiy

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *