Page créée le 10/05/2017 ; mise à jour le 01/06/2019.
Avant toute chose, il faut regarder les caractéristiques de la liaison
RS485 utilisée par le bus XpressNet. Le document XpressNet Specification (lien rompu) de Lenz USA nous donne
toutes les informations techniques nécessaires. Nous y apprenons donc
que la liaison se fait sur 9 bits, à 62 500 bps (bits par seconde),
half-duplex (c.-à-d. bidirectionnelle mais les informations ne
peuvent être transmises que dans un sens à la fois), et que la tension
d’alimentation est de 12 V. Ce document donne aussi le câblage des
prises de raccordement, qui sont de vulgaires prises DIN connues depuis
les années soixante (et peut-être même avant ?)
Des modules capables de transmettre par radio les signaux RS485, il y en a des tas sur le marché, mais ce sont des dispositifs industriels. Cela veut dire que la priorité est donnée à la sécurité de la transmission, puis à la portée qui, pour certains, peut atteindre le kilomètre en terrain dégagé ! C’est beaucoup trop pour nous, et c’est surtout très cher. Ne pas oublier qu’il en faut deux !
Et puis j’ai trouvé ceci. Je traduis : module émetteur-récepteur sans fil à transmission radio 433 MHz RS485 UART (Universal Asynchronous Receiver Transmitter).
Voici une illustration de la page :
Cela semble bien adapté à notre projet, non ? Et voici les principales spécifications du produit :
Intéressant et pas trop cher, mais vendu sans mode d’emploi. Je trouve finalement ce document sur le circuit interne HM-TRP-RS485, qui nous apprend entre autres comment paramétrer la liaison. Mais comment envoyer les données indiquées, et avec quel logiciel ? Mystère !
Je trouve finalement, je ne sais même plus comment, un utilitaire nommé HM-TRP Setting GUI.exe (téléchargeable ici sous forme de fichier compressé), et son mode d’emploi, en anglais manifestement mal traduit du chinois, avec disons quelques imprécisions, que je me suis fait un plaisir de traduire.
Bon, maintenant, nous savons qu’il faut « ouvrir le port série ». Il est clair que nous devons relier le module à un port série de l’ordinateur. Mais il y a deux écueils : je n’ai pas de port série (comme presque tout le monde), et je ne sais toujours pas comment relier ce port (RS232) au module radio (RS485).
Ce qu’il nous faut, c’est quelque chose qui pourrait raccorder un port USB de l’ordinateur avec le bornier RS485 du module radio.
Nous voici repartis à la recherche d’une telle chose. Et, miracle d’Internet, on trouve ceci. Cinq pièces, c’est un peu trop — il n’en faut qu’une, mais pour le prix, on ne va pas chipoter.
Quelques semaines plus tard, les adaptateurs arrivent en chantant un air connu : pas de documentation ! Vous branchez sur un port USB : « Windows ne trouve aucun driver pour ce périphérique ». Le vendeur allemand a sans doute le driver voulu ? Sur le site, pas trace du produit ! Vous écrivez au vendeur (via Amazon) ; pas de réponse. Allons bon. D’abord lui coller une mauvaise évaluation, non mais.
Heureusement, il y a un avis sur la page du produit, avis assez détaillé qui donne même la référence de la puce interne de l’adaptateur. Une recherche sur cette référence me donne deux résultats : un premier en chinois, incompréhensible même prétendument traduit en français, et le deuxième venant du fin fond de la Nouvelle-Zélande ! Mais au moins, sur ce dernier, j’ai enfin un lien de téléchargement pour un driver, et il se trouve qu’avec ce driver, ça fonctionne ! Windows crée un nouveau port COM6. Alléluia ! Et merci à la personne qui a donné cet avis salvateur !
C’est ce que je me suis dit. Pas si vite ! Il faut alimenter le module radio en 5 V. Du 5 V, il y en a sur le port USB, mais l’adaptateur n’a que deux bornes marquées A et B — ce sont les fils de liaison RS485. Qu’à cela ne tienne : j’ouvre le boîtier — non collé — et je soude deux fils sur les broches 1 et 4 du connecteur USB.
Fil rose : +5 V
Fil bleu : 0 V (GND).
Ouais, alors, le monsieur, il nous avait dit « Pas de
connaissances en électronique, pas de difficulté, et tout ça… ». OK,
OK. Le bidule module radio, vous
pouvez l’alimenter avec une pile plate de 4,5 V, en coinçant les
fils avec des trombones sur les lames de contact ! Simplement, ne
vous trompez pas de sens (de polarité).
La documentation du module radio nous indique que, pour le mettre en mode configuration, il faut raccorder la broche CONF du circuit interne à la masse GND. L’ouverture du boîtier est quand même très simple : une fois enlevé le bouchon rouge de protection du connecteur d’antenne, le circuit imprimé tombe tout seul !
Mais ici, il va falloir faire deux microsoudures. Ce sera la partie la plus délicate de tout le projet. Ou peut-être planter des épingles dans les pastilles ?
Et comme on n’est pas à l’abri de devoir changer plusieurs fois de configuration, il vaudra mieux laisser ce fil en place, le couper en deux et dénuder les extrémités pour pouvoir rétablir cette connexion, tout en prenant des précautions pour éviter les contacts accidentels.
Après tout ça, le paramétrage à l’aide de l’utilitaire HM-TRP_Setting_GUI.exe est presque un plaisir (mais qu’il est moche) !
La première chose à faire est de choisir le port COM, puis de cliquer sur Open COM. Ensuite, il faut choisir le BaudRate. Ici, déjà un petit ennui : la valeur 62 500 ne se trouve pas dans la liste déroulante. On pourra néanmoins la modifier dans l’option UART BaudRate en bas de la fenêtre. Mais attention : il faudra y réécrire une valeur de la liste pour refaire une configuration, sinon la communication ne fonctionnera plus !
Les autres valeurs peuvent être laissées telles quelles, sauf RF Settings / Bit Rate. Autre problème : il est recommandé de choisir un débit double par rapport à celui de la liaison RS485. Or c’est impossible ici, puisque la valeur maximale est de 115 200 bps alors qu’il nous faudrait 62 500 × 2 = 125 000 ; mettons donc 115 200.
Il n’y a plus qu’à :
Arrivé à ce point, peut-être les spécialistes des liaisons série ou radio auront-ils déjà subodoré des problèmes à venir…
J’ai vraiment fait cette faute de frappe, et je l’ai gardée, lapsus révélateur !
XCSOURCE® 5pcs Adaptateur Convertisseur USB-485
8,99 €, livraison gratuite en France métropolitaine
sur amazon.fr
433M RS485 UART RF Wireless Transceiver Module
$24,99 pièce + port $5,00
sur ebay.fr (lien rompu)