Commande d'une centrale LENZ par un smartphone ou une tablette


La centrale LENZ LZV100 peut être commandée par un smartphone ou une tablette, soit en WiFi soit en Bluetooth

1. Connexion directe en WiFi

La centrale LENZ doit être connectée au module LAN/USB référence 23151 de LENZ et ce module doit être connecté par un cable Ethernet à un routeur WiFi comme indiqué sur le schéma ci-dessous.



Il existe au moins deux applications pour smartphone ou tablette qui permettent de commander les trains en WiFi: l'application TouchCab pour IOS et l'application RtDrive Lenz pour Android.

1.1 L'application TouchCab pour IOS




Cette application sous IOS n'est disponible que pour l'iPhone. Elle permet de conduire les locomotives et commuter les accessoires. Le contrôle est précis et permet de faire toutes les manoeuvres. Elle fonctionne avec l'ECoS I, l'ECoS II Color, la Central Station 1 Märklin et la nouvelle interface Ethernet Lenz 23151. Des vidéos de démonstration sont disponibles sur le site TouchCab. L'application à télécharger sur l'App Store via iTunes en disponible en 2 versions:
-l'une limitée à la conduite des trains et fonctions F0 à F7 uniquement est gratuite
-l'autre payante permet de commander toutes les fonctions auxiliaires de locomotives et de commander les accessoires (aiguilles, signaux, etc.).

1.2 l'application RtDrive Lenz pour Android




RtDrive Lenz est une application développée au sein du club Rail Train Crau Camargue et fonctionnant sous Android. Cette application permet de contrôler les locomotives et les accessoires à partir d'un smartphone ou d'une tablette. Il est possible d'utiliser simultanément deux smartphones pour controler deux trains.
L'application est disponible sur le PlayStore de Google en cliquant ici.
Vous trouverez un mode d'emploi en cliquant ici.

2. Connexion en Bluetooth

2.1 Connexion directe à la centrale LENZ via le bus XPressNet

L'interface est constituée par un module ARDUINO MEGA 2560 qui se connecte en XpressNet à la centrale LENZ et par un module Bluetooth HC-05 qui se connecte à l'ARDUINO comme représenté sur la figure ci-dessous.



J'ai développé une application Android qui se nomme BLUELENZ. Cette application permet de contrôler les locomotives et les accessoires à partir d'un smartphone ou d'une tablette. Vous pouvez voir ci-dessous une copie d'écran de cette application.



Vous trouverez une description du système que j'ai réalisé en cliquant ici.

2.2 Connexion en Bluetooth par l'intermédiaire d'un ordinateur avec le logiciel CARTO-DCC pour Windows.

Le logiciel CARTO-DCC que j'ai écrit en Visual Basic permet de piloter un petit réseau de trains miniatures par ordinateur en DCC. Ce logiciel permet de piloter une centrale LENZ avec rétrosignalisation par le bus RS.
Pour créer un trajet, il suffit de piloter un train avec un smartphone ou une tablette connecté au PC en Bluetooth et celui-ci enregistre automatiquement les mouvements du train et crée un trajet qui peut ensuite être reproduit automatiquement par l'ordinateur. La prise en main du logiciel est ainsi très rapide. L'interface entre le PC et le smartphone est constituée par un Arduino nano et un module Bluetooth HC-05 connectés selon le schéma ci-dessous.


Cette interface a pour fonction de recevoir en Bluetooth un octet du smartphone et de le transmettre au PC via l'interface USB. La diode LED connectée sur la broche State du module HC-05 s'allume lorsque le smartphone est connecté au module HC-05.

J'ai développé une application Android qui se nomme CARTO-DCC qui permet de contrôler un train et les accessoires à partir d'un smartphone ou d'une tablette et le PC va enregistrer le trajet. Vous pouvez voir ci-dessous une copie d'écran de cette application qui est semblable à BLUELENZ.



Vous pouvez télécharger le dossier intitulé carto_bluetooth.zip en cliquant ici.

Ce dossier comprend:
- le programme à télécharger sur l'Arduino
- l'application Android carto_dcc.apk à installer sur le smartphone
- l'application Android carto_dcc.aia qui est le fichier source de l'application modifiable avec le logiciel APP INVENTOR
- un dossier intitulé cartodcc à placer dans le dossier Download du smartphone. Ce dossier contient un fichier intitulé adlenz.txt qui contient l'adresse MAC du module bluetooth HC-05.

3. Connexion en WiFi par l'intermédiaire d'un ordinateur

Cette solution est plus lourde à mettre en oeuvre que les précédentes. Elle ne présente de l'intérêt que si le réseau est déjà piloté par un ordinateur.

Dans cette configuration, le smartphone ou la tablette sont connectés en WiFi à à la "box" du fournisseur d'accès (Livebox, Freebox, etc...) et communiquent avec l'ordinateur (PC ou MAC) qui est est raccordé à la "box" et à la centrale DCC.
Remarque: Lorqu'on est en déplacement, par exemple lors d'une exposition, on ne dispose pas toujours d'un réseau Wi-Fi. Dans ce cas, il faut utiliser un routeur Wi-Fi qui va se charger de gérer les connexions entre l'ordinateur relié à la centrale DCC et les smartphones ou tablettes.
J'utilise un petit routeur DLINK DIR-615 qui coûte moins de 40 Euros et qui marche très bien.

Quatre systèmes sont décrits ci-après, mais il en existe certainement d'autres:
- ROCRAIL
- Train Controller
- JMRI/Engine Driver
- Node-RED

3.1 ROCRAIL


Rocrail est un logiciel gratuit de contrôle de réseau en DCC qui est basé sur Java et distribué comme un logiciel open-source. Rocrail peut contrôler un large éventail de systèmes DCC, presque tous les fabricants sont couverts. Le logiciel peut fonctionner avec tous les systèmes d'exploitation pour ordinateur (Windows, Mac OSX et Linux) et permet aussi la commande du réseau par mobile.
Il y a deux applications disponibles:
- iRoc: pour les iPhones et iPad
- andRoc pour les smartphones ou tablettes sous Android

3.2 Train Controller


Le logiciel TrainController possède maintenant l'extension +SmartHand Mobile qui permet depuis n'importe quel appareil mobile qui possède un naviagateur web de commander tout son réseau. Il n'y a pas d'application particulière à télécharger! Voici une petite vidéo de démonstration:

3.3 JMRI/Engine Driver


Engine Driver est une application pour Android (gratuite) ou IOS (payante) qui permet de commander un réseau avec le logiciel gratuit JMRI.
JMRI est un logiciel de contrôle du réseau installé sur l'ordinateur qui peut etre relié a différentes marques de centrales ( Lenz, Intellibox, SPROG , etc...).
Lorsque l'ordinateur contenant JMRI est connecté a un réseau sans fil WiFi (typiquement une box d’un fournisseur d’accès ou un routeur WiFi), on peut lancer un module appelé Withrottle qui permet à tout smartphone connecté sur le réseau wifi de controler :
o Des locomotoves
o Des aiguillages
o Des itineraires
Le contrôle via le mobile est conjoint avec la centrale ce qui permet à un aiguilleur de rester sur le PC et à des joueurs répartis sur le réseau de controler leur train, de faire des manoeuvres etc…
J'ai utilisé ce système avec une centrale LENZ et celà marche très bien.
Voici une petite vidéo de démonstration:

Remarque importante: si vous possédez un smartphone avec Android, il n'est pas nécessaire d'utiliser un routeur WiFi.
Vous pouvez connecter le smartphone directement au PC en WiFi en utilisant la fonction "pont d'accès WiFi" du smartphone.
Pour cela, activez le Wi-Fi sur votre appareil Android et rendez-vous dans « Paramètres », « Sans fil et réseaux » et « Partage de connexion ».
Appuyez sur « Configurer le point d’accès Wi-Fi » et cochez la ligne « Point d’accès Wi-Fi »
Dès lors, vous n’avez plus qu’à actualiser la liste des connexions Wi-Fi disponibles sur votre PC/Mac et choisir le réseau nommé AndroidAP.
JMRI reconnaitra automatiquement ce réseau et va fournir l'adresse IP et le numéro de port à indiquer à Engine Driver.

3.4. Node-RED

3.4.1. Présentation du logiciel

Node-RED est un langage de programmation graphique par assemblage de blocs fonctionnels qui permet de développer des objets connectés (et beaucoup d’autres choses). Node-Red est un projet Open Source (et gratuit) soutenu par IBM. On programme avec Node-RED en liant des fonctions présentées sous la forme de briques. Le flux de données passe d’un traitement à l’autre (d’une fonction à l’autre) comme on peut le voir sur le schéma ci-dessous.



Certaines fonctions proposent des paramètres qu’il suffit de définir à l’aide d’une liste de choix ou d’un champ à remplir (par exemple un clé d’API pour un service météo). Il existe plusieurs centaines de plugins dans tous les domaines : enregistrer les données sur une base de données (MySQL, MongoDB…), piloter les E/S d’un Arduino ou d’un Raspberry (avec le plugin Johny Five par exemple), ajouter une interface graphique (UI) pour tracer des graphiques, afficher des jauges, commander un relai à l’aide d’un bouton…

En modélisme ferroviaire, Node-RED peut servir à piloter une centrale DCC. Node-RED fonctionne en mode client-serveur. Le serveur est installé sur le PC qui est connecté à la centrale DCC et c'est le navigateur web qui permet de piloter le train. On peut utiliser le navigateur web d'un PC, d'un smartphone, d'un iPhone ou d'une tablette. Il suffit d'entrer l'URL du serveur pour afficher le régulateur DCC.
Avec Node-RED Dashboard, il est possible de créer de belles interfaces graphiques comme par exemple ce capteur de tempétature et humidité.



On peut trouver de la documentation sur Node-RED sur le site web de l'éditeur du logiciel.
et aussi sur le site en Français Ippon: Node-Red : l'IoT à portée de tous.

On peut aussi trouver une documentation concernant l'installation et l'utilisation de Node-RED sur le site de l'association DeltaLab en cliquant ici.

3.4.2. Installation de Node Red sur un PC

Pour installer Node-RED sur un PC, il faut suivre les instructions données sur le site du concepteur: https://nodered.org/docs/getting-started/windows
Après que le logiciel Node.js a été installé en suivant les instructions ci-dessus, on peut installer Node-RED en ouvrant l'invite de commande de Windows 10 et en tapant:
npm install -g --unsafe-perm node-red
Enfin, il faut installer l'interface graphique Node-RED vdashboard en ouvrant l'invite de commande de Windows 10 et en tapant:
npm i node-red-dashboard
C'est terminé.

3.4.3. Commande d'une centrale LENZ avec Node-Red

J'ai essayé de piloter avec Node-RED une centrale LENZ en utilisant l'interface LAN/USB 23151 mais je n'ai pas réussi pour la raison suivante: La transmission d'un octet vers l'interface série s'effectue par l'envoi d'un caractère dont la valeur de l'octet représente le code ASCII étendu. Celà marche bien avec des logiciels comme Visual Basic ou Python mais Node-RED n'utilise pas l'ASCII étendu mais uniquement l'Unicode (UTF-8 ou UTF-16). J'ai quand-même pu utiliser Node-RED simultanément avec mon programme CARTO-DCC en Visual Basic, VB6. Le programme du régulateur DCC écrit avec Node-RED envoie chaque commande dans un fichier temp.txt qui est lu par le programme CARTO-DCC et exécuté. Celà marche bien mais ce n'est pas très élégant.

Il faut noter que Node-RED peut se connecter à un Arduino et il est donc tout à fait possible de réaliser avec un Arduino une centrale DCC pilotée par le serveur Node-RED installé sur un PC.

3.4.4. Installation du régulateur DCC Node-RED pour commander un train avec la centrale LENZ

Vous pouvez télécharger les 2 logiciels qui permettent de commander un train avec la centrale DCC LENZ en cliquant ici.

Le document intitulé carto_dcc_node_red.zip comprend:
- un dossier intitulé CARTO-DCC-NODE-RED qui contient le logiciel intitulé testvb.exe écrit en Visual Basic (VB6) ainsi que le code source et un fichier temp.txt qui permet l'échange de données avec le logiciel Node-RED et un fichier intitulé portcomlenz.txt qui contient le numéro du port COM de l'interface LENZ LAN/USB .
- un dossier intitulé Programme Node-RED qui contient le régulateur DCC intitulé reg.json

Après avoir téléchargé le document, il faut placer le dossier intitulé CARTO-DCC-NODE-RED sur le PC à la racine du disque C. Puis il faut ouvrir le dossier et cliquer sur le logiciel testvb.exe qui communique avec la centrale LENZ via l'interface LAN/USB. Il faut évidemment que le logiciel Visual Basic VB6 soit installé sur le PC.

Pour installer le navigateur DCC Node-RED, il faut lancer le serveur Node-RED sur le PC. Pour celà, il faut ouvrir l'invite de commande et taper: node-red puis appuyer sur la touche "enter" du clavier. Puis il faut lancer le navigateur Google Chrome et taper localhost:1880. Celà ouvre Node-RED
Le menu représenté par 3 traits est situé à côté du bouton Deploy. Cliquer dessus puis sur Import et cliquer sur Select a file to import. Cliqez sur le fichier reg.json pour importer le régulateur. Enfin, cliquer sur le bouton Deploy.
Pour accéder à l'interface graphique Node-RED Dashboard qui représente le régulateur DCC sur le PC, il faut ouvrir Google Chrome et taper localhost:1880/ui
Pour accéder à cette interface sur un smartphone qui est sur le même réseau local WiFi que le PC, il faut ouvrir Google Chrome et taper adresse IP du PC suivi de :1880/ui (par exemple 192.168.1.18:1880/ui)

Voici une copie d'écran d'un smartphone avec le régulateur DCC réalisé avec Node-RED:



4. Commande avec un nano-ordinateur RASPBERRY-PI

Il est possible de piloter en automatique une centrale LENZ avec un smartphone et un nano-ordinateur de type Raspberry.

Vous trouverez une description du système que j'ai réalisé en cliquant ici..

Page précédente


Page suivante


Retour page d'accueil