Carte de developpment ESP32 WT32-ETH01 Ethernet double mode Wifi et Bluetooth
En stock
Carte de développement ESP32 WT32-ETH01 triple connectivité Ethernet 10/100 Mbps WiFi 802.11 b/g/n et Bluetooth 4.2. Processeur dual-core 240 MHz. 4 Mo Flash 520 Ko SRAM. Contrôleur LAN8720 avec connecteur RJ45 intégré. Compatible Arduino IDE ESP-IDF PlatformIO et MicroPython. Idéale pour passerelle IoT domotique industrielle et applications réseau critiques nécessitant une connexion stable et fiable.
Carte ESP32 WT32-ETH01
La carte de développement ESP32 WT32-ETH01 est une plateforme embarquée exceptionnellement polyvalente combinant dans un format ultra-compact les puissantes capacités sans fil du module ESP32 avec une interface Ethernet filaire basée sur le contrôleur LAN8720. Cette combinaison unique offre une triple connectivité : WiFi 802.11 b/g/n, Bluetooth 4.2 Classic + BLE et Ethernet 10/100 Mbps faisant de la WT32-ETH01 la plateforme de développement IoT la plus complète et la plus fiable du marché pour les applications nécessitant une connexion réseau stable et performante.
Contrairement aux cartes ESP32 classiques qui se limitent au WiFi et au Bluetooth la WT32-ETH01 ajoute la possibilité d’une connexion Ethernet câblée éliminant les problèmes de connectivité WiFi (interférences portée limitée latence variable) et offrant une fiabilité de communication réseau de niveau industriel. Cette carte est idéale pour les applications domotiques critiques les systèmes de contrôle industriel les passerelles IoT et tous les projets nécessitant une connectivité réseau permanente et stable.
Triple connectivité : la force de la WT32-ETH01
1. Ethernet 10/100 Mbps avec LAN8720
L’interface Ethernet de la WT32-ETH01 est gérée par le contrôleur LAN8720 de Microchip Technology un PHY Ethernet 10/100BASE-T de haute qualité :
- Débit : 10 Mbps ou 100 Mbps (auto-négociation)
- Interface : RMII (Reduced Media Independent Interface) connectée à l’ESP32
- Connecteur : RJ45 intégré avec LEDs de statut (Link et Activity)
- Protocoles : TCP/IP UDP HTTP MQTT CoAP et tous les protocoles réseau standards
- Avantages :
- Latence constante et prévisible
- Bande passante garantie sans interférences
- Connexion permanente sans déconnexions aléatoires
- Sécurité renforcée : pas de risque d’interception WiFi
- Distance : jusqu’à 100 mètres de câble Cat5/Cat6
- Alimentation PoE possible avec splitter externe
2. WiFi 802.11 b/g/n intégré
Le module ESP32 intègre un contrôleur WiFi complet :
- Fréquence : 2.4 GHz
- Normes : 802.11 b/g/n
- Débit : jusqu’à 150 Mbps
- Modes : Station (STA) Point d’Accès (AP) et mixte STA+AP
- Sécurité : WPA WPA2 WPA3 et WEP
- Applications : configuration à distance OTA updates interface web et connexion de secours
3. Bluetooth 4.2 Classic + BLE
- Bluetooth Classic : streaming audio communication série sans fil
- Bluetooth Low Energy (BLE) : capteurs connectés beacons et appareils basse consommation
- Portée : jusqu’à 30 mètres en espace ouvert
- Applications : configuration locale via smartphone appariement de périphériques et telemetrie BLE
Le module ESP32 : puissance de calcul et polyvalence
Le cœur de la WT32-ETH01 est le module ESP32 d’Espressif Systems :
Processeur
- Architecture : Xtensa LX6 dual-core
- Fréquence : jusqu’à 240 MHz
- Coprocesseur ULP : pour opérations en mode basse consommation
Mémoire
- Flash : 4 Mo (stockage programme et données)
- SRAM : 520 Ko (mémoire d’exécution)
- ROM : 448 Ko (bootloader et fonctions système)
- RTC SRAM : 16 Ko (données persistantes en deep-sleep)
Périphériques intégrés
- ADC : 12 canaux 12 bits
- DAC : 2 canaux 8 bits
- PWM : 16 canaux
- I2C : 2 bus configurables
- SPI : 3 bus
- UART : 3 ports
- I2S : 2 bus audio
- Capteurs tactiles : 10 entrées capacitives
- Capteur Hall et capteur température intégrés
Brochage et connectique de la WT32-ETH01
┌─────────────────────────────────────────────────┐
│ ESP32 WT32-ETH01 │
│ │
│ ┌─────────┐ ┌──────────┐ ┌──────────┐ │
│ │ ESP32 │ │ LAN8720 │ │ RJ45 │ │
│ │ Module │◄──┤ PHY ├──►│ Ethernet │ │
│ │ │ │ RMII │ │ │ │
│ └─────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ GPIO Disponibles (broches exposées) │ │
│ │ │ │
│ │ IO0 IO2 IO4 IO12 IO14 IO15 │ │
│ │ IO17 IO32 IO33 IO34 IO35 IO36 │ │
│ │ IO39 RXD TXD GND 3V3 5V │ │
│ └──────────────────────────────────────┘ │
│ │
│ [ LED Link ] [ LED Activity ] │
│ [ Bouton Reset ] │
└─────────────────────────────────────────────────┘
Description des broches disponibles
| Broche | Fonction | Type | Remarques |
|---|---|---|---|
| 5V | Alimentation entrée | PWR | Via USB ou broche externe |
| 3V3 | Sortie 3.3V régulée | PWR | 600 mA max |
| GND | Masse | PWR | Référence commune |
| IO0 | GPIO / Boot mode | I/O | Pull-up requis au boot |
| IO2 | GPIO / ADC | I/O | LED embarquée sur certaines versions |
| IO4 | GPIO / ADC / Touch | I/O | Usage général |
| IO12 | GPIO / ADC / Touch | I/O | MTDI – attention au boot |
| IO14 | GPIO / ADC / Touch / PWM | I/O | Usage général |
| IO15 | GPIO / ADC / Touch | I/O | MTDO |
| IO17 | GPIO / UART | I/O | Usage général |
| IO32 | GPIO / ADC / Touch | I/O | Usage général |
| IO33 | GPIO / ADC / Touch | I/O | Usage général |
| IO34 | GPIO / ADC (entrée seule) | IN | Entrée analogique uniquement |
| IO35 | GPIO / ADC (entrée seule) | IN | Entrée analogique uniquement |
| IO36 | GPIO / ADC (entrée seule) | IN | Entrée analogique uniquement |
| IO39 | GPIO / ADC (entrée seule) | IN | Entrée analogique uniquement |
| RXD | UART RX | I/O | Programmation et debug |
| TXD | UART TX | I/O | Programmation et debug |
Broches réservées au LAN8720 (non disponibles)
| GPIO | Fonction réservée | Interface |
|---|---|---|
| GPIO 0 | REF_CLK LAN8720 | RMII |
| GPIO 16 | CLK_OUT LAN8720 | RMII |
| GPIO 17 | MDIO | SMI |
| GPIO 18 | MDCLK | SMI |
| GPIO 19 | TXD0 | RMII TX |
| GPIO 21 | TX_EN | RMII TX |
| GPIO 22 | TXD1 | RMII TX |
| GPIO 23 | RXD1 | RMII RX |
| GPIO 25 | RXD0 | RMII RX |
| GPIO 26 | RX_ER | RMII RX |
| GPIO 27 | CRS_DV | RMII RX |
Environnements de développement compatibles
Arduino IDE
Installation via le board manager ESP32 d’Espressif. Configuration spécifique pour activer l’Ethernet :
#include <ETH.h>
#include <WiFi.h>
// Configuration WT32-ETH01
#define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN
#define ETH_POWER_PIN -1
#define ETH_TYPE ETH_PHY_LAN8720
#define ETH_ADDR 1
#define ETH_MDC_PIN 23
#define ETH_MDIO_PIN 18
bool ethConnecte = false;
void WiFiEvent(WiFiEvent_t event) {
switch (event) {
case ARDUINO_EVENT_ETH_START:
Serial.println("Ethernet démarré");
ETH.setHostname("wt32-eth01");
break;
case ARDUINO_EVENT_ETH_CONNECTED:
Serial.println("Ethernet connecté");
break;
case ARDUINO_EVENT_ETH_GOT_IP:
Serial.print("Adresse IP : ");
Serial.println(ETH.localIP());
ethConnecte = true;
break;
case ARDUINO_EVENT_ETH_DISCONNECTED:
Serial.println("Ethernet déconnecté");
ethConnecte = false;
break;
default:
break;
}
}
void setup() {
Serial.begin(115200);
WiFi.onEvent(WiFiEvent);
// Initialisation Ethernet
ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN,
ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE);
}
void loop() {
if (ethConnecte) {
// Votre code réseau ici
}
}
ESP-IDF (Framework natif Espressif)
Framework complet pour développement professionnel avec accès à toutes les fonctionnalités bas niveau de l’ESP32 et de l’interface Ethernet.
PlatformIO
Environnement de développement professionnel intégré à Visual Studio Code offrant une gestion avancée des bibliothèques et du débogage pour la WT32-ETH01.
MicroPython
Programmation en Python avec support Ethernet via les bibliothèques réseau MicroPython.
Exemples de projets avec la WT32-ETH01
Serveur Web embarqué avec Ethernet
#include <ETH.h>
#include <WebServer.h>
WebServer server(80);
void handleRoot() {
String html = "<!DOCTYPE html><html>";
html += "<head><title>WT32-ETH01</title></head>";
html += "<body>";
html += "<h1>Serveur Web WT32-ETH01</h1>";
html += "<p>IP Ethernet : " + ETH.localIP().toString() + "</p>";
html += "<p>Vitesse : " + String(ETH.linkSpeed()) + " Mbps</p>";
html += "<p>MAC : " + ETH.macAddress() + "</p>";
html += "<p>Uptime : " + String(millis()/1000) + " secondes</p>";
html += "</body></html>";
server.send(200, "text/html", html);
}
void handleAPI() {
int lecture = analogRead(34);
String json = "{";
json += "\"ip\":\"" + ETH.localIP().toString() + "\",";
json += "\"adc\":" + String(lecture) + ",";
json += "\"uptime\":" + String(millis()/1000);
json += "}";
server.send(200, "application/json", json);
}
void setup() {
Serial.begin(115200);
// Initialisation ETH (voir code précédent)
server.on("/", handleRoot);
server.on("/api", handleAPI);
server.begin();
Serial.println("Serveur HTTP démarré");
}
void loop() {
server.handleClient();
}
Client MQTT sur Ethernet
#include <ETH.h>
#include <PubSubClient.h>
const char* mqtt_server = "192.168.1.100";
const int mqtt_port = 1883;
const char* mqtt_topic = "wt32/capteur";
WiFiClient ethClient;
PubSubClient mqtt(ethClient);
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message reçu [");
Serial.print(topic);
Serial.print("] : ");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
Serial.println();
}
void reconnectMQTT() {
while (!mqtt.connected()) {
Serial.print("Connexion MQTT...");
if (mqtt.connect("wt32-eth01-client")) {
Serial.println("Connecté !");
mqtt.subscribe("wt32/commandes");
} else {
Serial.print("Erreur : ");
Serial.println(mqtt.state());
delay(5000);
}
}
}
void setup() {
Serial.begin(115200);
// Initialisation ETH...
mqtt.setServer(mqtt_server, mqtt_port);
mqtt.setCallback(callback);
}
void loop() {
if (!mqtt.connected()) reconnectMQTT();
mqtt.loop();
// Publication toutes les 5 secondes
static unsigned long dernierEnvoi = 0;
if (millis() - dernierEnvoi > 5000) {
int valeur = analogRead(34);
String payload = String(valeur);
mqtt.publish(mqtt_topic, payload.c_str());
dernierEnvoi = millis();
}
}
Applications de la WT32-ETH01
Domotique et Smart Home
- Passerelle domotique centrale connectant appareils WiFi Bluetooth et Ethernet
- Contrôleur de volets roulants et éclairage avec interface web
- Thermostat intelligent connecté au réseau local et à Home Assistant
- Système de surveillance avec caméra IP et stockage local
- Gestionnaire d’énergie avec monitoring de consommation via Ethernet
- Centrale d’alarme connectée avec notifications push et SMS
Industrie et automatisation
- Passerelle Modbus TCP vers système SCADA
- Concentrateur de données capteurs industriels vers cloud
- Contrôleur PLC simplifié pour automatismes légers
- Système de monitoring de machines avec dashboard web
- Passerelle protocoles : CAN BUS vers Ethernet
- Système de traçabilité avec lecteur RFID et base de données
Réseau et infrastructure
- Passerelle IoT WiFi/BLE vers Ethernet pour capteurs distants
- Proxy MQTT et broker léger pour réseau local
- Serveur DNS local pour réseau embarqué
- Contrôleur NTP synchronisation d’horloges sur réseau
- Sniffer réseau léger pour diagnostic et debugging
- Point d’accès WiFi avec portail captif
Projets avancés DIY
- Station météo professionnelle avec transmission Ethernet
- Système de contrôle d’aquarium ou de serre connecté
- Enregistreur de données (datalogger) avec serveur FTP
- Tableau de bord multi-capteurs avec interface web responsive
- Système de présence avec détection BLE et log réseau
- Contrôleur d’irrigation intelligent connecté au réseau
Conseils d’utilisation et bonnes pratiques
Alimentation
- Alimentez la WT32-ETH01 via les broches 5V et GND avec une alimentation capable de fournir au moins 500 mA
- Pour les applications avec forte charge réseau prévoyez 800 mA à 1A
- Ajoutez des condensateurs de découplage (100nF + 10µF) au plus près des broches d’alimentation
- Utilisez une alimentation régulée et filtrée pour éviter les plantages réseau
Câblage Ethernet
- Utilisez un câble Cat5e ou Cat6 droit (straight-through) pour connexion à un switch ou routeur
- Utilisez un câble croisé (crossover) pour une connexion directe PC-WT32-ETH01
- La plupart des switchs modernes supportent l’auto-MDIX (câble droit dans tous les cas)
- Longueur maximale de câble : 100 mètres par segment
GPIO et broches réservées
- Vérifiez toujours quelles broches sont réservées au LAN8720 avant d’utiliser un GPIO
- En cas de conflit avec l’Ethernet certains GPIO seront non fonctionnels
- Utilisez de préférence : IO0 IO2 IO4 IO12 IO14 IO15 IO32 IO33 IO34 IO35 IO36 IO39
OTA (Over-The-Air updates)
- La WT32-ETH01 supporte les mises à jour OTA via Ethernet et WiFi
- Implémentez l’OTA dès le début du projet pour faciliter les mises à jour futures
- Utilisez ArduinoOTA ou esp_https_ota selon votre framework
La plateforme IoT industrielle ultime
La carte de développement ESP32 WT32-ETH01 représente l’évolution naturelle de l’ESP32 pour les applications IoT professionnelles et industrielles. Sa triple connectivité Ethernet WiFi Bluetooth son processeur dual-core 240 MHz et sa compatibilité avec l’écosystème Arduino et ESP-IDF en font la plateforme de référence pour tous les projets nécessitant une connectivité réseau fiable et permanente.
Commandez dès maintenant votre carte ESP32 WT32-ETH01 et connectez vos projets au réseau avec une fiabilité professionnelle !
Tableau des caractéristiques techniques
| Caractéristique | Détails |
|---|---|
| Modèle | WT32-ETH01 |
| Module ESP32 | ESP32-D0WD (Espressif Systems) |
| Processeur | Xtensa LX6 Dual-Core |
| Fréquence CPU | Jusqu’à 240 MHz |
| Flash | 4 Mo |
| SRAM | 520 Ko |
| Contrôleur Ethernet | LAN8720 (Microchip) |
| Débit Ethernet | 10/100 Mbps (auto-négociation) |
| Connecteur Ethernet | RJ45 intégré avec LEDs |
| Interface PHY | RMII |
| WiFi | 802.11 b/g/n 2.4 GHz |
| Bluetooth | 4.2 Classic + BLE |
| GPIO disponibles | 14 broches exposées |
| ADC | 12 canaux 12 bits |
| DAC | 2 canaux 8 bits |
| PWM | 16 canaux |
| UART | 3 ports |
| I2C | 2 bus |
| SPI | 3 bus |
| I2S | 2 bus |
| Tension d’alimentation | 5V DC |
| Tension logique | 3.3V |
| Courant max GPIO | 40 mA par broche |
| Courant alimentation | 500 mA min recommandé |
| Bouton Reset | Oui |
| LED de statut | Link + Activity Ethernet |
| Dimensions | ~55 x 35 x 15 mm |
| Poids | ~12 g |
| Température de fonctionnement | -40°C à +85°C |
| Compatibilité logicielle | Arduino IDE ESP-IDF PlatformIO MicroPython |
| Certifications | FCC CE |
