ESP Easy R120. Installation OTA, Firmware personnalisé, Playground • Domotique et objets connectés à faire soi-même

ESP Easy est un projet Open Source, il est donc possible d’apporter des modifications ou d’ajouter des modules en cours de développement en fonction de nos besoins. ESP Easy dispose d’un dépôt dédié (Playground) à l’expérimentation de modules sur GitHub. Tous les modules sont listés sur cette page.

Dans l’article précédent, nous avons vu comment installer le firmware sur un ESP8266 à l’aide de utilitaire flashtool, les principaux réglages (Wi-Fi, heure…), comment communiquer avec les protocoles domotiques, comment créer des devices, etc…. Dans ce tutoriel, nous allons voir comment personnaliser le firmware, exporter le binaire compilé et mettre à jour le firmware ESP Easy dans les airs en WiFi (OTA).

ESP Easy (R120) ou ESP Easy Mega, attention à la confusion !

Il existe 2 branches (versions) d’ESP Easy ce qui peut entraîner une certaine confusion lorsqu’on débute.

ESP Easy est la version stable (R120) que l’on peut récupérer sur cette page. L’installation à partir de la compilation du code source est difficile (impossible) avec les versions récente de l’IDE Arduino. En cas de problème, utilisez l’utilitaire ESP Tools d’Espressif. Tout est expliqué étape par étape dans ce tutoriel.

ESP Easy Mega est la version en cours de développement disponible ici. Elle embarque plus de plugins, une nouvelle interface et supporte (quelques) cartes de développement ESP32. Pour en savoir plus, vous pouvez lire cet article de présentation. Attention, pour fonctionner votre carte ESP8266 doit au moins disposer d’1MB de mémoire flash (attention à bien choisir votre module ESP-01)

Récupérer les sources d’ESP Easy R120

Récupérez le code source et l’utilitaire d’installation d’ESP Easy sur cette page. Installez ESP Easy en suivant ce guide.

Préparer le firmware ESP Easy R120

Dans le répertoire d’ESP Easy, allez dans le dossier sources et ouvrez le fichier espeasy.ino depuis l’IDE Arduino.

Avant de pouvoir compiler, il faut installer manuellement les librairies nécessaires au firmware depuis l’IDE Arduino. Elles sont disponibles dans le répertoire Libraries. Depuis l’IDE, installez les librairies suivantes :

  • ArduinoJson
  • IRremoteESP8266
  • LiquidCrystal_I2C
  • pubsubclient

Depuis le menu Croquis -> Inclure une bibliothèque, sélectionner l’option Ajouter la bibliothèque .ZIP

Puis sélectionner le dossier de la librairie à installer (sans l’ouvrir) puis cliquer sur choisir. Recommencer l’opération pour chaque librairie.

Personnaliser le firmware avec des modules du Playground

Récupérez les modules du playground et décompressez l’archive : https://github.com/ESP8266nu/ESPEasyPluginPlayground

Une page du forum esp8266.nu est dédiée au playground : http://www.esp8266.nu/forum/viewtopic.php?t=718

Les contrôleurs sont préfixés par _C. Les plugins sont préfixés _P et sont numérotés entre 100 et 199.

Le playground contient les contrôleurs et plugins suivants actuellement

Nom Contrôleur Plugin
_C022 Pimatic RestApi X
_C025 Protocole HTTP générique X
_P100_SRF01 Mesure de distance par ultrason – SRF01 X
Montre à partir de NeoPixel Adafruit X
Pont vers Nodo X
_P103_Event Action sur événement : boot, timer, action utilisateur, heure, tâche X
_P104_SRF02 Mesure de distance par ultrason – SRF02 X
_P105_RGBW Piloter des ampoules MiLight X
_P107_Email_Demo Envoi d’un email (démo, n’est pas relié à un GPIO) X
_P108_WOL Wake On Lan. Utilité limitée car le module WiFi est inactif en mode deepsleep X
_P109_RESOL_DeltaSol_Pro Communication avec le régulateur solaire RESOL DeltaSol Pro X
_P110_P1WifiGateway Pour sheild P1 WiFi X
_P111_SenseAir Pour récupérer les mesures des capteurs de CO2 S8 et K30 (en cours) SenseAir X
_P112_Power Calculateur de puissance électrique X
_P113_SI1145 Pour capteur SI1145 Adafruit UV, IR, Visible X
_P114_DSM501 Pour détecteur de poussières DMS501A X
_P115_HeatpumpIR Piloter une climatisation ou (pompe à chaleur) par IR. D’après la librairie originale de ToniA. Commandes prises en charge : marche/arrêt, mode, vitesse ventilateur, température, inclinaison verticale et horizontale du flux d’air. Principaux modèles supportés : Panasonic ( E9/E12-CKP, E9/E12-DKE, E9/E12-JKE  E9/E12-NKE), Midea (MSR1-12HRN1-QC2, MOA1-12HN1-QC2), Carrier (42NQV035G, 38NYV035H2), Fujitsu Nocria (AWYZ14, MSZ FD-25), Sharp AY-ZP40KR, Daikin (RXS25G2V1B, FVXS25FV1B), Mitsubishi Heavy (SRKxxZJ-S, SRKxxZM-S) X
_P120_Thermocouple Pour utiliser des thermocouples d type K (-200°C à +1350°C) MAX6675 ou MAX31855 X
_P199_RF443_KaKu Pour émetteur / récepteur RF Kaku 433 Mhz pour piloter des appareils domotiques Klik-Aan-Klik-Uit X
_P205_FrameOLED Affichage animé pour écran OLED 0.96” SSD1306 monochrome X
_P209_IFTTTMaker En cours de développement X
_P210_MQTTImport Souscription à un broker MQTT X

Pour certains plugins, vous aurez peut être besoin de chercher sur GitHub des librairies supplémentaires.

Sélectionnez la carte ESP8266 sur laquelle vous voulez installer le firmware.

Une fois que vous avez ajouté les modules, faites une vérification du code pour vérifier s’il ne manque pas des librairies supplémentaires. Une fois que le firmware est prêt, allez dans le menu croquis et lancez la préparation du fichier binaire à l’aide de l’option Exporter les binaires compilés.

Le binaire est créé dans le dossier source du firmware. Pour la WeMos, le binaire est nommé ESPEasy.ino.d1-mini.bin

Mise à jour OTA (Over The Air) du firmware

Le firmware ESP Easy supporte la mise à jour sans fil ce qui est très pratique si votre projet est déjà en service.

Sauvegarder la configuration

Même si la mise à jour ne supprime pas la configuration, il est préférable de faire une sauvegarde de votre configuration avant de faire une mise à jour. Le fichier de configuration est téléchargé automatiquement sur votre ordinateur.

Installation du nouveau firmware

De retour sur la page Tools, cliquez sur Load à coté de Firmware.

Indiquez le chemin vers le fichier binaire créé précédemment puis upload.

Après installation, l’ESP8266 redémarre.

C’est terminé !

Test : Affichage animé sur écran OLED SSD1306 (_P205_FrameOLED)

Dans l’article précédent nous avons vu comment utilisé un écran OLED SSD1306. L’affichage est basique (mais efficace). Si vous voulez un affichage plus sympa, je vous propose de tester le plugin _P205_FrameOLED qui permet d’animer les pages d’info. Si vous voulez afficher des graphismes, c’est aussi une bonne base de développement.

Commencez par ajouter le plugin _P205_FrameOLED en le déposant dans le projet ESPEasy.ino. Ajoutez la librairie esp8266-oled-ssd1306.zip qui se trouve dans le même répertoire que le plugin.

Compilez et mettez à jour le firmware comme précédemment.

Ajoutez un nouveau Device. Dans la liste choisissez Display – OLED SSD1306 Framed. On retrouve une page presque identique au module officiel. Une nouvelle liste de choix permet de choisir la vitesse d’affichage de chaque page :

  • Très lent (very slow)
  • Lent (slow)
  • Rapide (Fast)
  • Très rapide (Vey fast)
  • Sans scrolling (Instant)

On a 12 lignes disponibles. Chaque ligne correspond à une page. Le plugin saute les pages (ligne) vides. J’ai repris le petit projets de l’article précédent qui affiche la température et l’humidité mesurée par un DHT22 et la pression atmosphérique d’un BMP180.

On peut regrouper plusieurs lignes (entre 1 et 4) par page (frame). Avec une ligne par page, on sera limité à 10 caractères (pas de quoi en écrire un romain, mais au moins c’est gros). Choisissez le nombre de ligne par page dans la liste de choix Lines per Frame (1 à 4).

Et voici ce que ça donne en image. Sur la partie supérieure de l’écran on trouve l’heure affichée, le nom du Device et le niveau de réception du WiFi. Su la partie centrale, la page (la ligne de texte). En bas de l’écran, un point symbolise la position de la page dans la liste.

Avec 2 lignes par page

Et 4 lignes par page

Le playground recèle bien des surprises, à vous de tester et d’aller plus loin pour vos futurs projets DIY.

Avez-vous aimé cet article ?