Files
notes-techniques/notes/technologie/HX711 ESP32 - balance connectée WiFi - projet.md
T
cedricAbonnel 1f1e0716a8 Corriger référence bibliothèque ESPAsyncWebServer
Remplacer me-no-dev par le fork Mathieu Carbou, compatible SDK ESP32 v3.x.
Documenter l'erreur mbedtls_md5_*_ret et la procédure de correction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 18:46:55 +02:00

7.1 KiB
Raw Blame History

Projet — Balance connectée WiFi (HX711 + ESP32)

Objectif

L'ESP32 lit la cellule de charge via le HX711, crée un réseau WiFi auquel un smartphone se connecte, et affiche le poids en temps réel sur une page web servie par l'ESP32.

Comportement réseau :

  • L'ESP32 crée un point d'accès WiFi (mode AP)
  • Dès connexion du smartphone, un portail captif redirige automatiquement vers la page de pesée
  • La page se met à jour en temps réel via Server-Sent Events (SSE) — pas de rechargement

Matériel nécessaire

Élément Quantité
ESP32 DevKit V1 (ESP-WROOM-32) 1
Module HX711 1
Cellule de charge (150 kg) 1
Câbles Dupont 8
Alimentation USB 5 V / 1 A minimum 1

Bibliothèques requises

À installer via le gestionnaire de bibliothèques Arduino ou PlatformIO :

Bibliothèque Auteur Usage
HX711 bogde Lecture du capteur
ESPAsyncWebServer Mathieu Carbou Serveur web asynchrone
AsyncTCP Mathieu Carbou Dépendance d'AsyncWebServer

WiFi, DNSServer et Preferences sont intégrés au SDK ESP32 (pas d'installation nécessaire).

⚠️ Utiliser impérativement la version Mathieu Carbou (et non me-no-dev) — la version originale provoque une erreur de compilation avec le SDK ESP32 v3.x. Voir l'annexe d'installation pour le détail.


Alimentation

ESP32 DevKit V1

Entrée Tension Remarque
Connecteur micro-USB 5 V Voie normale — régulateur AMS1117 embarqué → 3,3 V
Broche VIN 5 V Même régulateur que l'USB
Broche 3V3 3,3 V Bypass régulateur — source externe régulée requise

Le module ESP-WROOM-32 fonctionne en 3,3 V en interne. Le DevKit intègre un régulateur AMS1117-3,3 V qui convertit le 5 V (USB ou VIN) en 3,3 V.

Pendant les émissions WiFi, l'ESP32 peut consommer jusqu'à ~500 mA en pic. Utiliser une alimentation USB d'au moins 1 A.

Alimentation du module HX711

Brancher VCC du HX711 sur la broche 3V3 de l'ESP32, même si le module accepte le 5 V.

Option Avantage Risque
HX711 VCC → 3V3 (recommandé) DOUT à 3,3 V : compatible GPIO ESP32 Tension d'excitation cellule légèrement plus faible
HX711 VCC → 5V / VIN Excitation cellule plus forte DOUT à 5 V → endommage les GPIO ESP32 (max 3,3 V)

Le module HX711 bleu (le plus courant) accepte 3,3 V sans problème. La différence de sensibilité entre 3,3 V et 5 V est négligeable pour un usage de pesée classique.


Câblage

Cellule de charge → HX711

Fil cellule de charge Fonction Broche HX711
Rouge Excitation+ E+
Noir Excitation E
Blanc Signal A
Vert Signal+ A+

⚠️ Les couleurs varient selon le fabricant — vérifier la fiche technique de la cellule.

HX711 → ESP32

Broche HX711 Broche ESP32 Rôle
VCC 3V3 Alimentation
GND GND Masse
DT (DOUT) GPIO 4 Données série
SCK (PD_SCK) GPIO 5 Horloge série

Les GPIO 4 et 5 peuvent être changés dans le code (PIN_DOUT, PIN_SCK).


Fichiers


Calibration (depuis la page web)

La calibration se fait directement depuis la page web, sans toucher au code ni à l'ordinateur. Le facteur calculé est sauvegardé en mémoire non-volatile (NVS) de l'ESP32 et rechargé automatiquement à chaque démarrage.

Procédure (une seule fois, ou après remplacement de la cellule) :

  1. Connecter le smartphone au réseau Balance-ESP32 et ouvrir la page
  2. Vider complètement la balance
  3. Appuyer sur Tare (zéro) → attendre la confirmation verte
  4. Poser une masse connue (ex. une bouteille d'eau de 500 ml ≈ 500 g)
  5. Saisir la valeur en grammes dans le champ, puis appuyer sur Calibrer
  6. La confirmation et le facteur calculé s'affichent → la balance est opérationnelle

Si le poids affiché est négatif quand on pose une charge, inverser les fils A+ / A sur le HX711.

Le facteur est conservé même après une coupure de courant. Une nouvelle calibration n'est nécessaire que si la cellule de charge ou le module HX711 est remplacé.


Utilisation

  1. Alimenter l'ESP32
  2. Sur le smartphone, aller dans les paramètres WiFi
  3. Se connecter au réseau Balance-ESP32 (sans mot de passe)
  4. Une notification « Se connecter au réseau » apparaît → appuyer dessus
    • Ou ouvrir un navigateur et aller sur http://192.168.4.1
  5. La page de pesée s'affiche et se met à jour automatiquement toutes les 500 ms

Dépannage

Symptôme Cause probable Solution
Poids toujours à 0 Cellule non câblée ou HX711 non alimenté Vérifier câblage et alimentation
Valeur négative Polarité A+ / A inversée Inverser les fils ou le signe du facteur
Poids instable / bruit Câblage long ou alimentation bruyante Raccourcir les fils, filtrer alimentation
Réseau WiFi invisible ESP32 pas encore démarré Attendre 5 s après mise sous tension
Page non affichée automatiquement Comportement variable selon OS smartphone Ouvrir manuellement http://192.168.4.1
Valeurs bloquées HX711 en attente (DOUT haut) Vérifier broche SCK, redémarrer l'ESP32