Bonjour tout le monde ! Je viens vous faire partager mes travaux. Aujourd'hui, je n'évoquerai quasi pas la partie logicielle, on va parler matos
Le concept: récupérer les infos de la chaudière et les enregistrer en informatique. Postulat de départ: y'a aucune info ni aucune doc officielle .
Lorsque j'ai acheté la chaudière en 2011, la brochure commerciale indiquait "protocole de communication PC" moyennant la somme faramineuse de 0€. Après contact avec le distributeur régional, cette option n'était finalement pas dispo . J'ai abandonné.
Depuis l'idée est revenue, et j'ai voulu en savoir plus. J'ai donc recherché sur le net... Assez rapidement, j'ai recherché en Allemand, avec notre ami Google, et de ses traductions ignobles.
J'ai trouvé le graal ici: http://www.mikrocontroller.net/topic/134331 et de l'aide chez Did67, membre ô combien actif sur les chaudières à granulés, toujours prêt à aider son prochain. En revanche, il a un gros défaut: il possède une Ökofen
Did mis à contribution, il a traduit les infos essentielles, et surtout un document pdf qui explique à quoi correspondent les différentes valeurs que l'on va (peut-être) récupérer.
Alors, commençons par un peu de vulgarisation (les puristes vont m'écorcher vif, tant pis).
Le données informatiques sont des 0 ou des 1, ça, tout le monde le sait. Quand il s'agit de transformer ça en signaux électrique, ça se complique. On a donc choisit de faire varier des niveaux de tension: 0V ="0", et 5V="1", par exemple.
Maintenant, comment faire communiquer 2 équipements ?
Avec 2 fils (un pour le signal, un pour la masse) je peux faire passer des signaux électriques, du 0V et du 5V dans mon exemple, mais comment l'équipement à l'autre bout va comprendre ce que cela signifie ? Pour cela, on fixee une durée pour le signal. Imaginons toujours que l'on envoie 1 donnée par seconde (1 bit par seconde, ou 1bps). Si j'analyse ce signal et que pendant 2s je vois 5V, cela signifie que j'ai eu 2 données de valeur "1"
Ces données sont donc transmises les unes à la suite des autres, d'où le nom: communication série.
Avec plusieurs fils (n pour les signaux, et toujours une masse) bein je peux envoyer plusieurs signaux en parallèle, d'où le nom communication parallèle (on est pas tombés sur des créatifs là). On pourrait croire que c'est ce qu'il y a de plus rapide mais non, avec l'augmentation des débits apparaissent des retards sur certains fils, ce qui engendre des erreurs de communication. La liaison parallèle a ses limites, faut pas la brusquer.
C'est pour ça, il y a maintenant quelques années, que l'on trouvait au dos des ordinateurs des ports (traduisez "prise", comme une prise électrique quoi) série et parallèle.
Aujourd'hui, tout cela est mort et enterré, sauf en industrie ou pour certains équipement spécialisés, comme une chaudière Hargassner
Pour info, l'USB actuellement utilisé signifie Universal Serial Port, les données y transitent en série.
Allez, rentrons dans le vif du sujet !
La chaudière émet des informations en continu, toutes les 500ms, en série donc, mais pas avec un port série standard, trop facile. Elle utilise un port RJ45. Et y'en a 2 sur la platine, faut prendre celui du haut:
IMG_20111105_104413.jpg
Ensuite le câblage. Ce dont vous avez besoin:
-un câble RJ45 (du câble réseau, ou ethernet, c'est pareil) à la longueur souhaitée. J'ai pris 5m parce que j'avais ça sous la main, mais peu importe.
-un connecteur série femelle à souder (aussi connu sous le nom poétique de RS232 ou DB9, toujours femelle).
Là, faut pas se gaufrer sur le brochage. Le fil vert sur le bouton blanc hein !
Pour reprendre le forum Allemand, il faut:
RJ45 <---> RS232
Pin 6 <---> Pin 2
Pin 8 <---> Pin 5
Et les câbles se lisent comme ceci:
Pour le RJ45 http://fr.wikipedia.org/wiki/Fichier:Rj45plug-8p8c.png
Pour le RS232:
db9.jpg
Là, faut jouer du multimètre pour retrouver les fils qui nous intéressent dans le RJ45, et les souder dans le connecteur DB9.
Et voilà, vous avez un câble fait maison, reste plus qu'à le brancher sur la platine chaudière d'un côté et à l'ordi. Mais je le met où sur mon ordi cette mer.. ? Y'a pas de prise. ?!??
Et ouais, y'a pas sur les machines récentes. C'est à ce moment précis que la liste de courses s'allonge, il vous faut un adaptateur USB série. Mieux vaut prendre un produit de marque, parce que c'est pas reconnu à tous les coups, et faut avoir les drivers. J'utilise un TRENDnet TU-S9 personnellement. Prix modéré, et ça marche sous Windows (XP au minimum) et linux.
Une fois installé, vous avez un nouveau périphérique sur votre PC, un port série, qui s'appelle COMx (COM3 chez moi). Pour vérifier, allez faire un tour dans le gestionnaire de périphérique Windows.
Maintenant, vous devez avoir un câble RJ45 raccordé à la chaudière, qui se termine en DB9 femelle à l'autre bout, lui même raccordé sur un adaptateur DB9 mâle qui arrive en USB dans votre PC. .
Maintenant, on fait quoi ? D'abord, boire une bière, ça s'impose !
Ensuite, on va utiliser un programme de type "terminal" qui va écouter sur le port COMx fraichement installé. Sous Windows XP, il est caché dans le menu démarrer, accessoires, communication, hyper terminal. Sous Vista et 7, bein ça n'existe plus... Cela dit, Hyper terminal ne me permet pas de récupérer les données "brutes" mais juste de vérifier la communication entre PC et chaudière. Aussi je ne vais pas le documenter.
Pour les curieux, il faut paramétrer la connexion comme suit:
Vitesse de transmission: 19200 bauds
Bits de données: 8
Parité: aucune
Bit d'arrêt: 1
Et normalement, une suite de chiffres obscurs va commencer à défiler, comme ceux présentés sur ce fil un peu plus tôt.
La suite au prochain épisode
-----