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).
Sommaire
- 1 ESP Easy (R120) ou ESP Easy Mega, attention à la confusion !
- 2 Récupérer les sources d’ESP Easy R120
- 3 Préparer le firmware ESP Easy R120
- 4 Personnaliser le firmware avec des modules du Playground
- 5 Mise à jour OTA (Over The Air) du firmware
- 6 Test : Affichage animé sur écran OLED SSD1306 (_P205_FrameOLED)
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 ?