mercredi 29 mai 2024

ESP32 : Comparons


ESP32 : Comparons


La famille de µcontrôleurs ESP32 s'est étoffée depuis quelques années :

  • ESP32
  • ESP32 S2
  • ESP32 C3
  • ESP32 S3

Voici deux pages résumant les caractéristiques des différents modèles :

Chip Series Comparison

Comparison table for ESP8266/ESP32/ESP32-S2/ESP32-S3/ESP32-C3/ESP32-C6

Les cartes basées sur l'ESP32 sont extrêmement nombreuses. On ne va pas les citer toutes ici. Etant assez fan des cartes WEMOS D1 mini et LOLIN D32, je me suis naturellement tourné vers les cartes de ce constructeur.

1. ESP32

L'excellente FIREBEETLE reste un modèle à privilégier si l'on désire une carte pour un projet fonctionnant sur batterie :

Son régulateur RT9080 lui assure une consommation en veille de 10µA.

La WEMOS LOLIN32 est une carte déjà ancienne, disposant également d'un connecteur batterie :


Sa consommation en veille est de 1.7mA.

2. ESP32 S2

Historiquement, l'ESP32 S2 est le premier modèle sorti. Il apporte une nouveauté : il intègre nativement un contrôleur USB, ce qui permet de se passer de convertisseur USB / série. Le C3 et le S3 sont équipés d'USB de la même façon.

WEMOS LOLIN S2 mini

Ces cartes ont un format particulièrement réduit, par contre la double rangée de broches empêche de les implanter sur une breadboard.

Attention : il semblerait que l'ESP32 S2 ne possède pas de BLUETOOTH BLE, ni de DAC.

3. ESP32 C3

WEMOS LOLIN C3 mini

Cette carte, par rapport à la précédente, n'intègre plus une antenne imprimée, mais une antenne CMS (le petit composant rouge). Certaines critiques laissent à penser que la portée de ces antennes serait inférieure.

A noter la présence d'une LED adressable WS2812B.

4. ESP32 S3

WEMOS LOLIN S3 mini

L'antenne est imprimée, comme sur le S2. Ici, aussi une LED adressable est présente.

Pour ceux qui préfèrent les cartes un peu mieux équipées, un modèle PRO existe :

WEMOS LOLIN S3 pro

Elle possède entre autres un connecteur batterie, et bien entendu un chargeur.

5. Préparatifs

5.1. IDE ARDUINO

Pour que le core ESP32 apporte le support des µcontrôleurs C3, S2 et S3, C3, il faut installer une version récente :

Installing the ESP32 Board in Arduino IDE (Windows, Mac OS X, Linux)

Si une version ancienne est installée, il suffit de la mettre à jour à l'aide du gestionnaire de cartes : 

Menu Outils / Type de carte / Gestionnaire de cartes. Filtrez votre recherche en tapant ESP32.

5.2. LED adressable

Le pilotage de la LED adressable nécessite l'installation de la librairie Adafruit NeoPixel, que l'on peut trouver dans le gestionnaire de bibliothèques :

Menu Outils / Gestionnaire de bibliothèques. Filtrez votre recherche en tapant neopixel.

5.3. Serial monitor

Pour que les sorties que l'on imprime à l'aide de Serial soient visibles dans le terminal, il faut sélectionner :

Menu Outils / USB CDC On Boot : enabled

6. Test

J'ai réalisé quelques tests avec une carte WEMOS LOLIN S3 mini. 

6.1. LED

Testons tout d'abord la LED embarquée :

#include <Adafruit_NeoPixel.h>

int neoPixelPin = 47;

Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, neoPixelPin, NEO_GRB + NEO_KHZ800);

void setup() {
  Serial.begin(115200);
  strip.begin();  // initialize the strip
  strip.show();   // make sure it is visible
  strip.clear();  // Initialize all pixels to 'off'
  Serial.println("GO");
}

void loop() {
  strip.setBrightness(100);
  strip.setPixelColor(0, 0, 255, 0);
  strip.show();
  delay(1000);
  strip.setPixelColor(0, 255, 0, 0);
  strip.show();
  delay(1000);
  strip.setPixelColor(0, 0, 0, 255);
  strip.show();
  delay(1000);
}

La LED doit s'allumer alternativement en rouge, vert, bleu.

6.2. WebServer

L'exemple HelloServer de la librairie ESP32 permet d'afficher "hello from esp32!" sur un navigateur.

Dans cet exemple, bien entendu, il faut veiller à remplacer les identifiants par les vôtres :

const char *ssid = "........";
const char *password = "........";

L'exemple fonctionne sans problème. Le moniteur série affiche : 

Connected to XXXXXXXXXX
IP address: 192.168.1.20
MDNS responder started
HTTP server started

Entrer l'adresse indiquée dans la barre d'adresse de votre navigateur. Celui-ci affiche :

hello from esp32!

Bien entendu l'exemple est simpliste, mais je n'ai aucune raison de douter qu'un logiciel plus complexe pose des problèmes.

7. Conclusion

Ce premier contact avec cette carte WEMOS LOLIN S3 mini est plutôt positif.

J'ai l'impression que la connexion au WIFI est plus rapide qu'avec les autres cartes que j'ai testé. Cela reste à confirmer.

Pour ma part le principal intérêt de ces cartes mini est leur compacité. Elle ont la même taille qu'une WEMOS ESP8266 D1 mini, pour un nombre de GPIOs bien supérieur (sauf pour la C3).

Dans un prochain article je testerai l'aptitude de cette carte à servir de base à des projets basse consommation. 

Je doute que je puisse parvenir à une consommation ultra-basse, équivalente à celle d'une FIREBEETLE. Rien que la présence de la LED adressable ne me dit rien qui vaille, car ce genre de LED consomme, même si l'on ne s'en sert pas. Mais rien n'empêche de la supprimer.


Cordialement

Henri


Aucun commentaire:

Enregistrer un commentaire