Réalisation d'une Interface Web pour une chaudière De Dietrich équipée d'une régulation Diematic 3

De wiki
Aller à : navigation, rechercher

L'objectif est de pouvoir commander les fonctions générales de la chaudière à l'aide d'un téléphone mobile.

Architecture

Description de l'interface ModBus

La régulation Diematic est équipée d'une interface ModBus qui permet de lire et modifier les mesures et paramètres.

On trouve peu de documentation sur les spécifications de l'implémentation ModBus par De Dietrich. Les documents utilisés pour cette réalisation peuvent être trouvés en faisant une recherche sur les mots clés "diematic modbus tcp".

Le protocole ModBus est basé sur la transmission d'information sur un bus série. L'implémentation sur la régulation Diematic 3 est faite de la façon suivante :

  • utilisation en mode RTU, avec un Bus RS485
  • transmission à 9600 baud, avec 8 bits, sans parité, 1 bit de stop
  • l'adresse par défaut de la chaudière est 0x0A (en hexadécimal)

Une particularité de l'implémentation De Dietrich est le fontionnement en mode bi-maître :

  • le système semble prévu pour fonctionner avec seulement deux noeuds sur le bus
  • la chaudière émet des informations pendant 5 secondes puis reste silencieuse pendant les 5 secondes suivantes. C'est pendant cette seconde période qu'il est possible de lire écrire dans les registres de la régulation.

Cette particularité va avoir un impact sur le fonctionnement de notre interface : même s'il est possible d'imaginer un système qui interroge en permanence la chaudière pour être capable de fournir instantanément ses paramètres de fonctionnement, la modification d'un de ces paramètres pourra nécessiter au moins 5 secondes auxquelles s'ajouteront le temps nécessaire aux traitements de l'interface web, transmission réseau, etc : une estimation totale de 10 secondes semble raisonnable.

Solution

Mes 2 critères principaux pour la définition de la solution étaient :

  • ne pas y passer trop de temps
  • que le budget reste raisonnable

Sachant que je n'étais pas sur d'arriver à un résultat fonctionnel.

J'ai donc choisi d'utiliser les éléments suivants :

  • une carte d'interface USR-TCP-232-24 dont on trouve les caractéristiques sur le site d'USR IOT. Elle est disponible dans différents boitiers et coûte moins de 20€, sans boitier. Il faut y ajouter une alimentation 5V continu. Cette carte sera connectée sur mon réseau local d'un côté et sur le port ModBus de la chaudière de l'autre. Il existe aussi des versions WIFI si besoin.
  • mon NAS (serveur de stockage en réseau), déjà en place, qui contient déjà un serveur Apache accompagné d'un module Php. Il peut surement être remplacé par une carte Rasperry avec les mêmes serveurs Apache et Php.
  • des scripts Php qui envoient les commandes utilisateurs à la chaudière, récupèrent son statut et l'affichent à l'utilisateur. La réalisation de ces script constitue la principale activité de développement.

Le paramétrage de la box internet pour autoriser un accès externe au NAS ne sera pas traité ici.En ce qui concerne le contrôle d'accès à l'interface web, il existe différentes solutions qui peuvent être déployées sur le NAS et son serveur Apache. Elle ne seront pas décrites non plus. Chacun peut choisir la sienne en fonction de son niveau de paranoïa.

DiematicWebInterfaceDesign.png


Réalisation

Connexion

Vous pouvez commencer par connecter votre carte USR-TCP-232-24 à la régulation de la chaudière en utilisant un câble et un connecteur Mini Din 4 points. Le schéma du câble est le suivant :

ModBusMiniDinConnection.png

Vous pouvez maintenant paramétrer votre carte USR-TCP-232-24 avec le programme de setup USR-TCP232-T24 V5.1.0.1.exe disponible sur le site USR IOT.

USR-TCP-232-24-Setup.png

Evidemment, en ce qui concerne l'adresse IP du module, le masque de sous-réseau et l'IP de la GateWay, vous devez utiliser des paramètres compatibles avec votre réseau local.

Déploiement des pages php