En résumé si j'ai bien compris (j'ai survolé les docs) :
Le standard C/MRI couvre à la fois du matériel (transmission via RS485 le long d'une chaine de nœuds, chaque nœud assurant la transmission eu nœud suivant si le message n'est pas pour lui) et du logiciel : format de trame.
JMRI supporte un système de configuration des capteurs (et des actionneurs) pour un certains nombre de cartes compatibles C/MRI : USIC, SUSIC ou Smini. La SUSIC par exemple est une carte supportant jusqu'à 64 cartes filles, chacune avec 24 ou 32 lignes. Donc 64 x 32 = 2048 E/S
L'avantage est que JMRI permet de configurer ceci de manière plus conviviale via une interface graphique.
L'idée est donc de faire une carte qui, par exemple, se fait passer pour une SUSIC (enfin un peu moins, 2048 E/S c'est 158 Satellites mais on peut imaginer d'avoir des passerelles CAN-CAN de manière à monter au dessus de 100 nœuds). Elle reçoit des trames de JMRI via la ligne série. Ces trames sont telles que décrites dans un manuel payant mais que j'ai trouvé sur le NMRA :
https://www.nmra.org/sites/default/files/standards/sandrp/pdf/S-9.10%20CMRInet%20DRAFT.pdf d'une part. D'autre part, elle transcode ces messages à destination de cartes Satellite V1 (ou V2). À l'inverse elle reçoit les messages des Satellites et les transcodes pour se faire passer pour une SUSIC.
C'est l'idée ?