ESP WaterMeter – Programmation & réglages

Pour la programmation les sources sont disponibles sur https://github.com/tdouez/ESPWaterMeter.

Étapes de programmation de l’ESP8266

  • Télécharge l’environnement VSCode + PlateformIO
    • il est possible d’utiliser l’environnement Arduino mais il faudra renommer le fichier main.cpp en ESPWaterMeter.ini et le répertoire src en ESPWaterMeter. Et aussi télécharger les librairies :
ESP Async WebServer
ESPAsyncTCP
AsyncTCP
ESPAsyncWiFiManager
NTPClient
U8g2
ArduinoJson
Streaming
ArduinoOTA
PubSubClient
ESPDateTime

  • Télécharge le firmware depuis le github
  • Branche le câble USB sur l’ESP et sur ton PC
    • Après le premier téléversement, il te sera possible de mettre à jour le firmware en OTA (sans câble USB)
  • Lance la compilation
  • Téléverse le firmware compilé
  • Téléverse les datas sur la zone SPIFFS
    • config.json : fichier de config du module
    • favicon.ico : icone du site web
    • fb.svg : logo fumée bleue
    • index.html : index du site web
    • jquery.js, notify.js et script.js : javascripts su site web
    • w3.css : framwork W3

Attention : Le menu de téléchargement des datas dans la zone SPIFFS peut aussi se trouver dans le menu env:d1_mini_pro->Platform :

Pour gérer la partie wifi, j’utilise la librairie WifiManager donc au premier démarrage tu devras te connecter au point d’accès « FumeeBleue ». Après avoir configuré l’accès à ton wifi personnel, le module redémarrera et se connectera à ton wifi automatiquement. Si tu as besoin de changer de wifi, il faudra appuyer sur le switch avec une pointe lors de son branchement; la configuration wifi sera remise à zéro.

L’interface web du module permet d’afficher les données collectées avec un historique des impulsions sur 24h. Cet historique est utilisé pour le détection de fuite.

Le deuxième onglet « config » permet de configurer le module en spécifiant le nom ce celui-ci, le seuil de fuite par jour, etc.

NB : toute modification apportée sur le nom du module ou config MQTT entraînera un reboot de l’ESP lors de la sauvegarde. Le reste des paramètres sont pris en compte à la volée.

Les données MQTT remontées sont les suivantes :

  • volume : consommation en litres sur la journée
  • pulseCount : nombre d’impulsion sur la journée
  • leak : fuite. 0 : pas de fuite, 1 : consommation excessive sur une période de 24h, 2 : consommation continue sur 24h
  • flow : débit en litres/heure
  • totalPulse : nombre d’impulsions sur 24h