ESP Easy Mega arrive sur ESP32, test sur la Wemos LoLin32 Lite, nouveautés du firmware • Domotique et objets connectés à faire soi-même

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.

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.

faac7tnufi1tjgheni7t-7624727

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
toakj0knswqdrr4k6juz-2196159

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

ur8tkkn9xsckmwcfvro0-2285765 Compteur de pulsation
xis1accy97eys1dyxag0-3647392 Température
b4z6areqbbukxtus0apm-6346757 Baromètre numérique

  • BMP085/BMP180  : pression atmosphérique de 300 à 1100hPa
  • BMP280 : température de -40 à + 85°C, pression atmosphérique de 300 à 1100 hPa
  • BME280 : température de -40 à + 85°C, humidité de 0 à 100%, pression atmosphérique de 300 à 1100 hPa
  • MS5611 (GY63)
Luminosité

  • BH1750 : de 0-65535 lux, convertisseur 16 bits.
  • TSL2561 : de 188 μLux jusqu’à 88000 lux
shytscwd0sqmfo4jxzjs-2555240 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

  • GP2Y10 : particules de taille supérieure à 0,8µm. 0.5V pour 0.1mg/m3.
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

  • PCA9685 : I2C, 16 canaux 12 bits
cguux1ip3pirukfpcmmn-8494922 Ecrans

NeoPixel : points lumineux à Led pilotés individuellement. 3 modules (aucune documentation disponible)

  • Basic 
  • Candle (bougie)
  • Clock (horloge)

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 ?