Bonjour à tous,
A Orléans, vous avez été nombreux à manifester de l’intérêt pour (l’excellent) DCC++ écrit par Gregg E. Berman qui fait aujourd’hui autorité dans le monde du modélisme ferroviaire en DIY à base d’Arduino pour piloter les locomotives en DCC.
Pour fonctionner, DCC++ nécessite deux composants essentiels : DCC++ BaseStation d’une part et un contrôleur d’autre part.
Voir la page officielle du github de DCC++ :
https://github.com/DccPlusPlusBaseStation, c’est l’application qui est chargée sur la carte Arduino. Le contrôleur, c’est l’interface qui vous permet de commander l’application BaseStation.
Les deux pouvant être combinés de différentes manières. Thierry par exemple n’a pas hésité à décliner BaseStation sous forme de bibliothèque (1) alors que de mon côté, je me suis intéressé à décliner différentes interfaces graphiques à partir d’outils « Web » (HTML, JavaScripts, CSS…) permettant de piloter DCC++ BaseStation avec un ordinateur, une tablette ou encore un smartphone. (2)(3)
(1) -
http://www.locoduino.org/spip.php?article228(2) -
http://www.locoduino.org/spip.php?article230(3) -
http://www.locoduino.org/spip.php?article185Au cours des deux dernières années, j’ai cherché et développé des choses un peu dans toutes les directions pour voir ce qu’il était possible de faire. J’ai ouvert quelques fils sur le sujet et déposé un certain nombre de versions différentes ici ou là.
Ce fil a donc pour objectif de faire le point sur ce qui existe, ce qui est opérationnel, ce qui l’est moins ou plus du tout et sur ce que je projette de réaliser pour réponde au mieux aux attentes.
1 – La version la plus complète en termes de fonctionnalités est à ce jour la 4.2 Ethernet dont la partie BaseStation est composée d’un Arduino MEGA, d’un un shield Ethernet et d’une carte Pololu MC33926. (4)
Cette configuration nécessite un serveur Node.js qui fait office de serveur d’application et qui assure la liaison avec BaseStation.
Node.js nécessite d’être installé sur un ordinateur, souvent le même que celui de l’utilisateur (principal).
La mise en place de cette configuration nécessite des connaissances dans quelques domaines comme la communication réseau, les serveurs ou l’usage des lignes de commande... Rien d’insurmontable cependant. En fait, la vraie question est de savoir si vous avez besoin de toutes les fonctionnalités qu’elle apporte.
Cette version permet en effet de lire les CV’s de vos locomotives et de les programmer sur la voie principale et sur la voie de programmation. Elle autorise également de se connecteur avec au moins quatre ou cinq terminaux simultanément. Il est tout à fait possible d’utiliser des terminaux reliés en WiFi au serveur Node.js, ordinateurs, tablettes ou smartphones. Pour ces derniers, j’ai d’ailleurs développé une version simplifiée du contrôleur.
Je recommande une liaison Ethernet entre le serveur Node.js et le MEGA mais il est aussi possible d’utiliser le port série avec peut-être quelques restrictions pour les fonctions de lecture et de programmation de CV’s. Je n’ai pas encore suffisamment testé.
L’une de évolutions majeur que je projette est de porter le serveur Node.js sur RASPBERRY ce qui permettra de disposer d’un serveur performant tout en restant abordable en évitant aussi de monopoliser un ordinateur pour cette tâche.
(4)
La carte moteur Pololu un peu onéreuse offre en contre-partie plusieurs avantages : c’est un shield, facile à installer en limitant le câblage. La voie de programmation et la voie principale sont disponibles sur la même carte et la protection contre les court-circuits et les sur tensions est intégrée à la carte. Mais il est tout à fait possible d’utiliser des cartes moteur différentes comme je l’explique dans cet article : http://www.locoduino.org/spip.php?article1872 - La seconde version en termes de simplicité est la v5.0 Wifi. Une nouvelle fois, je précise que c’est votre besoin que vous devez prendre en compte pour savoir si cette version vous correspond ou pas. Le fait qu’elle porte un numéro de version supérieur à la précédente ne signifie pas qu’elle soit plus aboutie.
Elle porte le nom WiFi, car l’application est « stockée » sur un ESP8266. Son principal avantage est de pouvoir se dispenser de Node.js. Elle est simple à mettre en place.
Elle s’adresse plutôt à ceux qui privilégient l’expérience de jeu car elle bien adaptée pour les tablettes et les smartphones (mais n’est pas encore compatible pour ces derniers).
Cette configuration était présentée à Orléans avec un MEGA, un shield WiFi, un LMD18200 et un MAX471 ce qui en fait un ensemble à la fois puissant (3A), simple et peu onéreux. De l’ordre de 20 à 30 € selon que vous utilisiez un Arduino officiel (recommandé) ou pas.
Il est possible d’utiliser un Arduino UNO à la place du MEGA mais cela nécessite quelques « bidouilles ».
Les évolutions : La version smartphones bien sûr mais aussi un travail sur l’interface graphique pour me rapprocher d’une manette de jeu où l’on trouvera par exemple un cadran pour la vitesse et où chaque terminal (tablette ou smartphone) est plutôt destiné au pilotage d’un petit nombre de locomotives (1 à 4 maxi) et où l’on peut envisager de jouer à plusieurs terminaux.
3 - La troisième possibilité : Une version On Line.J’avais déjà testé avec succès cette possibilité avec la version 3 du Controller Ethernet. Ce n’est donc pas une version ßeta. Mais une telle configuration nécessite des conditions particulières pour son déploiement.
De quoi s’agit t’il tout d’abord : Assez simplement d’applications totalement On Line, c’est à dire que l’on peut y accéder par internet et que l’on n’a donc besoin d’aucune installation particulière (hors le hard), aucun téléchargement ni installation de serveur comme Node.js, ni même de serveur sur un ESP.
Les applications disponibles ne sont pas différentes et offrent les mêmes possibilités que la versions Ethernet ci-dessus. Mais comme on parle maintenant de serveurs en ligne, je dois en plus « blinder » d’autres problématiques comme celles liés à la sécurité par exemple.
Il faut noter que ce n’est pas un service lié au site Locoduino qui ne doit pas pouvoir être mis en cause. Plus des questions juridiques et techniques donc et le déploiement ne pourra se faire que très progressivement avec en premier lieu la version correspondante à la version Ethernet ci-dessus.
Les configurations « hard » sont celles qui sont présentées plus haut, MEGA + Pololu reliés en Ethernet à votre box ou MEGA + ESP8266 reliés en WiFi à votre box.
Les avantages sont bien sûr la simplicité et l’assurance de disposer des versions à jour.
Concernant les deux premières versions opérationnelles à ce jour (Ethernet et WiFi) et donc déployables sur vos réseaux, je pense pouvoir rédiger sous un mois environ les procédures d’installation et d’utilisation. Mais pour ceux qui ont déjà installé ces versions ou qui souhaitent le faire rapidement, il est possible de communiquer au travers de ce fil, ce qui me permettra en plus de connaître vos difficultés et d’apporter des réponses aux autres utilisateurs.
Merci encore à tous pour l’intérêt que vous avez témoigné et des appréciations très positives qui ont souvent été les vôtres à l’égard de Locoduino.
Christophe