JMRI Hardware Support - JMRIClient and SimpleServer

# Support Matériel: Connexion JMRIClient

La connexion JMRIClient fournit une méthode de connexion à distance d'un programme JMRI à un autre. Il peut être utilisé pour construire un panneau sur un ordinateur qui est connecté au réseau directement, mais actuellement fait fonctionner le panneau sur un ordinateur sans connexion physique au réseau.

La connexion JMRIClient peut aussi être utilisée pour partager des informations entre deux oprérateurs voisins sans répliquercomplètement les informations sur chaque ordinateur. Cette configuration est particulièrement utile sur les configurations modulaires où plusieurs constructeurs de module sont impliqués.

## Connexion

### Le Serveur Simple JMRI

"Simple" dans ce cas, désigne en fait le protocole, pas le serveur lui-même. Il utilise des commandes assez simples qui incluent le nom du périphérique (sauf pour la commande d'alimentation) pour envoyer des informations bi-directionnelles. Le protocole limite les actions qui peuvent être prises, de sorte qu'il sera éventuellement remplacé par un protocole plus complet (et complexe).

Le serveur prend en charge actuellement le basculement d'aiguillages, la commutation de lumières et , les commentaires des capteurs, des commentaires de Rapports et la commande d'alimentation. Vous pouvez démarrer le serveur à travers une action configuration. Il utilise le port TCP 2048. Le Port est situé dans une préférence, de sorte que vous pouvez le changer si nécessaire.

## JMRIClient

JMRIClient fonctionne avec le serveur pour permettre la commande à distance des aiguillages, lumières, alimentation, et la rétroaction à distance des capteurs et Rapports.

Pour configurer le JMRIClient, vous pouvez sélectionner l'option "JMRI (Réseau)" dans la liste des fabricants de Systèmes. Sous cette option se trouve "Connexion Réseau JMRI". Vous pouvez avoir plusieurs interfaces "Connexion Réseau JMRI" configurées.

Le client utilise actuellement le préfixe du système pour déterminer ce qu'il faut envoyer au serveur. Si votre serveur dispose d'une connexion avec un préfixe "XYZ", vous avez besoin de configurer votre client avec le préfixe "XYZ" pour pouvoir accéder aux dispositifs nommés sur le serveur.

Si vous avez plus d'un système connecté au serveur, vous devez configurer plus d'une connexion client. NOTE: Il y a actuellement un avertissement lorsque vous configurez plus d'un client, parce que toute l'information du port est la même. Vous pouvez ignorer ceci pour une connexion réseau.

Une fois que le client a envoyé une requête au serveur sur un objet, tous les les changements d'état sont affichés à la fois sur le client et le serveur.

## Exemples d'exploitations

### Duplication de connexion simple

L'utilisation opérationnelle la plus simple de JMRIClient et du serveur simple est d'avoir un ordinateur relié directement au réseau (l'ordinateur serveur) et un second ordinateur (l'ordinateur client) relié au premier par l'intermédiaire d'un réseau informatique où vous souhaitez faire fonctionner un panneau.

Pour cet exemple, nous supposerons que le serveur dispose d'une connexion LocoNet avec le préfixe "L".

Sur l'ordinateur serveur, ouvrez les Préférences et sélectionnez le groupe Démarrage. cliquez sur le bouton "Ajouter une action", et sélectionnez "Démarrer serveur simple JMRI" dans la liste d'options. Enregistrer les préférences et redémarrez le programme.

Sur la machine cliente, ajouter un "(Réseau) JMRI" connexion. Changer le préfixe système connexion pour "L". et définir l'adresse IP à l'adresse IP du serveur. Sauvegarder les préférences et redémarrez le programme.

Une fois que les deux ordinateurs ont redémarrer JMRI, vous serez en mesure de charger un fichier panneau sur l'ordinateur client qui a été créé au paravant sur l'ordinateur serveur.

Chaque machine aura son propre ensemble de fichiers tableaux et (éventuellement) de panneau chargés, si le client déclenche une action, l'information sera transférée vers le serveur, et le serveur va déclencher une action sur le réseau. Si une action se produit sur le serveur, le serveur tramsmet une indication de l'action au client si le client a a indiqué qu'il s'intéresse à l'appareil.

## Remarques sur l'utilisation

1. Si vous avez des logixs ou des itinéraires, vous voulez probablement que ceux-ci ne s'exécutent que sur une des deux machines.
2. Pour tout renseignement sur une lumière / aiguillage / capteur qui doivent être restitué au client, il doit être défini sur le client.

3. L'inversion est définie à la fois pour les capteurs et les aiguillages. Si l'invertion est activée à la fois par le client et le serveur, le dispositif réel aura un comportement normal lorsque le client l'utilisera.

   Celui-ci est intéressant, car il peut être un bug ou pas un bug en fonction de votre cas d'utilisation.

   Si votre cas d'utilisation est que le client et les serveurs ont des panneaux en cours d'exécution , alors vous pourriez considérer cela comme un bug. Il existe deux solutions de contournement dans ce cas 1) charger un panneau sans configuration d'inversion sur le client ou 2) Exécutez le panneau sur le serveur via une seconde instance de JMRI qui est agissant comme un client pour la première instance.

   Si votre cas d'utilisation est que le serveur fournit juste les connexions, mais ne fait pas de logique, alors ce n'est pas un bug.