L’équipe de développement d’ESP Easy Mega vient de publier une première version du firmware adapté à l’ESP32. Dans l’article précédent, nous avons découvert le firmware MicroPython installé par défaut par Wemos sur sa nouvelle carte de développement LoLin32 Lite. Je vous propose aujourd’hui d’installer le firmware ESP Easy qui a été adapté pour fonctionner sur cette carte.
La version 20000 d’ESP Easy Mega est une version de développement qui comporte très certainement de nombreux bugs mais les premiers tests sont déjà très concluant. Pour le moment, le firmware semble fonctionner uniquement sur la nouvelle Wemos LoLin32 Lite. J’ai tenté sans succès de l’installé sur une carte ESP32 générique Geekcreit.
Sommaire
De quoi avez-vous besoin ?
Le firmware est disponible au téléchargement sur cette page. Il est livré sous la forme d’un fichier ZIP qui contient les fichiers suivants :
- Le fichier binaire (ou plutôt les fichiers) du firmware à téléverser sur l’ESP32.
- Un script d’installation OTA (Over The Air) pour l’installation sans fil (flashOTA), non testé
- Un script d’installation via le port série (flashSerial)
- Les outils esptool et espota utilisés par les scripts
Téléchargez et décompressez le fichier ESPEasy32 R20000. Pour le moment, il vous faudra donc un PC sous Windows pour installer le firmware. Si vous êtes sous Linux ou macOS, il suffira d’adapter la commande d’appel du script esptool.py
esptool.exe --chip esp32 --port COM%comport% --baud 256000 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader.bin 0x10000 ESPEasy32_R%build%.bin 0x8000 ESPEasy.ino.partitions.bin
deviendra
sudo python esptool.py --chip esp32 --port /dev/ttyXXX --baud 256000 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader.bin 0x10000 ESPEasy32_R%build%.bin 0x8000 ESPEasy.ino.partitions.bin
Pour en savoir plus sur le script esptool.py, lisez cet article précédent.
Pour le moment le firmware n’a été validé que sur la Wemos LoLin32 Lite. J’ai tenté ma chance avec une carte de développement Geekcreit…sans succès. Le firmware s’installe mais reboot en boucle.
Installation du drivers CH341
La LoLin32 embarque un convertisseur Série vers USB CH341C. Il est très probable que la Wemos LoLin32 Lite ne soit pas reconnue par Windows, macOS ou Linux au branchement. Suivez ce tutoriel pour installer le drivers qui convient à votre système.
Une fois que le drivers aura été installé, connectez la carte ESP32 à votre PC puis ouvrez PowerShell ou l’invite de commande et exécutez la commande mode pour trouver le port COM sur lequel est branché la carte.
C:\Windows\system32>mode Statut du périphérique COM3: ---------------------------- Baud : 115200 Parité : None Bits de données : 8 Bits d’arrêt : 1 Temporisation : OFF XON/XOFF : OFF Protocole CTS : OFF Protocole DSR : OFF Sensibilité DSR : OFF Circuit DTR : ON Circuit RTS : ON Statut du périphérique CON: --------------------------- Lignes : 9001 Colonnes : 121 Vitesse clavier : 31 Délai clavier : 1 Page de codes : 850
Installation du firmware ESP Easy pour ESP32
Lancez le script d’installation flashSerial. L’invite de commande s’ouvre. Indiquez le port COM (ici 3) puis le numéro de version (ici 20000). L’installation débute immédiatement. A la fin de l’installation, appuyez sur une touche pour redémarrer la carte.
Comport (example 3, 4, ..) :3 Build (example 20000, ..) :20000 Using com port: 4 Using bin file: ESPEasy32_R20000.bin esptool.py v2.1 Connecting........_ Chip is ESP32D0WDQ6 (revision 0) Uploading stub... Running stub... Stub running... Changing baud rate to 256000 Changed. Configuring flash size... Auto-detected Flash size: 4MB Compressed 8192 bytes to 47... Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 5957.9 kbit/s)... Hash of data verified. Flash params set to 0x022f Compressed 11072 bytes to 7420... Wrote 11072 bytes (7420 compressed) at 0x00001000 in 0.3 seconds (effective 285.7 kbit/s)... Hash of data verified. Compressed 820960 bytes to 505252... Wrote 820960 bytes (505252 compressed) at 0x00010000 in 21.0 seconds (effective 312.9 kbit/s)... Hash of data verified. Compressed 3072 bytes to 122... Wrote 3072 bytes (122 compressed) at 0x00008000 in 0.0 seconds (effective 1755.4 kbit/s)... Hash of data verified. Leaving... Hard resetting...
Pour vous assurer que tout est correct, ouvrez le moniteur série depuis l’IDE Arduino. Vous devriez avoir un compte rendu de démarrage qui indique que la carte est démarrée en mode AP (Access Point) avec l’adresse IP par défaut 192.168.4.1.
INIT : Booting version: (custom) INIT : Cold Boot FS : Mounting... INIT : Free RAM:157580 INIT : I2C INIT : SPI not enabled WIFI : AP Mode disabled WIFI : AP Mode ssid will be ESP_Easy_0 with address 192.168.4.1 WIFI : Could not connect to AP! WIFI : AP Mode enabled OTA : Arduino OTA enabled on port 8266 WD : Uptime 0 ConnectFailures 0 FreeMem 96652
Tout fonctionne, la carte est en attente d’une configuration WiFi valide. On se retrouve en terrain connu !
Configuration de la connexion WiFi
Ouvrez le gestionnaire de connexion WiFi de Windows et connectez vous au réseau ESP_Easy_0. Le mot de passe par défaut est configesp. La fenêtre de configuration s’ouvre. Choisissez le réseau WiFi sur lequel doit se connecter l’ESP32 et indiquez le mot de passe. Validez. Le compte à rebours démarre.
La carte reboot automatiquement et l’adresse IP est attribuée par le routeur est affichée. Fermez la fenêtre et connectez vous à la LoLin32 Lite depuis un navigateur Web.
Nouveautés d’ESP Easy Mega
Si vous n’avez pas encore testé ESP Easy Mega (ou v2), c’est l’occasion de découvrir les nouveautés que propose cette nouvelle version. Nous allons rapidement passer en revue les différentes pages. Le premier changement est d’ordre esthétique. ESPEasy Mega gagne en clarté, les boutons d’accès aux panneaux ont été remplacés par des onglets. Le noir a été remplacé par un gris moins agressif.
Page principale (main)
La première page qui regroupait de nombreuses informations a été simplifiée.
ESP Easy | ESP Easy Mega |
Page de configuration (config)
On retrouve sur cette page la section Main Settings (réglages principaux) qui étaient présents sur la page Main de la v1. Option intéressante, il est maintenant possible de forcer la mise en veille du module en cas d’échec de connexion au réseau WiFi. Cette option évitera de drainer la batterie en cas de coupure de courant ou de panne du routeur WiFi. Si vous avez plusieurs projets à base d’ESP Easy, vous pouvez les mettre en réseau et échanger des messages (commandes, mesures, états). Pour cela, attribuez un Unit Number (numéro d’unité) à chaque module. On retrouve le numéro sur le résumé de la page principale.
ESP Easy | ESP Easy Mega |
Nouvelle page Controller (contrôleur)
Une nouvelle page Controller (contrôleur) fait son apparition. Il est maintenant possible de gérer jusqu’à 3 contrôleurs différents. On pourra par exemple communiquer avec un serveur domotique Domoticz, Nodo, OpenHab, PiDome, FHEM, Generic HTTP pour Jeedom par exemple. En même temps, on pourra envoyer des données sur un serveur en ligne tel que Emoncms (pour le suivi de la consommation énergétique) ou ThingSpeak pour l’enregistrement et l’affichage de mesures.
Le mode Standalone laisse fonctionner l’ESP32 en mode autonome. Il faut cocher l’option Enable pour activer chaque contrôleur individuellement.
Page Hardware (matériel)
De nouvelles options ont été ajoutées. Il est maintenant possible d’initialiser le bus SPI et de spécifier la broche CS (chip select) pour les lecteurs de carte SD. Comme dans la première version, il est possible de forcer le mode de fonctionnement de chaque broche de l’ESP32 (default, input, Output HIGH, Output LOW). Contrairement à la version ESP8266, le repérage des broches est plus simple. GPIO-4 correspond à la broche 24 de l’ESP32. Le câblage est beaucoup plus facile !
Page Device (appareils)
Il est toujours possible de gérer jusqu’à 12 Device avec ESP Easy Mega. Cala peut paraître beaucoup pour un projet d’objet connecté mais certains Device (Dummy Device) sont nécessaires pour créer des règles (Rules) comme nous l’avons déjà vu dans ces deux tutoriels.
Il y a toujours 3 pages de 4 devices. Pour passer d’une page à l’autre, utilisez les flèches dans le coin supérieur gauche du tableau
La page de configuration est quasiment identique à la version précédente. Les changements sont d’ordre esthétique et ergonomiques. De nouveaux modules ont été ajoutés :
- Capteur de CO2 Senseair
- MQTT Import qui permet de récupérer des messages MQTT et déclencher des actions
- Sortie MQTT pour Domoticz.
- Point lumineux à Led indexés NeoPixel. 3 modules (basic, candle, clock)
- System Info. permet maintenant de récupérer plus facilement les info de la carte : Uptime (temps de fonctionnement), RAM disponible, adresse IP, activité WEB…)
- Thermocouples MAX6675 ou MAX31855
Capteurs, entrées analogiques ou numériques
Les nouveautés sont en gras dans les tableaux suivants
Compteur de pulsation | |
Température | |
Baromètre numérique
|
|
Luminosité | |
Température + humidité | |
Environnement : CO2 | |
RFID | |
Distance / proximité | |
Micro-interrupteurs (push button) | |
Entrées analogiques de l’ESP32 | |
Carte analogique externe | |
Entrées digitales supplémentaires | |
Récepteur Infra rouge | |
Poussières
|
|
Tension et Intensité à base de INA219 sur bus I2C
Respectez les caractéristiques de votre capteur avant tout branchement. Vous êtes responsable de toute détérioration de votre matériel. Attention, manipuler du courant électrique est dangereux pour votre santé. Ne faites aucun branchement si vous n’avez pas les compétences Le module est maintenant capable de mesurer la tension, l’intensité et de calculer la puissance. Trois plages de mesure sont disponibles : 32V/2A, 32V/1A, 16V/0,4A |
Actionneurs, écrans
Sorties numériques ESP32 : Led, servo, relais | |
Sorties numériques supplémentaires | |
PWM
|
|
Ecrans
|
|
NeoPixel : points lumineux à Led pilotés individuellement. 3 modules (aucune documentation disponible)
|
Page Notifications
Un nouveau système de notification a été ajouté. Il est possible de créer 4 notifications par email différentes. La commande notify permet de déclencher l’envoi d’une notification sur un événement ou un seuil. Par exemple, la notification 1 sera envoyée au démarrage de la carte. La commande notify accepte deux paramètres. Le numéro de la notification (1 à 4) puis le message (sans guillemets).
on System#Boot do notify 1,system is started endon
Page Tools (outils)
La page outils est pleine de nouveautés.
ESP Easy dispose maintenant d’un point d’entrée qui met à disposition un JSON contenant les principales info sur la carte ainsi que l’état (ou les valeurs) de chaque capteurs. On y accède à l’aide de l’adresse IP suivi de /json, par exemple http://192.168.1.85/json. Voici un exemple de JSON généré par ESP Easy Mega
{"System":{ "Build": 20000, "Unit": 0, "Uptime": 1, "Free RAM": 96236 }, "Sensors":[ { "TaskName": "BME280", "Temperature": 19.51, "Humidity": 42.59, "Pressure": 972.93 }, { "TaskName": "Switch", "Switch": 0.00 } ]}
La section Filesystem (système de fichier) permet de lister les fichiers stockés sur la mémoire SPIFFS. On peut maintenant télécharger un fichier. On pourra par exemple s’en servir pour charger une feuille de style CSS. Il est maintenant possible d’enregistrer le journal d’exécution sur une carte micro SD (un lecteur coûte moins de 2,80€). Il ne manque plus qu’un contrôleur qui permettrait de créer un enregistreur de données (data logger) en quelques minutes !
Le système de Rule est toujours désactivé par défaut. Pour l’activer, il faut toujours aller dans les Tools puis Advanced et cocher Rules (terminer par Submit). Il st maintenant possible de créer jusqu’à 4 Rules. Chaque Rules ne peut pas excéder 2048 caractères.
Conclusions
Cette première version d’ESP Easy Mega adaptée aux modules ESP32 est une vrai réussite. Durant tous les tests, je n’ai rencontré aucun problème particulier ni plantage de la carte. Elle s’installe en quelques minutes depuis Windows. Son interface simple et efficace est très facile à prendre en main même si vous n’avez aucune notion de programmation. Le système de Rules permettra de faire évoluer vos projets en ajoutant un peu de logique. Vous pourrez très facilement allumer une lampe (à l’aide d’un relais) à l’aide d’un détecteur de mouvement. Le firmware fonctionne parfaitement sur la LoLin32 Lite de Wemos. Avec son connecteur de batterie LiPo et son système de recharge intégré, l’ESP32 est maintenant une alternative crédible à l’ESP8266 ! Espérons que la prochaine mise à jour sera compatible avec toutes les cartes ESP32
Promos sur les composants compatibles ESP Easy
Warning: A non-numeric value encountered in /home/clients/81b51a55b78a35c5c4c50dd82cac1015/web/wp-content/themes/rehub-theme/content-egg-templates/block_all_offers_grid.php on line 60
Warning: A non-numeric value encountered in /home/clients/81b51a55b78a35c5c4c50dd82cac1015/web/wp-content/themes/rehub-theme/content-egg-templates/block_all_offers_grid.php on line 60
Voici d’autres projets et tutoriels pour aller plus loin avec ESP Easy Mega
Avez-vous aimé cet article ?