Auteur Sujet: JMRI et DCC++  (Lu 692 fois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1175
  • 100% Arduino et N
    • Voir le profil
JMRI et DCC++
« le: février 26, 2018, 12:40:56 pm »
Bonjour à tous,

Le logiciel gratuit JMRI est un logiciel complet de pilotage de réseau qui peut être téléchargé et installé en partant de cette page : http://jmri.sourceforge.net/help/en/html/apps/DecoderPro/Install.shtml

Vous connaissez bien DCC++, la centrale DCC gratuite abondamment décrite sur Locoduino et généreusement traduite en bibliothèque par Thierry, sous le nom de DCCpp.

Comme JMRI supporte DCC++ et peut-être DCCpp, ce fil est destiné à recueillir vos expériences et vos questions.

Je propose que les premières contributions soient centrées sur l’installation et la mise en route pour constituer un base documentaire à laquelle il sera facile de se référer.

Amicalement
Dominique

nopxor

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : JMRI et DCC++
« Réponse #1 le: février 26, 2018, 03:12:39 pm »
Bonjour,
Excellente initiative de dédier un sujet à JMRI car c'est un très bon prolongement à DCC++ et à d'autres montages à base d'Arduinos.

JMRI est un logiciel gratuit de contrôle de trains miniatures.
Il s'interface avec une multitude de matériels du commerce mais aussi avec du DIY Arduino comme DCC++ et C/MRI.

JMRI est écrit en JAVA, il est donc "multiplatforme".
C'est à dire qu'il est compatible Windows, Mac et Linux pour autant que JAVA(runtime) soit installé préalablement.

Il est conseillé de télécharger la dernière version "Production release" car elle bénéficie des corrections de bugs.
http://jmri.sourceforge.net
La prise en charge de DCC++ a été améliorée dans la dernière version à ce jour, la 4.10.

Certains pourraient être tentés d'utiliser un (très) vieux PC.
J'ai personnellement essayé avec un PC 32 bits acceuillant un linux Debian 9,
mais je n'ai pas réussi à faire tourner JMRI (version JAVA incompatible).

Je me suis donc rabattu sur un Windows 7 qui fait bon ménage avec JMRI.
Je n'ai pas testé sur Mac.

Après installation on peut accéder à DecoderPro et à PanelPro.

DecoderPro permet la gestion et la programmation des locomotives.

PanelPro permet d'avoir un poste de commande centalisée (TCO) du réseau à l'écran et de gérer l'exploitation.

nopxor

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : JMRI et DCC++
« Réponse #2 le: février 26, 2018, 06:31:52 pm »
Bonjour,

DecoderPro:
C'est le "couteau suisse" du DCC.
Il va d'abord permettre de tester la Base Station DCC++ que l'on connecte au PC soit par USB, soit par Ethernet.

D'abord on va définir DCC++ comme étant le matériel connecté.

Cliquer dans le menu Edition -> Préférences.

Rubrique Connexions:

   - Fabricant système: Choisir DCC++ dans le menu déroulant.

   - Connexion système: Choisir le mode Serial port si la Base Station DCC++ est connectée en USB.
                         Choisir Ethernet si la Base Station communique via un shield Ethernet.
                         En mode non connecté on choisira DCC++ Simulator.      

   -Réglages: identifier le port com ou l'adresse IP selon la connexion choisie.

Cliquer sur Enregistrer pour sauver la configuration.
Le programme redémarre avec en mémoire la configuration DC++.


Dans le menu déroulant en haut au milieu à coté du bouton ON, sélectionner DCC++.

Il est temps de cliquer sur ce bouton ON:

Si vous avez connecté des diodes Led à la voie principale et à la voie de programmation, celles ci vont s'allumer, indiquant que les voies sont sous tension.
http://www.locoduino.org/spip.php?article187

Si ce n'est pas le cas, aller dans le menu DCC++ et cliquer sur Traffic Monitor pour voir si JMRI et DCC++ communiquent bien.
Il est possible dans ce menu, avec Send DCC++ Command, d'envoyer des commandes directes à la Base Station.
Il y a aussi, avec Track Current Meter, un ampèremetre digital qui mesure le courant consommé sur la voie.


DecoderPro répertorie dans une base de données les locomotives du réseau.

A la première mise en route, la fenêtre "Getting Started" aide à la prise en main.

On ajoute une nouvelle Loco en cliquant en haut à gauche sur le +
puis on renseigne, si on les connait, la marque et le modèle du decodeur DCC de la loco.

DecoderPro peut éventuellement détecter de quel type de décodeur il s'agit:
Sélectionner à droite: Programmation sur la voie de programmation et placer la loco sur celle-ci.
Mettre la voie sous tension avec le bouton ON.
Appuyer sur le bouton "Lire le type depuis le décodeur".

Donner un nom à cette loco et renseigner son adresse DCC.

Sauver.
Fermer la fenêtre.

Il faudra procéder de cette façon à l'enregistrement de toutes les locos du réseau.

Une fois celles ci enregistrées, elles apparaissent dans la liste inventaire (roster).



Pour vérifierle bon fonctionnement de DCC++, on va tester le fonctionnement d'une loco sur la voie principale:

Sélectionner le bouton programmation sur la voie principale.
Poser une loco sur la voie.
Cliquer sur ON.
Le bouton doit ëtre vert.
Sélectionner le nom de la loco dans la liste en cliquant sur sa ligne dans le tableau.(la ligne devient bleu)
Cliquer en bas à droite sur Régulateur.

La fenêtre du régulateur apparait avec le nom et l'adresse DCC de la loco.

Actionner à la souris le potentiomètre rectiligne vertical.

Si tout va bien la loco doit bouger.
Si elle part en sens inverse, cela se corrige facilement dans la fenêtre de programmation.
Les feux peuvent aussi s'allumer si on appuie sur le bouton Lumières.

On peut tester aussi le fonctionnement multiple de plusieurs locos:
cliquer sur une autre loco dans l'inventaire (la ligne devient bleu)
puis cliquer à nouveau en bas à droite sur Régulateur.

Un deuxième régulateur apparait pour contrôler le fonctionnement de celle-ci.

Si tout se passe bien, la Base Station DCC++ est opérationnelle.

Sinon Re-vérifiez son cablage et la programmation Arduino.
Le forum est aussi là pour vous aider si les ennuis persistent.

N'étant pas spécialiste de la partie programmation des décodeurs DCC, Je passerai volontiers la main pour la suite des explications concernant la fenêtre programmation DCC.

nopxor

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : JMRI et DCC++
« Réponse #3 le: mars 08, 2018, 12:31:23 am »
Bonjour,

Je vous présente quand même brièvement la partie programmation de DecoderPro:

mettre la loco dont on veut programmer le decodeur sur la voie de programmation.
sélectionner le bouton: Programmation sur voie de programmation.
sélectionner DCC++ dans le menu déroulant en haut au milieu (pas internal)
Cliquer sur le bouton de mise en route.

Il faut sélectionner la loco en cliquant sur son nom dans la liste.
Ensuite on clique sur le gros bouton Programme.

On accède alors à la fenêtre de programmation de la loco.

Elle comprend pas moins de 18 onglets !

L'onglet Fiche de la loco reprend ses éléments d'identification.

L'onglet Basic concerne l'adresse de la loco, c'est là qu'on peut la reprogrammer à une adresse différente.
C'est là aussi qu' on peut changer le sens de la marche.

Je ne vais pas détailler les autres onglets, ce serait trop long, je vous renvoie vers la documentation:
http://jmri.sourceforge.net/help/fr/html/apps/DecoderPro/Tour.shtml

Pour la documentation générale de JMRI, il y a l'index des pages en français ici:
http://jmri.sourceforge.net/help/fr/webindex.shtml

Et l'index des pages en anglais (plus fourni) là:
http://jmri.sourceforge.net/help/en/webindex.shtml

Pour plus de détails sur les onglets de programmation, voir le paragraphe "The Comprehensive Programmer" en anglais:
http://jmri.sourceforge.net/help/en/manual/DecoderPro3/index.shtml

A suivre, la présentation de PanelPro...

nopxor

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : JMRI et DCC++
« Réponse #4 le: mars 08, 2018, 05:51:12 pm »
Bonjour,

Avant de passer à PanelPro, on va tester la commande par WIFI:

D'abord il faut télécharger l'application sur sa tablette ou son mobile.
Il y a "WiThrottle" sur l'App store (Apple) et "EngineDriver" et "Digitrains" sur le Play store (Androïd).

Ensuite sur le PC, dans le menu Actions, cliquer sur Lancer Serveur WiThrottle.
La fenêtre affiche l'adresse IP du serveur ainsi que le port.
Allumer le bouton qui passe en vert.

Se connecter au réseau WIFI depuis depuis son appareil.
Lancer l'application.
La connection au serveur est soit automatique (Apple), soit il faut renseigner l'adresse IP et le port (Androïd).

Sélectionner la loco à télécommander et actionner le potentiomètre tactile.
Et là, c'est magique, la loco répond aux ordres.

A noter qu'avec un mobile il y a une option pratique qui arrête la loco en cas d'appel téléphonique.

Il y a 2 versions de "WiThrottle" une gratuite  et une payante plus complète pour Ipad ou Iphone. Je n'ai pas testé la payante.

Sur Androïd les 2 sont gratuites et "Digitrains" semble vraiment très complète puisqu'on peut commander les aiguillages, les accessoires et les itinéraires.

A noter aussi que l'on peut connecter en même temps une tablette Ipad et un mobile Androïd au serveur.

nopxor

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : JMRI et DCC++
« Réponse #5 le: mars 09, 2018, 04:45:08 pm »
Bonjour,

Présentation de PanelPro:

C'est depuis ce logiciel que l'on va exploiter son réseau.
C'est à dire commander à distance les aiguillages, les accessoires, les itinéraires du réseau ainsi que visualiser la signalisation et l'état d'occupation des cantons.
On va utiliser pour cela un panneau de contrôle.

PanelPro propose 2 types d'éditeurs de panneaux distincts:
- l'éditeur de réseau qui crée un schéma unique complet du réseau.
- l'éditeur de panneau qui crée des vues partielles.

L'éditeur de panneau est plus dédié aux grands réseaux, mais on peut utiliser les 2.

Présentation des 2 là:
http://jmri.sourceforge.net/help/fr/html/apps/PanelPro/PanelPro.shtml

PanelPro va communiquer avec le réseau pour commander des aiguillages, des accessoires et pour recevoir l'état des capteurs d'occupation.
Il reconnait pour cela de nombreux systèmes d'Entrées/Sorties qui ont chacun leur standard.

Avec DCC++ il est possible de commander des aiguillages et des sorties de plusieurs façons:
- en envoyant des ordres au standard DCC à des décodeurs d'accessoires relié au bus DCC.
- en envoyant des commandes de changement d'états aux pins de sortie de la carte Arduino DCC++.

Plus d'infos là:
http://jmri.sourceforge.net/help/en/html/hardware/dccpp/Turnouts.shtml

Les entrées ne sont pas gérées par le standard DCC.
Mais avec DCC++ on peut quand même relier des capteurs d'occupation de cantons à des pins d'entrée de l'Arduino DCC++.
http://jmri.sourceforge.net/help/en/html/hardware/dccpp/Sensors.shtml

Pour un petit réseau, un Arduino Mega dédié à DCC++ peut suffire avec ses 70 entrées/sorties.
Cependant si le réseau est important il faut ajouter un autre système à JMRI.

Fort heureusement, parmi les nombreux systèmes reconnus par JMRI, il y en a un qui est compatible avec nos cartes Arduino.
C'est le système C/MRI (Computer Model Railway Interface).

A l'origine, c'est un système du commerce de cartes Entrée/Sorties communiquant en réseau relié au PC.
Mais Michael Adams a écrit une bibliothèque pour Arduino qui permet d'utiliser un Arduino à la place de ces cartes.
http://www.utrainia.com/65-arduinocmri-and-rs485

Les Arduinos sont reliés entre eux simplement par un Bus RS485 à 2 fils et un adaptateur USB-RS485 relie le BUS au PC JMRI.
Le bus RS485 est un système simple et robuste qui a fait ses preuves dans l'industrie.

Avec cette bibliothèque Arduino, il est possible de se fabriquer des cartes entrée/sorties pour un prix dérisoire et de les relier à JMRI.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1175
  • 100% Arduino et N
    • Voir le profil
Re : JMRI et DCC++
« Réponse #6 le: mars 09, 2018, 07:05:41 pm »
Merci NOPXOR pour cette présentation de JMRI, de ses 2 volets Décoder Pro et Panel Pro.
J’avoue que j’ai installé JMRI sur mon Mac mais je ne l’ai pas encore essayé vu qu’il est situé dans une autre pièce que le réseau.


Je voudrais ajouter, qu’en plus du RS485, JMRI supporte aussi le bus CAN.

http://jmri.org/help/fr/html/hardware/can/index.shtml

Il y a bien plus d’exemples de mise en œuvre du CAN sur Locoduino que du RS485.
Il ne manque plus que l’interface CAN/usb compatible OpenLCB ou LCC.

Chiche ?


nopxor

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : JMRI et DCC++
« Réponse #7 le: mars 10, 2018, 08:21:20 pm »
Bonjour,

Oui, le RS485 fait un peu "old style" par rapport au CAN, mais l'adaptateur USB coute 1€, ce qui est environ 100 fois moins cher que l'adaptateur USB-CAN chez Lextronic.  ;)
Pourtant les interfaces USB-CAN de voitures sont bon marché. Seraient-elles compatibles ?

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1175
  • 100% Arduino et N
    • Voir le profil
Re : JMRI et DCC++
« Réponse #8 le: mars 11, 2018, 09:55:48 am »
Non, mais un Arduino à 3€ avec une carte Can à 1,5€ ça le fait très bien et sans surprise.

Il faut juste développer dans l’Arduino un protocole série compatible JMRI, ce qu’un adaptateur pour voiture ne fera jamais.

En partant de l’article 180

http://www.locoduino.org/spip.php?article180

Il doit être assez simple de faire une passerelle CAN pour JMRI.
« Modifié: mars 11, 2018, 10:07:33 am par Dominique »

msport

  • Sr. Member
  • ****
  • Messages: 377
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : JMRI et DCC++
« Réponse #9 le: mars 11, 2018, 10:28:11 am »
Bonjour,
apparemment, il y a déjà quelque chose qui existe pour lier un bus CAN at JMRI :
http://jmri.org/help/en/html/hardware/can/index.shtml#tools
Cordialement
Cordialement

bobyAndCo

  • Full Member
  • ***
  • Messages: 191
  • HO avec DCC++
    • Voir le profil
Re : JMRI et DCC++
« Réponse #10 le: mai 27, 2018, 06:44:06 am »
Trouvé au hasard du net pour ceux qui s'intéressent au très bon JMRI. Une solution complète JMRI/DCC++ à base de Raspberry et Arduino Uno avec en prime le WiFi donc pilotage à partir d'un smartphone. Le tout probablement pour moins de 100 €.



Bon WE à tous, Christophe

DDEFF

  • Sr. Member
  • ****
  • Messages: 432
    • Voir le profil
Re : JMRI et DCC++
« Réponse #11 le: mai 31, 2018, 12:05:49 pm »
Merci Christophe,

Sympa comme tout.
Je note l'absence de tout ordinateur (portable ou pas). Assez rare pour être remarqué.
Évidemment, avec une Framboise, on en a un quand même.  ;)

Denis