Communications entre JMRI et Arduino
Pour pilotez votre réseau avec JMRI
Vous répondez à :
Bonjour,
Je recherche un patch en français, pour le logiciel JMRI 4.17.4. Je ne parle pas l’anglais.
Merci.
Cordialement,
28 Messages
-
Communications entre JMRI et Arduino 2 janvier 2019 11:55, par FCOT2002
Bonjour Dominique,
Bel article. Mais déjà très (trop) avancé dans l’utilisation de JMRI. Je pense que pour manipuler JMRI à ce niveau il faut déjà être passé par quelques heures à comprendre le fonctionnement de JMRI. Et peut-être commencer par des liens plus "simples" entre JMRI et Arduino.
Pour déterminer la chose je suis passé par du code beaucoup plus simpliste, trouvé sur le site de l’UAICF 58 Nevers. Les aiguilles / itinéraires sont plus simples à paramétrer. Mais ce n’est que pour débuter je le rappelle.
Sinon " via un bus CAN, sans changer la configuration et les réglages de JMRI !" voui évidemment car JMRI cause CAN couramment ;-)
Au plaisir de vous lire
-
voui évidemment car JMRI cause CAN couramment ;-)
Homme de peu de foi :-)
JMRI ne voit que l’Arduino auquel il est connecté par l’USB. C’est Arduino (A) joue le rôle de proxy. Il est relié en CAN a un ensemble d’Arduino (E) distribués sur le réseau. C’est sur ces Arduino que sont implantés les capteurs et/ou les actionneurs. L’Arduino (A) maintient un état des capteurs (lus par JMRI) et un état des actionneurs (écrits par JMRI). Il communique à intervalles réguliers avec les Arduino (E) pour synchroniser les capteurs : les états des capteurs de (E) sont reçus par (A) et mis à disposition de JMRI. Il communique également à intervalles réguliers pour synchroniser les actionneurs. Les états des actionneurs de (A) reçus de JMRI sont diffusés à (E). Rien de plus compliqué. JMRI ne sait pas qu’il y a un système distribué relié par CAN.
-
Oui tout à fait, mais je ne voulait pas rentrer dans les détails, juste faire remarquer que JMRI connait CAN ;-)
Et je n’en ai jamais douté.
Comme évoqué avec Dominique ouvrir cet article pour aborder JMRI me semble audacieux, alors rajouter la couche CAN maintenant…
-
Parfois l’audace est un de nos péchés mignons !!!
-
-
-
D’après la page Réseau Can, je cite :
JMRI fournit les fonctions Capteur et Aiguillage, une fois configuré pour OpenLCB ou CBUS "Events".
JMRI peut connecter aus réseaux CAN de différentes façons :
Via USB
C’est comme dans l’article (je pense).
Réseau TCP/IP
Il est également possible de joindre via une connexion TCP/IP (Ethernet ou WiFi). Cela peut aller dans un autre séquence JMRI en cours d’exécution ex : un hub OpenLCB, ou directement à un adaptateur IP-CAN.
On verra cela peut-être plus tard.
Avec l’Arduino proxy cité par Jean-Luc, on ouvre une porte vers des choses interessantes que nous préparons par ailleurs. Stay tuned !
-
-
Communications entre JMRI et Arduino 2 janvier 2019 17:54, par msport
Merci pour cette nouvelle piste pour l’utilisation d’un ordinateur pour piloter nos réseaux. Peut-être plus conviviale que de créer moult lignes de code.
Une question pour Jean-Luc qui a attiré notre attention sur les problème potentiels quand on alimente un Arduino directement en 5V, ce qui est, sauf erreur, proposé ici.Alimenter directement sur la broche 5V engendre plusieurs problèmes :
1 - vous ne pouvez pas in-situ alimenter et charger un nouveau soft par l’USB sauf si vous avez inséré une diode de protection …
J’ai grillé quelques Arduino, souvent dans cette configuration (un Arduino en alimente un autre p.e.) mais ce n’était peut-être pas lié.
D’où la question, y a t il des précautions à prendre dans cette configuration où potentiellement on alimente les capteurs par l’Arduino ?
En tout cas au moins une, qui est de ne pas dépasser la limite thermique du régulateur intégré à la carte de l’Arduino si on l’alimente via le VIN.
Sur le shield, il y a un pont PWR_SEL qui permet de séparer l’alimentation des capteurs de celle de l’Arduino, solution certainement à recommander si on a un grand nombre de capteurs. -
Communications entre JMRI et Arduino 2 janvier 2019 20:31, par Jean-Luc
Je n’ai pas trouvé le schéma électrique de ce shield. Mais la sérigraphie VCC - GND du bornier d’alimentation semble effectivement indiquer que l’Arduino est alimenté via le 5V. Évidemment il serait préférable que ce sensor shield embarque un régulateur 5V et prenne sont entrée d’alimentation sur VIN. Je recommanderais effectivement d’enlever le jumper situé à côté du bornier d’alimentation.
-
Communications entre JMRI et Arduino - JMRI en français 3 janvier 2019 12:57, par Alain LM
Concernant la traduction française de JMRI, qui est effectivement incomplète, je rappelle que JMRI est un logiciel libre (aux sens ’Open Source’) et gratuit dont les développeurs sont tous bénévoles. S’il y a un noyau dur de bénévoles qui poussent du code de façon quotidienne, il y a également quelques occasionnels comme moi-même qui apportent des contributions de temps en temps.
J’ai ainsi complété la traduction française sur plusieurs fonctionnalités ces derniers jours (ce sera pour la prochaine version), mais il reste encore pas mal de travail. Tout le monde peut contribuer ; pour la traduction, ce n’est pas très compliqué, mais il faut installer l’environnement de développement sur son ordinateur - tout est expliqué sur le site.
Avis aux amateurs !
Il est également possible de faire part de vos commentaires, questions et requêtes (de traduction ou fonctionnalités) sur la liste de discussion des utilisateurs JMRI (en anglais cependant).Voir en ligne : Liste de discussion utilisateurs JMRI
-
Communications entre JMRI et Arduino 3 janvier 2019 13:08, par Alain LM
…(trop) avancé dans l’utilisation de JMRI…
Pour réagir à la première remarque sur cet article, il me semble que l’objectif de ce site n’est pas de parler de JMRI mais bien de l’utilisation de l’Arduino. L’article renvoie aux bonnes références sur JMRI dans l’introduction. C’est peut-être avancé par rapport à d’autres d’article du site, mais il en faut pour tous.
Excellente initiative d’avoir traduit les articles de Geoff Bunza. Pour ceux que l’anglais ne rebute pas, il a publié énormément d’articles et de programmes Arduino pour notre loisir. A découvrir sur MRH.
Voir en ligne : MRH : Model Railroad Hobbyist
-
Communications entre JMRI et Arduino 14 mai 2019 16:38, par Blorec Hervé
Bonjour,
je suis en train d’essayer les solutions de communication entre arduino et jmri, je patine un peu mais je devrais pouvoir m’en sortir même à 68 ans. Concernant JMRi je rejoint Alain, j’ai assuré un grosse partie de la traduction, c’est un travail énorme que je continue, s’il y a d’autres volontaire pas de problème
-
Merci Hervé,
Cela promet de prochains articles passionnants ;)
Cordialement
Dominique
-
-
Communications entre JMRI et Arduino 22 septembre 2019 21:37, par Marchand Patrick
Bonjour,
Je recherche un patch en français, pour le logiciel JMRI 4.17.4. Je ne parle pas l’anglais.
Merci.
Cordialement, -
Communications entre JMRI et Arduino 24 septembre 2019 18:24, par msport
La version 4.17.4 est une version test. Est-elle traduite ?
La version de production est la 4.16.
Ayant JMRI 4.10 en français, sans me souvenir l’avoir configuré (pas trouvé dans les préférences), je me demande si c’est lié à la version de Java. Elle est indiquée dans la fenêtre de PanelPro. -
Communications entre JMRI et Arduino 26 septembre 2019 16:42, par luc delchie
Dominique, bonjour,
J’ai réalisé une centrale en utilisant votre article et ceux rattachés à l’utilisation de JMRI / DCC++ etc.
Je me suis appuyé sur vos scripts Python et sketch auduinoun module pour gérer le retour de la présence des trains via une Arduino Mega et des détecteurs de consommation de courant via des optocoupleurs
Le sketck Arduino intègre un filtre numériqueun module pour piloter 8 aiguillages via une Arduino Uno avec le pilotage des aiguillages construit sur des ULN2803A
Comme vous l’indiquiez dans votre article, je souhaiterais gérer les feux de signalisation en utilisant un processus identique à la gestion des aiguillages, soit lire le tableau "feux de signalisation"
J’aurais besoin de votre aide ou des pistes sur la modification du programme correspondant en python
En parallèle, ne sachant pas mettre des pièces jointes dans ce texte, je les ajoute à un article que j’ai ouvert dans le forum
merci
luc-
Luc, cet article est un point de départ pour communiquer entre JMRI et Arduino.
Votre question va plus loin et sort du cadre de cet article. Rejoignez le forum où un dossier est consacré à JMRI. J’y ai déplacé votre question. Les experts JMRI (que je ne suis pas encore) vous répondront probablement.
-
-
Communications entre JMRI et Arduino 2 janvier 2020 20:37, par Martinot Alain
Bonjour, je suis conquis par le projet DCC Arduino pour piloter mon réseau. Je rencontre un petit soucis pour faire fonctionner ma carte Mega : elle se connecte bien au soft JMRI, il m’indique qu’elle est connectée sur le port com4. J’ai bien modifié le port(dans Notepad++) avant de lancer le script dans JMRI mais mes capteur reste ’inconnu’ ? J’ai essayé dans l’autre sens (aiguillage), çà fait pareil.Je sèche un peu, j’ai essayé via un autre port et même un autre pc. Merci de m’éclairer SVP.
-
Communications entre JMRI et Arduino 2 janvier 2020 23:12, par msport
-
Communications entre JMRI et Arduino 16 janvier 2020 22:46, par Jean-Pierre Delwasse
Bonjour Dominique. Merci pour cet excellent article. Je suis membre de l’AMFL et nous sommes en train de moderniser notre réseau N. Comme ce réseau est modulaire, la spécialisation des arduinos pour les entrées et sorties ne sera pas applicable. Nous souhaiterions plutôt avoir sous chaque module un arduino multi-fonctions qui gère à la fois les entrées et les sorties et intègre la logique de traitement des commandes (sorties). Est-ce faisable ? Merci de votre attention.
-
Communications entre JMRI et Arduino 17 janvier 2020 09:56, par Dominique
Bonjour,
la série d’articles La carte Satellite V1 ne répond-elle pas à votre question ?
-
Merci de votre réponse Dominique. J’avais déjà pris connaissance de cet article, mais à mon avis cette solution ne peut être mise entre les mains d’un club dont 95 % des membres maîtrisent à peine les notions d’électricité. Son architecture est parfaite mais il faut une mise en œuvre plus simple.
Nous voulons simplement faire ce que vous avez décrit dans votre réponse ci-dessus commençant par ’Homme de peu de foi !’. Donc, dans mon esprit, il s’agit seulement d’intégrer les deux sketches de Geoff Bunza dans un même Arduino en limitant les tableaux d’aiguillages et de capteurs aux tricts besoins locaux… Comme je ne suis pas un expert programmation Arduino, ma question était : peut-on le faire ?
Bonne fin de journée.-
Bonsoir Jean-Pierre,
Je vous donne la même réponse que j’ai donnée précédemment : Le forum de l’article n’est pas le meilleur endroit pour entrer dans les détails de JMRI. Merci de poser votre question sur le forum http://forum.locoduino.org/index.ph.... Il y a des utilisateurs expérimentés de JMRI !
-
J’hésitais à vous relancer Dominique, je ne voulais pas abuser, mais ma question (je me suis peut-être mal exprimé) ne concernait pas JMRI que je connais sur le bout des doigts, l’utilisant depuis près de dix ans avec CMRI, mais bien Arduino… Vais-je devoir utiliser deux arduinos par module, un pour les entrées et un pour les sorties avec deux ports USB et deux réseaux Can, où puis-je fusionner la recette de Geoff Bunza dans un arduino pour les entrées et sorties de chaque module sur un réseau unifié ? Je cherche à faire de façon plus économique ce que l’on pourrait faire très facilement avec des Smini CMRI distribués reliés par un réseau RS485…
-
Je ne sais pas vous répondre mais vous aurez plus de chance de trouver de l’aide sur le forum que je vous ai indiqué.
-
-
-
-
-
Communications entre JMRI et Arduino 17 janvier 2020 12:03, par CLB89
Bonjour à vous,
Novice dans JMRI je m’essaye à sa mise en oeuvre à partir de votre excellent article "Communications entre JMRI et Arduino", section Aiguillage. Tout marche très bien pour la création du tableau d’aiguillages, mais le script TurnoutDataTransfer.py ne s’exécute pas correctement : je retrouve dans le log session de JMRI l’information suivante :
"
Caused by : Traceback (most recent call last) :
File "<script>", line 22, in <module>
NameError : global name ’extportin’ is not defined
"
La ligne 22 correspond bien au source du script TurnoutDataTransfer.py
J’utilise les dernières versions de JMRI et de java à savoir : PanelPro 4.18+R37ad3d0
et Java version 1.8.0_231(en).
<p>Pourriez vous m’aider !</p> -
Communications entre JMRI et Arduino 17 janvier 2020 14:16, par Dominique
Le forum de l’article n’est pas le meilleur endroit pour entrer dans les détails de JMRI. Merci de poser votre question sur le forum http://forum.locoduino.org/index.ph...
-
Communications entre JMRI et Arduino 27 juin 2020 20:45, par Jean-Pierre Delwasse
Cela fait deux mois que je galère avec les routines en Jython à partir de celles de Geoff Bunza, puis, en revenant sur le site de JMRI, sous la rubrique Connexion avec Arduino, j’ai trouvé la possibilité de simuler une connexion CMRI à travars un lien USB. Il s’agit seulement de charger un simulateur CMRI dans l’Arduino de commande ou de tête de réseau ! Le principe de CMRI est simple : on envoie une adresse à partir de la table des lumières avec un bit on ou off et on reçoit une adresse de la table des censeurs avec un bit on ou off. En simulant une Susic on a accès à 2048 adresses (et beaucoup plus si on utilise plusieurs nœuds)… C’est simple, c’est direct ! Sur le réseau N de l’AMFL, on a besoin d’environ 500 adresses pour les occupations, la rétro des aiguillages, la commande des aiguillages, la commande des relais pour les sources d’alimentation (Dcc + trois sources analogiques), la signalisation et l’info sur les manettes de commande des trains en analogique.
Relaxez, ça marche…Voir en ligne : https://www.jmri.org/help/en/html/h…
-
Merci Jean-Pierre,
Voilà un exemple concret de réalisation qui serait le bienvenu sur le Forum Locoduino (un sujet à créer comme : "Le réseau N de l’AMFL, un exemple de gestion de réseau avec JMRI et C/MRI sur Arduino" dans la rubrique JMRI et Arduino. Ce serait une manière de présenter les nombreux éléments du réseau N de l’AMFL et surtout comment les ingrédients sont asociés dans l’Arduino, les périphériques et les communications. Pour finir : quelques écrans de pilotage sur JMRI pour voir ce que ça donne (et envie d’aller voir ce réseau à Lyon (voir lien). Promis, j’y passerai à l’un de mes prochains passages à Lyon.
Quelle bibliothèque as-tu utilisé ?
La connexion avec l’Arduino passe-t-elle par du RS485 ?
N’hésites pas à me demander de l’aide pour ce fil du forum ;).Voir en ligne : https://www.amfl.fr/reseaux/modulaire-N
-
Merci Dominque. Tu seras certainement le bienvenu à l’AMFL lors de ton prochain passage à Lyon. Préviens-moi quelques jours d’avance pour que je m’assure que les principaux animateurs de notre solution soient présents.
La communication entre l’ordinateur et le réseau (CAN) d’arduinos se fait le plus simplement du monde à l’aide du connecteur USB de l’arduino de tête de réseau. Cet arduino utilise un simulateur CMRI créé par Michael D K Adams et que l’on peut télécharger, avec des exemples d’utilisation à l’adresse
https://github.com/madleech/ArduinoCMRI/zipball/master
Nous avons encore un peu de travail à faire avant de publier nos résultats, mais nous pourrons faire cela au début de l’automne, je pense.
Bon été à tous les arduinistes…
-
-