Railunio : Hacker/piloter du Marklin avec CanDIY et Arduino

28 dec 2012: Depuis la sortie de cet article, MCHobby distribue le shield CanDIY (Can Bus), le pack Railuino... et nous avons également produit un tutoriel CanDIY + Railuino en Français.


MCHobby dispose de nombreux clients actifs dans l'environnement Marklin. Nous avons récemment reçu un retour d'information sur le projet Railuino permettant à une Arduino de commander du Marklin par l'intermédiaire d'un shield CanBus.

Cette article est avant tout une approche du projet et librairie Railuino... utilisant une interface CAN-bus sur laquelle circule les différents protocoles Marklin.
Il sera, je pense, une excellente source d'information d'où il est possible de rebondir dans de nombreuses directions. Il n'est pas exclus que MCHobby construise quelques articles blog/wiki à thème pour Arduino et Marklin. Tout dépend de l'intérêt qui sera manifesté à ce premier jet.

Projet Railuino
Voici une traduction partielle et "At The best" de la présentation du projet Railunio... en sachant que MCHobby n'est pas impliqué dans des projets Marklin.
 
Cette librairie vous permet de contrôler votre circuit digital Märklin en utilisant  Arduino et une interface CAN-bus surlaquelle circule les différents protocol Marklin

Cette librairies peut être utilisée de deux façon différentes:

Comme un "Mobile Station 2":

Vous pouvez utiliser une shield Can-Bus (voir détail ci-dessous) et un câble  pour connecter votre Arduino sur un Digital Connector Box d'un "Mobile Station 2".

Et probablement aussi sur une "Central Station 2" mais non testé.

Cela permet de contrôler les locomotives, fonctions et les aiguillages en utilisant les protocoles MM2, DCC et autres.
Vous pouvez même lire et écrire dans les CV/Registre des décodeurs, pour autant que le protocol du décodeur le supporte (DCC ne le supporte pas, MM2 uniquement en écriture, les autres protocoles: cela dépend).

Comme contrôleur InfraRouge: 
Vous pouvez utiliser une simple LED Infrarouge (tient, MCHobby en propose ici) et une résistance (comme décrit ici) et avoir un Arduino qui s'adresse à chacun des boitiers Infrarouge récepteur souvent fournit dans les différents kit de démarrage Marklin. Cela permet de contrôler 4 locomotives MM2 sur des Adresses Fixes (les adresses Delta classiques).
Vous pouvez également contrôler 16 aiguillages (c'est une fonctionnalité non documentées des boites infrarouge, et le contrôleur Infrarouge original de Marklin ne le supporte pas).


Hormis le fait de pouvoir contrôler différents éléments Marklin du réseau, la librairie vous permet de recevoir un rapport de l'utilisation des sections de voies en utilisant le protocol standard S88 bus.

Installation de Railuino
L'installation est vraiment simple.
Vous sélectionnez la dernière mise à jour depuis la page de téléchargement (Download en anglais).
Placez le contenu du répertoire "src" dans un répertoire "Railuino" que vous placez sou le répertoire "libraries" (lui même dans le répertoire Arduino)

Redémarrez ensuite votre environnement Arduino. Vous devriez voir une tonne de nouveaux exemples qui vous permettrons d'apprendre à utiliser Railuino.
L'exemple "Misc/Tests" est une excellente façon de valider votre montage/installation.

Tutoriel et documentation Railuino
Pour la documentation des fonctions, vous pouvez lire les commentaires disponible dans le le fichier "Railuino.h".

Par contre, nous avons aussi produit un Tutoriel en Français pour prendre le contrôle de vos train Marklin avec CanDIY et Railuino 

Il y a également plusieurs slide consacrés à la programmation... vous les trouverez dans la section "Référence" de cet Article.  Finally, there is a video from LinuxTag and another one from DroidConNL on YouTube.

Licence de Railuino
La librairie est elle même disponible sous licence GNU Lesser General Public License (LGPL). Voyez le fichier LICENSE pour plus de détails.
Tous les exemples excepté ceux de la suite de tests sont sous la licence Creative Commons Zero license, ce qui les rends disponible dans le domaine publique. La suite de test est également sous le couvert de la licence LGPL.


Vidéo de présentation de Railuino
L'auteur propose également une vidéo en Allemand de présentation (dont le document maitre est repris ci-dessous dans les référence).

Vidéo de présentation de Railuino - Android
Grâce à l'Arduino Android Kit, il est possible d'utiliser le meilleur d'Android avec le meilleur d'Arduino (et donc Railuino).
Cela permet de commander des trains a partir de son téléphone Android!!!
Voici la vidéo de présentation de Railuino @ DroidConNl... (en Anglais cette fois-ci!!!)


Shield Can-Bus
Il est possible de réaliser un Shield CAN Bus Arduino soit même à l'aide de quelques composants que vous trouverez sur le schema ci-dessous.
Source: Stephan Waterot, voir ici sur GitHub. Basé sur les travaux de Jörg Pleumann

CANdiy Shield (du schéma ci-dessus)
Source: Stephan Waterot, ici sur GitHub
Où acheter
Références

Projet Railuino
Détails du standard S88-Bus
Das CAN digital Bahn Projekt
  • System und Modulübersicht
    Site Allemand proposant du matériel/Projet Can-Bus pouvant s'interfacer avec du matériel Marklin. Les schématiques sont assez intéressante.
Remerciements
Je tiens à remercier Mr Geoffroy qui se reconnaitra.