Un nouvel objet connecté

Un nouvel object connecté a trouvé sa place dans la maison, il s’agit d’un écran qui affiche des informations en permanence et qui est mis à jour toutes les minutes.

Écran connecté qui affiche des informations de Domoticz

C’est du « fait-maison », j’ai utilisé un écran e-paper Noir/Blanc/Rouge de 7.5′ (résolution 800×480) + un ESP32 qui pilote et alimente l’écran. Il faut rajouter une alimentation en 5V (un chargeur de téléphone par exemple) et un cadre photo 13×18 pour héberger l’ensemble (et aussi un bout de depron et un peu de patafix ! 😉 ).

L’arrière boutique (ou ce qui se cache derrière l’écran)

C’est un ESP32 classique mais sur une carte spécifique e-paper pour simplifier la connectique. J’ai fait des essais avec une breadboard et des câbles dupont mais ce n’était pas satisfaisant (trop complexe pour trouver les « pin » ad hoc côté l’ESP32 et côté écran 🙄 ).

Pourquoi cet écran connecté ? Pour ne plus avoir à répondre aux questions suivantes 😉  (version plus consensuelle pour « pour apporter une réponse objective et immédiate aux questions variées liées à l’utilisation domestique de l’énergie électrique ») :

  • Quelle est la température dehors ? (ou dans les chambres, …)
  • Je peux lancer une machine ?
  • Quelle est la couleur Tempo demain ?
  • Il reste combien de jours rouges ?
  • On a produit combien aujourd’hui ? (ou hier !)
  • On a consommé beaucoup en heures pleines ? (ou en heures creuses)
  • Ça représente combien d’€uros ?
  • Quel est le tarif Tempo actuel ?

On voit bien à travers ces questions que cet objet connecté devenait indispensable 😆  !

Il y a plusieurs zones d’information sur cet écran qui permettent de répondre aux multiples questions liées à l’utilisation de l’électricité dans la maison.

La zone Consommation instantanée et les infos Tempo

Dans cette partie gauche de l’écran, on voit l’information la plus importante (en plus gros caractères) : la consommation EDF instantanée  qui permet la prise de décision pour lancer une machine (surtout si l’affichage est à zéro !). Il y a aussi les informations Tempo :

  • Couleur du jour et du lendemain
  • Tarif en cours (arrondi à 2 décimales)
  • Nombre de jours Rouges et Blancs restants

Sur la première ligne de l’écran, il y a la date du jour à gauche et l’heure à droite (c’est l’heure de la dernière mise à jour de l’écran). Dans chaque case, il y a en haut à droite l’heure de la dernière mise à jour de la valeur; si la mise à jour n’a pas été faite dans la journée, c’est la date  de mise à jour (en format jj/mm) qui est affichée.

Les informations Tempo sont mises à jour entre 12h00 et 12h15 chaque jour, c’est donc la date de la veille qui figure sur l’écran. Le tarif en cours change à 6h00 et à 22h00.

La zone températures

Sur la droite en haut de l’écran, il y a les températures (extérieur, chambres et salon) et la température du circuit d’eau chaude sanitaire pour permettre une décision éventuelle de relance de la production d’eau chaude.

Le point sur la journée en cours

Dans ces 2 lignes, c’est la situation en temps réel avec la consommation EDF en kWh (totale, heures pleines et heures creuses), la production pour l’auto-consommation et la production pour la vente à EDF(en kWh et en € sur la ligne en dessous).

Les résultats d’hier

Cette zone est présente pour permettre des comparaisons. Sur la première ligne, on voit la consommation EDF en kWh (totale, heures pleines et heures creuses), la production pour l’auto-consommation et la production pour la vente à EDF. Sur la dernière ligne, c’est identique mais en €uros.

Pour préparer cet objet connecté, j’ai d’abord réalisé une version monitor de ce que je souhaitais afin de m’assurer que toutes les informations étaient bien disponibles dans Domoticz. J’utilise les 2 versions en // car la version monitor est utilisable sur tablette, smartphone et à distance.

Version Monitor

Le programme pour l’ESP32 est un peu long car il y a beaucoup d’instructions d’affichage, il intégre la gestion du protocole mqtt et l’Over The Air pour permettre les mise à jour à distance en wifi.

J’ai fait une première tentative en envoyant des requêtes json vers Domoticz comme dans le programme de xlyric (voir en fin d’article) mais c’était trop lent (trop de requêtes simultanées); alors je suis passé à mqtt que j’ai trouvé beaucoup plus simple, plus fiable et plus facile pour traiter les données (format, affichage, troncature, périodicité de mise à jour, …).

Voici 2 des 6 DzVents que j’utilise : 

Un DzVents qui s’exécute chaque minute pour être proche d’un suivi instantané.

Il y en a 2 autres pour les IDX, un à 12h15 pour les informations Tempo et un toutes les 5 minutes pour les températures.

Le DzVents de 22h00 pour les Variables utilisateur à la fin des heures pleines. Il y en a un autre chaque minute et un à 6h00 pour la fin de la journée Tempo.

On voit dans le script qu’il s’exécute aussi tous le 1/4 d’heures (on = {timer = {‘at 22:05′,’every 15 minutes’},},) ; c’est pour avoir un affichage complet même en cas de redémarrage dans la journée.

Les autres scripts sont du même style avec des variantes sur la liste des IDX ou des Variables à traiter.

L’envoi d’informations via mqtt depuis Domoticz est finalement assez simple et la désynchronisation entre l’envoi par Domoticz et la réception par l’ESP32 (grâce à mqtt) diminue la charge globale (pas d’attente de synchro).

Un des points très positif : La consommation ultra réduite de la solution alors que l’affichage est permanent et qu’il y a une mise à jour toutes les minutes.

L’autre point important, c’est la fin (à venir !) des questions 😀 .

Quelques points à améliorer pour lesquels je n’ai pas encore de solution :

Je n’utilise plus la couleur Rouge car après un premier affichage de bonne qualité le rouge se transforme en rosé au bout de 2/3 secondes. Ce n’était pas le cas lorsque j’ai reçu l’écran !

Des 2 côtés de l’écran, il y a une zone de 10 à 15 pixels qui n’est plus utilisable. Je ne sais pas pourquoi, au début de mon utilisation ce problème n’existait pas. Peut-être un mauvaise manip de ma part ? Je n’ai pas encore trouvé de solution pour régénerer ces pixels perdus et je ne sais pas si cela va empirer …

L’affichage prend quelques secondes pendant lesquelles l’écran « clignote ». Cela semble être le comportement normal de ce type d’écran qui n’est pas fait pour un rafraîchissement fréquent. Ce n’est pas vraiment un problème.

Le matériel nécessaire :

L’ESP32 et les câbles associés + l’écran WFT0583CZ61

L’écran est indiqué en 840×480 chez Ali mais c’est bien 800×480.

Mes sources :

 Github de Jean-Marc Zingg c’est la librairie GxEPD2 que j’utilise pour gérer l’affichage sur l’écran e-paper et je me suis inspiré des exemples qu’il propose (Merci à lui 🙂 )

Forum arduino qui traite de ce sujet attention + de 3 000 messages

Réalisation de xlyric (Cyril Poissonnier) une  autre réalisation que j’ai utilisé  (Merci à lui aussi 🙂 ) Il est très présent sur les forums autour du photovoltaïque et réalise un routeur pour optimiser l’auto-consommation.

Locoduino une référence les parties mqtt et OTA viennent d’ici.

Voir la version 2 sur le forum !

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *