Modifications

Sauter à la navigation Sauter à la recherche
7 064 octets ajoutés ,  23 février 2014 à 15:36
aucun résumé de modification
Ligne 97 : Ligne 97 :     
Dans l'exemple ci-dessus:
 
Dans l'exemple ci-dessus:
* Vous pouvez utiliser le convertisseur USB/Série de votre carte Arduino pour permettre à votre application PC de communiquer directement avec votre programme Arduino.<br />Vous pouvez ainsi écrire des logiciel répondant directement et exactement à votre besoin.
+
* Vous pouvez utiliser le convertisseur USB/Série de votre carte Arduino pour permettre à votre application PC de communiquer directement avec votre programme Arduino.<br />Vous pouvez ainsi écrire des logiciel répondant directement et exactement à votre besoin. C'est le cas, de [http://yaasan.mints.ne.jp/feature.html Desktop Station de Yaasan]
 
* Utiliser une interface Bluetooth pour Arduino et écrire votre propre application de gestion sur Android. Voir le document "[https://railuino.googlecode.com/files/2013-08-01-Railuino-Directors-Cut.pdf Slides from Maker Faire Hannover 2013]" disponible sur le site du [https://code.google.com/p/railuino projet Railuino].  
 
* Utiliser une interface Bluetooth pour Arduino et écrire votre propre application de gestion sur Android. Voir le document "[https://railuino.googlecode.com/files/2013-08-01-Railuino-Directors-Cut.pdf Slides from Maker Faire Hannover 2013]" disponible sur le site du [https://code.google.com/p/railuino projet Railuino].  
    
[[Fichier:Railuino-Theorie-MM2-03.jpg|640px]]
 
[[Fichier:Railuino-Theorie-MM2-03.jpg|640px]]
 +
 +
Dans l'exemple ci-dessus, nous établissons une liaison série matérielle entre Arduino (broches 0 et 1 pour RX/TX) et le port série matériel d'un Raspberry Pi.
 +
 +
Ce qui permet un dialogue structuré entre Arduino et Raspberry-Pi. Un Raspberry supportant un système d'exploitation de type Linux, il est possible d'écrire des applications de très hauts niveaux (nettement plus sophistiquées) déléguant la base besogne de communication (et contrôle primaire) Marklin à Arduino.
 +
 +
Ni disposons d'ailleurs de tutoriel mettant en oeuvre le port série matériel du Raspberry Pi dans le cadre d'une [[RASP-GPS-ULTIME|application GPS]] et d'une [[RASP-GOF-GSM-GPRS|application GSM/GPRS]]
 +
    
[[Fichier:Railuino-Theorie-MM2-04.jpg|640px]]
 
[[Fichier:Railuino-Theorie-MM2-04.jpg|640px]]
 +
 +
L'exemple ci-dessus met un oeuvre un bus I2C (supporté aussi bien sur Raspberry qu'Arduino) pour commander/coordonner plusieurs circuits Marklin... voire même supporter des périphériques I2C supplémentaires... comme des afficheurs, voire même des servo-moteurs donnant plus de vie à la scène.
    
=== L'adressage ===
 
=== L'adressage ===
 +
 +
L'adressage dans Railuino se fait assez simplement à partir de constantes... et du numéro d'identification de votre machine.
 +
 +
 +
Par exemple, pour la machine identifiée par le numéro 78 et fonctionnant sur le réseau Motorola 2 (MM2) nous utiliserons la déclaration.
 +
 +
<nowiki>const word    LOCO  = ADDR_MM2 + 78;</nowiki>
 +
 +
Notez l'usage de ADDR_MM2 identifiant la méthode d'adressage et l'identification de la loco (78).
 +
 +
Autre exemple, pour l'aiguillage identifier sous le numéro 3.
 +
 +
<nowiki>const word    TURN  = ADDR_ACC_MM2 + 3;</nowiki>
 +
 +
Notez dans ce cas, que l'adresse Motorola 2 (MM2) commence par ADDR_ACC_MM2 (pour les ''accessoires'').
    
== Railuino et MFX ==
 
== Railuino et MFX ==
    +
L'utilisation d'une loco MFX avec railuino nécessite une manipulation avec une centrale station... La raison découle de l'initialisation plus complexe d'une loco MFX.
 +
 +
=== Initialisation MFX sous le capot ===
 +
 +
Voici ce que nous avons appris sur l'initialisation des machines et addresses MFX (Merci à Goeffroy qui se reconnaîtra).
 +
 +
Les décodeurs MFX supportent différents protocoles... du plus évolué vers le moins évolué. C'est forcement le protocole le plus évolué qui s'initialise avec ses propres spécificités dynamiques. Le protocole MM2 est également actif mais en second plan (après l'activation MFX), ce détail à son importance si l'on veux comprendre les interactions avec CanDIY.
 +
 +
Apparemment, les boîtiers de connexion Marklin enverraient des micro-coupures sur le circuit. Ces micro-coupures passent totalement inaperçu sur les machines normales qui sont équipées de capacités pour assurer la stabilité de leur propre source d'alimentation. Par contre, ces micro-coupures sont attendues et détectées par les machines MFX. Si la machine n'a pas encore d'adresse, elle commence sa phase d'initialisation et initie un protocole d'échange avec un Mobile Station 2 qui gère le protocole d'assignation et attribue dynamiquement l'adresse à la Loco MFX.
 +
 +
En attribuant cette adresse MFX, votre loco dispose également d'une adresse MM2 à partir de laquelle il sera possible de commander la loco MFX.
 +
 +
Mobile Station 2 <-> MFX (adresse dynamique) <-> MM2 (adresse fixe) <-> CanDIY .
 +
 +
=== Comment faire? ===
 +
Pour l'heure, et a cause du système d'adressage dynamique, '''il faut connecter une Mobile Station 2''' sur le module de connexion et sniffer (écouter) les échanges de données entre la "Mobile Station" et la Loco pour découvrir l'adresse dynamique assignée au vol (par la Mobile Station).
 +
 +
Voici une marche à suivre:
 +
# vous branchez votre CanDIY et le programme "Railuino > Misc. > Sniffer" et espionner les communications.
 +
# Vous branchez ensuite votre Mobile Station 2 (assurez vous d'avoir un emplacement libre, dans l'espace d'adressage MM2, permettant l'enregistrement de votre Loco MFX).
 +
# Vous déposez votre Loco MFX sur les rails et attendez la détection et initialisation de celle-ci.
 +
# Votre Mobile Station doit avoir assigné une adresse dynamiquement à votre machine MFX, adresse que vous devriez pouvoir retrouver dans les trames de communication à l'aide du Sniffer. 
 +
# Débranchez votre Mobile Station, votre LOCO MFX dispose d'une adresse fixe jusqu'à sa prochaine reconfiguration (initié par une "Mobile Station 2").<br />Vous pouvez maintenant utiliser cette "adresse fixée" assignée dynamiquement avec CanDIY et vos programmes Arduino.
 +
 +
En effet, comme déjà précisé, l'adresse d'une machine MFX est réellement fixée dynamiquement par le module "Mobile Station 2"... rien à voir avec le protocole MM2 où l'identification est fixe et statique (dans la machine).
 +
 +
=== Durée de validité de l'adresse ===
 +
Comme indiqué, la "Mobile Station 2" permet d'assigner une adresse que vous pouvez utiliser ensuite avec CanDIY.
 +
 +
Cette adresse est "permanente" mais reste d'une certaine façon temporaire.
 +
 +
Lorsque vous mettez votre circuit hors tension, la Loco MFX préserve cette adresse pendant un certain temps. Mais au bout d'un moment cette adresse n'est plus "valide".
 +
 +
Si vous rebrancher votre "Mobile Station 2" sur le circuit, cette dernière se souvient de l'adresse initialement donnée à la loco... et réactive la même adresse adresse pour la Loco.
 +
 +
Note:<br />''Le temps de préservation de l'adresse est inconnu, notre Loco était restée hors tension pendant plus d'une semaine lorsque nous nous sommes aperçu de la perte d'adresse''.
 +
 +
=== L'adressage ===
 +
Par la suite, vous commandez votre Loco MFX en utilisant la constante '''ADDR_MFX''' et l'adresse connue.
 +
 +
L'adressage des machines MFX dans Railuino se fait aussi simplement qu'avec les décodeurs MM2. Il suffit d'utiliser la bonne constante... et du numéro d'identification de votre machine MFX.
 +
 +
Par exemple, pour la machine identifiée par le numéro 83 et fonctionnant sur le réseau MFX nous utiliserons la déclaration.
 +
 +
<nowiki>const word    LOCO  = ADDR_MFX + 83;</nowiki>
 +
 +
Notez l'usage de ADDR_MFX identifiant la méthode d'adressage et l'identification de la loco (83).
 +
 +
=== Meilleur support MFX ===
 +
 +
Joerg Pleumann (créateur de Railuino) à l'intention de se pencher sur une meilleure détection et assignation de l'identifiant MFX.
 +
 +
Yaasan, créateur de [http://yaasan.mints.ne.jp Desktop Station] propose la [http://yaasan.mints.ne.jp/faq.html#Q9 manipulation suivante] traduite ci-dessous.
 +
 +
<small>'''Q9. Railuino ne fonctionne pas avec les motrices mfx.'''
 +
 +
Nous avons analysé le boitier de connexion digital marklin 60113. 60113 envoi beaucoup de paquets inconnus vers Arduino lorsqu'une loco mfx est placée sur les rails. Essayez les opérations suivantes en guise de solution temporaire. La loco MFX retiendra/maintiendra une configuration (''some configuration'') pour fonctionner avec une MS2.
    +
* Faite fonctionner votre LocoMFX avec une Mobile Station 2 Marklin (MS2).
 +
* Arrêtez votre locomotive MFX.
 +
* Coupez toutes les fonctions.
 +
* Pressez le bouton Stop sur la MS2.
 +
* Eteignez votre MS2 et 60113.
 +
* Essayez de nouveau avec Railuino.</small>
 +
 
{{Railuino-TRAILER}}
 
{{Railuino-TRAILER}}
29 917

modifications

Menu de navigation