ESP32 + MQTT : monitoring industriel à coût maîtrisé
Du capteur au dashboard : pile complète Node-RED, InfluxDB et Grafana pour suivre une ligne de production.
Une PME m'appelle : « on aimerait suivre la température et le débit de quatre lignes de production, mais Siemens nous propose 40 k€ ». La même chose, en open source, tient sur un Raspberry Pi à 80€ et quatre ESP32 à 8€ pièce.
L'archi en une image
ESP32 (lecture capteurs) → MQTT broker (Mosquitto sur le Pi) → Node-RED (mise en forme, alertes) → InfluxDB (stockage time-series) → Grafana (dashboard).
// Firmware ESP32 - publication MQTT toutes les 5s
#include <PubSubClient.h>
WiFiClient esp;
PubSubClient mqtt(esp);
void loop() {
float t = readTemp();
char payload[32];
snprintf(payload, sizeof(payload), "{\"t\":%.2f}", t);
mqtt.publish("usine/ligne1/temp", payload);
delay(5000);
}Pourquoi MQTT et pas HTTP
MQTT est conçu pour les périphériques contraints : connexion persistante, payloads minuscules, QoS configurable. Sur un ESP32 alimenté par batterie, ça change la durée de vie de plusieurs mois.
Les écueils que j'ai rencontrés
Le wifi industriel coupe régulièrement - il faut absolument un buffer local sur l'ESP32 (PSRAM ou flash) pour ne rien perdre. Et NTP avant tout : sans heure synchronisée, vos données sont inutilisables au croisement.