centrale DCC WIFI D17

** Présentation :

La centrale D17 est une petite centrale DCC et analogique permettant de conduire des locomotives DCC ou analogiques via WIFI avec des téléphones, tablettes, PC, souris potentiomètriques.

C'est une centrale à réaliser soi-même qui revient à 10€ (centrale + booster, hors alims, elle incorpore son point d'accés WIFI). Elle est aussi simple à réaliser (il faut juste souder 3 fils).

Elle ne demande aucune instalation de logiciels sur les appareils (les nouvelles souris html s'exécutent dans n'importe quel navigateur web). Ainsi un ami de passage peut utiliser son téléphone sans rien installer ! Il se connecte juste sur la centrale avec son navigateur web  

La centrale est également capable de piloter des accessoires (aiguillages, feux ...) via des décodeurs d'accessoires DCC ou directement via ses 6 sorties ou par bus SPI et MAX7219 pour des LEDs ou par bus I2C et PCA9685 pour des sorties PWM ou servos. La centrale offre aussi un bus de rétrosignalisation S88 pour les entrées.

La figure ci-dessous présente l'architecture de la centrale (Connectez bien D3 à DIR et D2 à PWM) :

D17 7

Le cœur de la centrale est un module Wemos D1 mini sur lequel est soudé le module ESP12 qui contient le circuit esp8622 qui est un microcontrôleur avec un système WIFI complet.
Le microcontrôleur peut se programmer avec l'environnement de développement Arduino. Le système WIFI peut fonctionner en mode point d'accès ou station. Il est en mode point d'accès apr défaut sur lequel se connectent les souris WIFI. Il n'y a donc pas besoin d'utiliser un point d'accès WIFI externe. Le module créant lui-même son propre réseau WIFI ! Ce point d'accès autorise la connexion de 5 appareils WIFI HTML et 8 TCP. J'ai programmé le microcontrôleur afin qu'il génère un signal DCC ou analogique suivant les commandes des souris. Le module est alimenté via son port micro-USB par un chargeur USB ou un PC.
 
Le signal DCC ou analogique pilote un booster fabriqué à l'aide d'un module LMD18200T qui alimente les voies. Ce circuit est capable de fournir 3A et est totalement protégé contre les court-circuits, surchauffe ... Il est alimenté par une alimentation continue à choisir entre 12V mini et 18V max (12V est un peu faible pour certains matériels). Bien entendu, on choisira une alimentation d'intensité suffisante. On prend en générale 500mA par loco (mais cela peut varier énormément). Pour les grands réseaux il est possible d'utiliser plusieurs boosters (chacun alimentant une portition de réseau).
 
Le cout total de l'électronique de la centrale est minime. Environ 10 euros. C'est pourquoi je qualifie cette centrale de "centrale a 10 balles".
- 4 euros : module Wemos D1 mini (qui contient le module ESP12 (qui contient l'esp8266))
- 6 euros : module LMD18200 pour réaliser le booster
- (+ les alims)
- il n'y a pas besoin de rajouter un point d'accès WIFI, c'est le module esp8266 qui le réalise !
 
Pour avoir un nom simple, j'ai nommé cette centrale D17 (D pour DCC ou Dix balles et 17 pour 2017)
 
A la mise sous tension la centrale démarre en arrêt d'urgence (AU) et le booster est désactivé.
Les souris  affichent en permanence l'état d'AU fournit par la centrale.
Pour sortir du mode AU, il suffit simplement d'appuyer sur le bouton d'AU d'une souris.
 
Le choix entre analogique(PWM) et numérique(DCC) se fait apr un bouton, au niveau des souris HTML.
Il ne doit pas y avoir des locomotives DCC et analogique en même temps ! Si vous voulez quand même le faire, il faudra pouvoir isoler des zones et les activer en fonctio du mode de la centrale et de la loco s'y trouvant. Il n'y a pas besoin de modifier quoi que ce soit au niveau électronique pour passer du DCC à l'analogique (et vice versa).
 
En numérique, la centrale pilote le booster en DCC pour contrôler plusieures locomotives DCC en même temps (12 par défauts). Il peut bien entendu y en avoir plus mais qui seront à l'arrêt. Les locomotives sont contrôlées en 28crans. Vous pouvez utiliser 126 crans si vous le souhaiter. Il est possible de jouer avec les 28 fonctions F0,F1-F28.
 
En analogique, l'utilisation de l'adresse 1 (qui n'est pas disponible en DCC) permet de conduire une loco analogique.
En analogique, la centrale pilote le booster en PWM pour contrôler UNE locomotive analogique. La tension n'est pas continue, mais avec des impulsions plus ou moins longues. Le fait que la tension soit toujours maximale (lors des impulsions) permet de bons ralentit et limite les pertes de captage comparé à l'analogique pure ou la tension varie entre 0 et 12V. Il est possible de limiter la largeur des impulsions si vous utilisez plus de 12V pour alimenter le booster. La fréquence des impulsions est de 20kHz afin d'être inaudible dans les moteurs.
 
La centrale possède un bus de rétrosignalisation S88 pour les entrées. Cela est par exemple utilisé pour voir l'occupation des voies ou brancher des capteurs.
 
La centrale peut aussi gérer les accessoires via:
- des décodeurs d'accessoires DCC (basiques et étendus)
- ses 6 sorties directes 3.3V 25mA. (Si vous n'utiliser pas le bus S88, le bus SPI et le bus I2C)
- son bus SPI oû vous pouvez brancher 2 modules MAX7219 de 64 leds chacun soit 128 leds au total
- son bus I2C oû vous pouvez brancher 3 modules PCA9685 de 16 sorties chacun, soit 48 sorties au total. De plus, ces sorties peuvent être variable (PWM) ou piloter des servos.
 
Afin de discuter autour de D17, j'ai créé le fil suivant sur le forum de LocoRevue : http://forum.e-train.fr/viewtopic.php?f=3&t=84400
 
 
 

** News :

- 4 décembre 2021:

    Utilisation d'une image par défaut sur les souris HTML si l'image spécifiée n'existe pas au lieu de bloquer sur un écran noir. (Cela arrive si l'utilisateur oublie d'uploader l'image ou se trompe dans le nom).
    En PWR_ON (AU=0), le serveur HTTP ne fournit pas des pages HTML (afin de ne pas perturber le signal DCC) mais maintenant en cas de demande d'une page web, il propose de passer en PWR_OFF (AU).
    Modification du javascript pour tourner sur de plus vielles tablettes (le try catch n'était pas supporté sur une de mes vielle tablette ce qui le bloquait).
    Websockets mis par défaut sur le serveur qui a fournit la page web (en cas de développement de la page web sur PC, il peut être utile de modifier cela afin que la page web chargée du PC se connecte à D17 plutôt qu'au PC).
    Par défaut dans le code de la centrale, les aiguillages 0-47 pilotent les accessoires 1-48.
    Par défaut dans le code de la centrale, les variables U 0-95 pilotent les accessoires 101-196.
 

- 11 mai 2021:
  Correction d'un bug sur l'affichage de la jauge de courant (merci à Serge pour avoir signalé le PB)
 
- 25 novembre 2020:
   Ajout de l'affichage des images et noms des locos dans la souris HTML (plus visuel que l'adresse)
   Ajout de la sélection des locos par images dans la souris HTML (plus visuel et plus rapide que taper l'adresse)
 
- 20 novembre 2020:
    Ajout de la jauge de courant dans la souris HTML.
 
- 17 novembre 2020:
    En complément de la souris simple, ajout des souris doubles, triples et quadruples dans la souris HTML.
    (Par défaut: 4 souris simples, 4 souris doubles, 4 souris triples, 3 souris quadruples). Merci à John pour cette contribution.
    Ajout des UM (jusqu'a 4 UM de 12 locos au total) dans la souris HTML. Merci à John pour cette contribution.
    Amélioration de l'accéléromètre qui fonctionne en penchant moins la tablette, dans tous les écrans (ex TCO), en UM et  peut désormais déclencher aussi l'arrêt d'urgence.
    
- 19 octobre 2020:
    Amélioration des souris HTML
    Ajout d'une 2eme souris dans les souris HTML
    Ajout des TCO dans les souris HTML
    Ajout de l'automatisation par scripts dans les souris HTML
    Ajout du "recorder" dans les souris HTML (experimental, je décrierais cela plus tard)
    Possibilité de choisir le mode analogique/dcc independament de l'utilisation de l'adresse analogique par une souris
    Ajout d'une impulsion bidirectionelle en analogique pour detecter les locos avec les detecteurs de courant  dcc
    Ajout d'une constante pour regler la repetition des commandes accessoires
    Correction d'un bug sur la commande des accessoires DCC (pendant un court instant) an analogique  
    Augmentation du nombre des variables u de 96 a 192
    Ajout des extensions BMVU, ITI, aubinage, SIG (experimental, je décrierais cela plus tard)
    Ajout du multiplexage pour les modules S88 (16 entrées, 8entrées+mux4x4, mux2x8, mux3x8, mux4x8, mux5x8, mux6x8, mux7x8, mux8x8).
 
- 20 mars 2020:
    Ajout d'un serveur web HTTP et d'un serveur websockets pour utiliser D17 à partir d'un navigateur web.
    Il est possible de supporter 5 clients websocket max en // des clients TCP (souris traditionnelles) et pages web.
    Ajout des pages web dont la souris HTML websocket simple dans le SPIFFS (mémoire pour les fichiers) de D17.
    Plus d'infos au chapitre HTML.

    Possibilité de régler le nombre de trames envoyées à chaque changement de fonction auxiliaire.
    Correction d'un bug sur les variables u.
    Inversion du sens pour Desktop Station.
 
- 08 avril 2019:
    Correction d'un bug dans le protocole D17 wifi qui affecté les fonctions auxiliaires >= 10.
 
- 25 mars 2019:
    Ajout du support de CDM-Rail (il faut mettre USB_MODE à 5). L'USB de l'Arduino ne peut pas être utilisé, il faut utiliser un câble.
 
- 26 février 2019:
    Vous pouvez maintenant conduire vos locos à partir des cabines du projet mini-cab. (projet mini-cab mis à jour et configuré par défaut pour D17)
 
- 22 février 2019:
    Corrections de bugs (tx adresses longues, protocole desktop station, limitation pwm à 0,5-95%,100% car analog_write() du framework est bugée)
 
- 22 février 2019:
    Ajout des adresses longues 0-10239 (au lieu de 0-99) (centrale et souris mises à jour)
    Possibilité de connecter 8 souris wifi (au lieu de 4) (ce qui peut être utile pour les clubs) (le paramétrage par défaut est à 4)
    Passage de 2 locos max à 4 locos max par souris (pour être compatible avec les souris du programme de JM)
    Les infos des locos (sens, vitesse, fonctions) pour la mise à jour régulière en boucle sont maintenant stockés dans des "slots"
       d'un unique tableau commun à toutes les souris et à l'USB. Cela permet une meilleure intéraction entre les souris et protocoles USB.
    Ajout du protocole Desktop Station afin de contrôler D17 par le logiciel "Desktop Station" par USB (plus tard par wifi)
 
- 15 février 2019:
    Régénération des apk des souris avec les droits (wifi, internet, sd) et de nouvelles icones.
 
- 12 février 2019:
     RFO basic (de même que GRAU basic) ne sont plus disponible sur le Market Android (Google Play).
     Pour ceux qui ont RFO basic installé, pas de problème, tant que vous ne le désinstallez pas.
     Pour les nouveaux, il faudra installer les souris sous forme d'applications Android apk. (voir le chapitre sur les souris)
 
- 24 janvier 2019:
     Correction d'un bug qui n'envoyait que la valeur 0 aux décodeurs d'accessoires DCC
 
- 18 janvier 2018:
    JM propose une nouvelle souris sur PC (Windows, Linux, OS-X).
    Cette souris permet aussi de suivre les trains
    Il faut un code spécifique pour la centrale (pour l'instant)
    Plus d'infos sur le forum de Loco Revue rubrique Digital ...
 
- 31 décembre 2018:
    Création d'une souris WIFI potentiomètrique à faire soi-même avec un Wemos.
 
- 31 juillet 2018:
    La configuration des TCO ne se fait plus dans le code de la souris double, mais dans des fichiers dédiés ex:tco1.txt
    Merci a JM Dubois pour cette contribution qui va simplifier la réalisation des TCO !
 
- 10 avril mars 2018:
    - Mise a jour de la centrale avec les préambules de 16 "1" (ils n'y étaient pas dans la version du 23 mars)

- 23 mars 2018:
    -  Passage des préambules à 16 "1" sur les conseils de JM afin de respecter la norme NEM671
        (Il semblerait que ca fasse du bien a certains décodeurs récents) 
    - ajout de l'annulation aux boites de dialogue avec le bouton de retour sur les souris. (merci JM Dubois)
    - restauration des touches F0 au retour sur la page des locos sur la souris double. (merci JM Dubois)

- 9 mars 2018:
    Rajout du paramètre FCT_AUX_REPEAT afin d'indiquer si la centrale répète en permanence les ordres des fonctions auxiliaire ou si elle les envoie une seule fois.
    - Certains décodeurs ne sauvegardent pas l'état des fonctions auxiliaires entre les coupures donc c'est bien de répéter.
    - Certains sauvegardent l'état des fonctions, donc on peut s'en passer.
      De plus, sur les décodeurs ESU il ne faut pas envoyer en permanence les fonctions auxiliaires car cela réinitialise les sons d'où les PB rencontres !
      Merci à JM Dubois pour avoir identifié le problème.
 
- 8 mars 2018:
    - De base la centrale fonctionne en point d'accès WIFI.
      Grâce à JM Dubois, elle peut maintenant aussi fonctionner en mode station afin de se connecter à un autre point d'accès WIFI (comme votre box internet).
      Cela permet de ne pas mettre votre appareil Android sur le WIFI spécifique de D17 et pouvoir par exemple continuer de surfer sur Internet en //.  
 
- 28 février 2018:
    - Nouvelle souris simple qui communique dans les 2 sens avec la centrale (ainsi le voyant d'arrêt d'urgence est mis à jour en fonction de l'état de la centrale)
    - Ajout d'un paramètre pour désactiver le multitouch pour la souris double (pour les appareils qui ne le supporte pas use_multitouch=0).
 
- 27 février 2018:
     - Ajout d'une version light du protocole DCC++ afin de connecter D17 à RocRail. (Test avec RocRail OK).
     - Ajout de l'affichage des derniers appuies écrans sur la souris double pour debug JM (a activer avec dbg_touch = 1).
 
- 19 février 2018:
     - Ajout de l'affichage du courant du booster sur la souris double.
 
- 13 février 2018:
     - Ajout du bouton d'arrêt d'urgence et choix de sa polarité.
     - Possibilité de brider la centrale en analogique ou DCC avec 2 constantes dans le code de la centrale
     - Ajout d'un avertissement sur les souris avant de passer du mode analogique au mode DCC et inversement.
     - Ajout du choix de la commande des décodeurs d'accessoires en analogique (interdire, autoriser mais avec booster inactif, autoriser avec booster actif)
     - Mémorisation des entrées pour chaque souris afin de ne pas manquer les contacts fugitifs comme les ILS (très utile pour le mode script)
     - Limitation a une seule réponse suite à une demande de status par souris et par boucle (afin de ne pas surcharger le wifi)
     - Modification des boites de dialogues des souris pour ne plus avoir la partie décimale des chiffres.
 
- 9 février 2018:
     - Ajout de la rotation lente pour les servos branchés sur les PCA9685 de la centrale.
 
- 7 février 2018:
    - Ajout du mode 126 crans en DCC. Vous pouvez choisir entre le mode 28 crans ou 126 crans (28 crans par défaut)
    - Ajout d'un facteur pour diminuer la plage PWM en analogique si vous utilisez une alim > 12V
 
- 6 février 2018:
    - Ajout d'un mode script simple pour piloter automatiquement des séquences de jeu.
      (avec control des locos, accessoires (aiguillages, sorties, leds ...), avec attentes des entrées, avec tempo fixes et aléatoires  ...)
 
- 30 janvier 2018:
    - Ajout du TCO (en fait 5 TCOs) dans la souris double
    - Possibilité de commander les décodeurs d'accessoires (afin de gérer les aiguillages et toute autre sortie). (vous pourrez utiliser le D18 par ex)
    - Ajout d'un bus S88 pour avoir des entrées (96 entrées max).
    - Ajout d'un bus SPI pour mettre des modules MAX7219 pour commander des leds (128 leds max). (sans passer par un décodeur d'accessoires)
    - Ajout d'un bus I2C pour y connecter des modules PCA9685 pour commander des aiguillages (servos, bobines ou moteur) et avoir des sorties (PWM) (48max) (sans passer par un décodeur d'accessoires)
 
- 25 janvier 2018:
Le prototype avec TCO, bus S88, SPI, I2C fonctionne ! Il me reste à le peaufiner un peu et à écrire la documentation.
 
- 22 janvier 2018:
Ajout d'une souris double pour conduire 2 locos en même temps.
Le "multitouch" est activé, vous pouvez donc réellement utiliser les 2 potentiomètres en même temps
Un bouton UM permet de conduire les 2 locomotives avec un potentiomètre. 
 
- 19 janvier 2018:
Extension des fonctions à F0-F28
 
- 27 décembre 2017:
Rajout de la programmation des décodeurs
Possibilité de conduire avec l'accéléromètre (en penchant la tablette)
Extension des fonctions F0-F4 -> F0-F12
Extension des adresses 2-50 -> 2-99
La souris s'adapte automatiquement a la taille de l'écran (merci JM Dubois)
 
- 22 décembre 2017 :
Rajout du mode Analogique (La centrale peut passer du DCC en analogique sans modifier l'électronique)
Rajout (temporaire) de 6 sorties 3.3V (25mA max) contrôlées par les souris WIFI.
La solution est maintenant fiable. Je n'observe plus aucun plantage.

- 07 juillet 2017 : Mise en ligne
Ce qui fonctionne actuellement : commande de 4 locomotives simultanées avec 4 souris WIFI (en utilisant une tablette ou un téléphone Android par souris). 4 max car l'esp 8266 supporte 4 appareils max en mode point d'accès. Je n'ai pas assez de recul sur la fiabilité de la solution. D'ailleurs, je ne croyais pas que cela fonctionnerai car le code du wifi tourne lui aussi sur le même microcontrôleur et il peut interrompre mon code qui génère le signal DCC.
 
 


** Prochainement :

 
- Simplification de la commande des accessoires.
- Vidéo de démonstration de D17 sur mon réseau.
- Explication pour faire et utiliser les TCOs.
 
- [ Nouvelles souris pour conduites plus réalistes. ]
- [ Explication de l'utilisation des extensions (itinéraires, signalisation, BMVU). ]
 
 
 

** Documentation :

 
- Documentation complète de la centrale : d17.pdfd17.pdf (2.5 Mo) (mise à jour le 31 juillet 2018)
    Cette documenation n'est pas à jours sur le html (elle sera mise à jours prochainement)
    Ne tenez pas compte des souris Android et utiliser les souris html décritent dans la doc suivante.
 
- Documentation des souris html: La_souris_html_d17.pdfLa_souris_html_d17.pdf (774.08 Ko) (mise à jours le  19 octobre 2020)
    Pour la conduite des locos cette doc décrit uniquement les souris simples.
    (Elle sera mise à jour prochainement avec les souris doubles,triples,quadruples et l'UM)
    (Description pour l'instant sur le fil du forum LR)
    La doc ne décrit pas l'utilisation des images pour les locos (Elle sera mise à jour prochainement)
    (Description pour l'instant sur le fil du forum LR)
 
 

** Téléchargement :

- Logiciel de la centrale D17 et souris html: centrale_d17_20211204.zipcentrale_d17_20211204.zip (153.53 Ko) (mise à jour le 04 décembre 2021)

    Le zip contient, le code de la centrale et les fichiers du serveur web pour les souris et tco html. (J'ai aussi rajouté les images des locos les plus utilisées en modélisme)

 
- Souris potentiomètrique WIFI: souris_pot.zipsouris_pot.zip (4.11 Ko) (mise à jour le 31 décembre 2018)
 
- Anciennes Souris Android (simple et double): souris_apk.zipsouris_apk.zip (988.44 Ko) (mise à jour le 22 février 2019)
     Le zip contient, les sources en basic,  les applications apk, et des fichiers d'exemple de tco
     Il vaut mieux utiliser maintenant les souris html
 
- Programme pour réaliser un module S88 décrit dans la doc : module_s88.zipmodule_s88.zip (4.35 Ko) (mise a jour le 19 octobre 2020)

Les fichiers sources sont aussi sous github: https://github.com/ullysse/d17 (afin de vous permettre de proposer des modifications) (mais github n'est pas à jour pour l'instant).
 
 
 

** Réalisation :


La réalisation est super facile car le module Wemos D1 mini et le booster sont disponible sur Internet (Amazon...). Il faudra juste souder 3 fils.
 
 
 

** Programmation :

Au niveau logiciel, il faudra programmer le module Wemos.
 
* A faire une fois:

Pour cela, il faut suivre les étapes suivantes:

- installez l'environnent Arduino (IDE). Il permet d'éditer un programme, de le compiler et de le "téléverser" dans la mémoire de l'esp8266.

- ajouter le support de l'esp8266 (instructions sur Internet) dans l'environment Arduino (qui par défaut ne fonctionne qu'avec les cartes Arduino officielles)

- ajouter la librairie des websockets qui n'est pas par défaut dans l'IDE arduino
    dans le gestionnaire de bibliothèque de l'IDE arduino, rechercher "websocket esp" et installer celle de Markus

- ajouter l'outil "ESP8266 sketch data uploader" qui permet d'ajouter les fichiers web dans la mémoire SPIFFS de l'esp8266.

    Sur https://github.com/esp8266/arduino-esp8266fs-plugin/releases/,  télécharger le fichier ESP8266FS-0.5.0.zip
    dézipper et faite en sorte d'avoir esp8266fs.jar dans votre reperoire de l'IDE arduino(arduino-1.8.10 pour ma part)/tools/ESP8266FS/tool/esp8266fs.jar
    Au prochain lancement de l'IDE vous devriez avoir dans le menu tool (ou outil): "ESP8266 Sketch data upload"
    Lorsque vous cliquer les fichier du répertoire data du sketch courant sont copiés dans le SPIFFS (avant la copie tout le SPIFFS est effacé)
    Si besoin, dans le menu tool (ou outil), le menu "Flash size" permet de changer la taille du SPIFFS  (j'utilise la config 3MB pour être large).
    Si la taille est changée il faut relâcher le SPIFFS et le sketch.
    L’outil de flash du SPIFFS ne fonctionne que si le moniteur série n’est pas lancé

* A faire à chaque version:

- décompresser l'archive centrale_d17.zip

- configurer l'environement pour la carte Weemos D1 mini. (et choisir 3MB SPIFFS pour avoir le plus de place possible pour les fichiers web)

- ouvrir le fichier « centrale_d17.ino »

- modifier dans le programme les parmètres par défaut si vous le souhaitez
    Par exemple, vous pouvez changer le nom du réseau wifi par défaut "D17-0001" et le mot de passe par défaut "ulysse31"

- compiler le programme

- téléverser le programme dans l'esp8266

- modifier si besoin le fichier index.html (qui est dans data) pour rajouter vos TCOs, scripts, indiquer les images et noms des locos utilisées...

- si voulu, ajouter des images (des locos) dans le repertoire data.

- mettre à jour le SPIFFS avec les fichiers web (le programme copie tous les fichiers qui sont dans le repertoire data)

Si la programmation vous dépasse, vous trouverez surement un "geek" qui se fera un plaisir de vous montrer comment faire car l'environnement Arduino est très rependu. Dans le pire des cas, vous pouvez m’envoyez votre Wemos par la poste avec une enveloppe de retour et je vous le programmerai (gratuitement bien entendu).

 
 

** Les nouvelles souris HTML

Depuis mars 2020, D17 dispose d'un serveur HTTP pour délivrer des pages web (internet).
Il suffit de se connecter à D17 avec un navigateur web, en metant l'adresse de D17 dans la barre d'adresse (par defaut 192.168.4.1).
Le port HTTP standard 80 étant utilisé, il n'y a pas besoin de l'indiquer. Cela affiche une page web avec le menu principal.
Cela fonctionne sur tous les OS (Android, Windows, Linux, MAC)
Comme javascript est beaucoup plus connu que RFO basic, je pense qu'il y aura plus de personnes susceptible de proposer de nouvelles fonctionnalités.
 
Cette souris communique avec la centrale par une websocket pour envoyer les commandes.
Pour que cela fonctionne, il faut que le navigateur spporte javascript et websocket, ce qui est le cas depuis 8 ans. (mais pour les tres vieux appareils cela ne fonctionnera pas)
D17 supporte 5 souris HTML (car il y 5 websockets). Les souris HTML fonctionnent en // des souris antérieures (Android et potentiomètrique) que l'on appellera maintenant souris TCP.
 
Servir une page web prend du temps. Afin de ne pas perturber le fonctionnement de D17, les pages web ne
sont délivrées qu'en mode AU (PWR OFF). Demander une page web hors de ce mode ne donnera rien.
Pour passer en mode AU, vous pouvez taper l'adresse 192.168.4.1/au1. Vous pouvez ensuite afficher la page web avec 192.168.4.1
 
La souris HTML permet au choix d'afficher des souris simples, doubles, triples ou quadruples pour conduire les locos.
Dans la configuration standard: 4 simples (une à une), 4 doubles, 4 triples, 3 quadruples. 
Il est possible de faire des UM, (jusqu'à 4 UM de 12 locos au total).
Pour les appareils qui le supporte, il est possible de conduire les locos avec l'accéléromètre en penchant la tablette ou le téléphone. 
 
Référez vous à la doc de la souris html D17 pour une description détaillée.
 
* Menu principal
Screenshot menu
 
 
* Ecrans de conduite des locos
 
Le premier bouton du menu principal 1x,2x,3x,4x sélectionne le type de souris puis les boutons <> permettent de naviguer dans ces souris.
Par défaut: 4 souris simples, 4 doubles, 4 triples, 3 quadruples.
 
Ex: Les 4 souris simples:
Screenshot simple
 
Ex une des 4 souris doubles (en position verticale et horizontale):
Screenshot double v  Screenshot double h
 
Ex une des 4 souris triples:
Screenshot triple
 
Ex: 2 des 3 souris quadruples (une sur téléphone et une sur PC):
Screenshot quardruple
 
Screenshot quadruple pc
(Ici la souris d'adresse 1 contrôle une loco analogique lorsque la centrale est en analogique. Lorsqu'elle est en DCC, la 2eme souris controle la loco d'adresse 10, de même que celle d'adresse 11 qui est en UM. La loco 28 est quand à elle pilotée par l'accéléromètre en penchant le téléphone ou la tablette. < et > permettent d'afficher les 2 autres pages de souris quadruples. TCO est un racourcit pour sauter au TCO actif afin de changer un aiguillage par ex).
 
Depuis peu, une jauge de courant a été rajouté. Si vous ne la voulez pas chercher aff_courant = 1 dans index.html et le mettre à 0.
Courant1x
 
Depuis la version 20201125, il est possible d'afficher les images et noms des locos
Il est également possible de sélectionner les locos en cliquant sur leurs images plutôt que de taper l'adresse.
La doc n'est pas encore à jour (mais toutes les infos sont déjà disponibles sur le forum LR).
Pour avoir les images, il faut rajouter des trio (image,nom,adresse) dans le fichier index.html et mettre les images utilisées dans le repertoire data.
Vos pouvez trouver des images de tout le matériel Francais sur le site de Marc Le Gad (http://www.mlgtraffic.net/index_fr.html)
Pour aider, j'ai mis les images des locos les plus utilisées en modélisme dans le repertoire "quelques images" de l'archive (elles ne sont pas dans data donc pas chargées dans le SPIFS)
Pour exemple, il y en a également dans data (qui elles sont chargées dans le SPIFFS).
Bien entendu, les images et sélections fonctionnent pour lres souris simples, doubles, triples et quadruples.
 
Loc
 
Sel4
 
 
* Ecrans des TCOs:
 
La souris HTML permet d'afficher 10 écrans TCO. Vous pouvez réaliser toute sorte de TCO, des plus basiques super pratiques aux plus évolués et réalistes.
 
Ex: TCO assez basique mais pratique
D17 h4
 
Ex: TCO plus réaliste (poste de type PRS/PRG avec BMVU)
D17 h5
 
 
* Page Admin
 
Le bouton Admin affiche la page d'administartion (aussi disponible en tapant http://192.168.4.1/admin.html). Elle est principalement utilisée pour  gérer les fichier du serveur web sans tout reflasher avec l'IDE Arduino.
 
Les pages web sont stockées dans le SPIFFS (partie de la mémoire externe de l'esp réservée à un système de fichier, comme un petit disque dure).
Au flash de la centrale, un outil permet de transférer les fichiers du répertoire data de l'archive dans le SPIFFS.Vous pouvez ainsi ajouter et modifier les fichiers.
Afin d'utiliser le SPIFFS plus simplement j'ai ajouté un menu pour lister/ajouter/supprimer des fichiers directement à partir du navigateur.
C'est très pratique pour mettre à jours facilement le fichier de la souris HTML (index.html).
Admin  Html1  Html3
 
 
 

** Les anciennes souris Android (non HTML)

Ces anciennes souris sont remplacées parles nouvelles souris html (mais elles fonctionnent encore).
 
Sur les souris Android, il faudra installer l'application RFO basic disponible sur le Market Android (gratuite). Cette application permet d'exécuter des programmes basic. En effet j'ai écrit le programme des souris en basic afin qu'il soit facilement compréhensible et modifiable. En effet rare sont les personnes qui auraient pu faire une modification si j'avais fait une application Android en Java. Sauvez le programme « rfo_souris.bas » dans votre souris Android (normalement dans rfo-basic/sources) puis chargez le avec le bouton LOAD du RFO basic, puis faites RUN pour l'exécuter. Il est possible de créer un lien sur le bureau Android pour lancer directement la souris.
 
Malheureusement RFO basic (de même que GRAU basic) ne sont plus disponibles sur le Market Android, il faut maintenant utilisez les apk. Les apk sont les applications Android. Il s'agit d'un fichier avec l'extension .apk et qui s'installent sur votre appareil Android. Normalement, on les trouve sur le market, mais il faut payer à google 100$ pour cela. Nous allons contourner cela et les installer manuellement.
 
Pour l'installation:
     - téléchargez et dé-zipper souris_apk.zip
     - branchez votre téléphone ou tablette via USB à un PC qui se voient alors comme une clef USB.
     - copier d17s1.apk (pour la souris simple) ou/et d17s2.apk (pour la souris double)n'importe où sur votre appareil Android.
     - avec le gestionaire de fichier de votre appareil Android, appuyez sur l'apk qui va alors s'installer. (il faut répondre oui au droit d'accés SD)
     Pour rajouter des tco ou scripts sur la souris double:
     - lors de l'installation, un répertoire d17s2 est créé, malheureusement non visible depuis le PC tant qu'il est vide, alors:
     - copier du PC sur l'appareil Android un tco, ex: tco1.txt
     - Avec le gestionnaire de fichier d'Android, copier ce fichier dans le répertoire d17s2/data
     - A ce moment, vous verrez le reperoire depuis Windows ce qui permet d'ajouter des fichiers et les modifier plus facilement.
     - Il est possible de modifier les fichiers tco et script directement depuis Android en utilisant un éditeur de texte Android
     Si vous n'avez pas d'éditeur Android ou de gestionnaire de fichier Android, vous en trouverez sur le market (gratuitement)
     comme "simple file manager" et "simple text editor"
 Si vous voulez modifier le programme en basic:
     - modifiez le .bas
     - utilisez le programme RFO2ANDROID https://sites.google.com/site/rfodesigner/ pour générer l'apk associé
     (il faut donner les droits, wifi, internet, SD)
     - mettre des fichiers de base dans data ne marche pas
     - le zip fournit contient déjà la structure des répertoire compatible avec l'outil
 
 
- Utilisation de la souris simple Android pour conduire les locomotives :
 
Souris 1 50 tablette
- Cliquez sur le bouton ADR pour changer l'adresse de la locomotive. La proposition par défaut est 0.0. Ne tenez pas compte de la partie décimale, c'est une bizarrerie du RFO basic. Saisissez 10 par exemple pour l'adresse 10.
- Si une des souris utilise l'adresse 1 alors la centrale génère un signal PWM pour conduire une loco analogique. Dans le cas contraire, elle génère un signal DCC pour conduire des loco numériques.
- Les adresse 2 à 99 sont utilisables pour le DCC
- Utilisez le potentiomètre pour accélérer ou freiner.
- Le bouton +/- pour permet de changer le sens.
- Le bouton AU permet un arrêt d'urgence de l'ensemble des locomotives.
- Les boutons des fonctions F0 à F28 changent l’état des fonctions auxiliaires. (F0 commande souvent les phares).
- Le bouton F> permet d'afficher F1-F10 ou F11-F20 ou F21-F28 (F0 est toujours disponible)
- Le bouton ACC permet de conduire la loco en penchant la tablette. Pour inverser l'effet de l'accéléromètre, appuyez sur le bouton de sens +/-
- Le bouton PRG permet de programmer les décodeurs. Attention, toutes les locos alimentées par le booster seront programmées ! N'en laisser donc qu'une !!
Afin d'éviter les erreurs, il est nécessaire de rentrer un code de programmation (qui est 1234 par défaut).
Ensuite l'adresse du CV est demandée, puis la valeur.
Par exemple le CV pour changer l'adresse de la loco est le numéro 1. La valeur est a choisir entre 2 et 99. Ne pas utiliser 0, ni 1 qui est utilise pour l'analogique sur D17.
- Les boutons o0 à à5 permettent de changer l'état des sorties OUT0-5 (3.3V 25mA) si elles n'ont pas été remplacées par le S88, I2C ou SPI.
- La souris communique maintenant dans les 2 sens avec la centrale ce qui permet au bouton d'AU de refléter l'état d'AU de la centrale.
 
 
- Utilisation de la souris double Android (Ecran des locos)  pour conduire les locomotives :
 
Souris double 50 tablette
 
La souris double s'utilise exactement comme la souris simple. Seuls les boutons adr et acc sont spécifiques à une locomotive.
Le programme utilise le "multitouch" ce qui permet de détecter 2 doigts et autorise à bouger les 2 potentiomètres simultanément.
 
Le nouveau bouton UM est utilisé pour envoyer les mêmes ordres de vitesse aux 2 locomotives. Avant d'activer l'UM, mettez les 2 locomotives dans le bon sens avec les boutons sens (+/-). Après activation de l'UM, le déplacement d'un potentiomètre, déplace l'autre potentiomètre et l'appuie sur un des bouton sens, inverse les 2 sens. Par soucis de simplicité accéléromètre et UM ne fonctionnent pas ensembles, mais si vous voulez faire de l'UM avec l'accéléromètre, activez simplement les 2 accéléromètres. En mode UM les locos doivent avoir à peu près les mêmes caractéristiques. L'UM n'a aucun sens en analogique car par nature toutes les locos alimentées bougent ensembles. Enfin notez qu'il est possible de programmer les décodeurs afin de leurs faire gérer l'UM. Dans ce cas, les 2 locomotives réagiront à l'adresse UM spécifiée ...
 
Le bouton TCO (Tableau de Control Optique) permet de passer à l'écran des TCOs
 
Les boutons des sorties ont disparus car vous pouvez contrôler les sorties et bien plus par le TCO.
 
Il faudra que je trouve quelque chose à mettre dans l'espace centrale comme par exemple un indicateur de vitesse rond ...
 
 
- TCO (sur les souris doubles) :
 
D17 propose un TCO pour commander et visualiser les accessoires. Le TCO permet également de visualiser l'état des entrées du bus S88.
 
Souris tco 50 tablette
 
Le bouton LOC permet de revenir à l'écran des locos
Les boutons TC1 à TC5 affichent un des 5 TCOs
Le bouton msg permet d'envoyer des messages à la centrale. Il est surtout utilisé à des fins de test.
 
Le TCO se compose de lignes, rectangles, ovales et texte qu'il vous faudra ajouter dans le programme en basic des souris.
Ces éléments peuvent changer de couleurs en fonctions des entrées, positions des aiguillages, variables "u"
En cliquant sur certains éléments, vous pouvez envoyer des commandes pour déplacer les aiguillages ou modifier les variables "u"
 
La centrale reçoit les demandes de modifications des aiguillages et variables "u".
Il faudra indiquer dans le programme en C de la centrale comment réagir à ces commandes
pour par exemple commander un aiguillage ou un feu sur un décodeur d'accessoires, allumer une LED par SPI sur un MAX, bouger un servo par I2C sur un PCA ...
 
Les entrées, la position des aiguillages et les variables "u" sont partagées entre toutes les tablettes. Une action sur un TCO se voit automatiquement sur un autre TCO !
 
 
- Scripts sur la souris double
 
Un mode script simple a été rajouté dans la souris double pour piloter automatiquement des séquences de jeu.
Un script est un fichier texte qui contient une liste de commande à exécuter séquentiellement.
Les commandes permettent de contrôler les locos, accessoires (aiguillages, sorties, leds ...), attendre sur des entrées, attendre avec tempo fixes et aléatoires  ...
 
Screenshot 2018 02 06 18 18 00
 
Exemple d'un script qui fait des A/R avec ma BB67400
(5s dans un sens, attente variable entre 5 et 20s, 5s dans l'autre sens, attente 3s, et on recommence tant que l'on arrête pas le script avec le bouton SCR) :
 
MSG test_bb67400 #affiche un message sur l'ecran
CMD a8s+v20f0+   #canal a (car 2 canaux par souris), adresse 8, sens +, vitesse 20%, phares allumés
tempo 5          #attend 5s
 
MSG stop
cmd a8s-v0f0-
TEMPOR 5 20      #tempo aléatoire entre 5 et 20s
 
MSG arr
cmd a8s-v20f0+
tempo 5
 
msg stop2
cmd a8s+v0
tempo 2
cmd f0-
tempo 3
 
loop              #recommencer au début du fichier
 
 
 

** Les souris potentiomètriques :

Dsou3l2  Dsou1 D6 1
 
Réalisation:
La souris potentiomètrique est une souris à faire soi-même. Comme la centrale, elle est à base d'une carte wemos D1 mini (contenant un esp8266).
Pour faire cette souris, il suffit de:
- une carte Wemos D1 mini (qu'il faudra programmer avec le programme souris_pot.ino)
- un potentiomètre pour régler la vitesse et le sens de la loco sélectionnée (+ un petit condensateur si le potentiomètre est de mauvaise qualité)
- un bouton poussoir afin de sélectionner une loco, jouer avec les fonctions auxiliaire F0-F28 (F0=FL=les phares), gérer l'arrêt d'urgence
- une "power bank USB 5V" afin de rendre le montage autonome en énergie. En utilisation, on branche la "power bank" sur le Wemos. En recharge on branche la "power bank" à un chargeur USB ou sur un PC
- un joli boitier ! Il faudra faire quelques trous ... SI vous ne pouvez pas voire la LED de la carte, vous pouvez en rajouter une sur le boitier.
- dans le futur, optionnellement, il sera possible de rajouter un petit écran LCD OLED (SSD1306) afin de visualiser la loco sélectionnée, le sens, la vitesse, l'arrêt d'urgence, les fonctions AUX activées
 
Configuration:
Vous pouvez changer les paramètres "utilisateur" suivant au début du programme de la souris:
const char* ssid     = "D17-0001"; // nom du réseau WIFI de la centrale D17 (D17-0001 par defaut)
const char* password = "ulysse31"; // mot de passe WIFI de la centrale D17 (ulysse31 par defaut)
const int   port     = 1234;       // port TCP de D17 (1234 par defaut)
const byte  allow_analog = 1;      // 0 ou 1. 1 autorise l'utilisation de l'adresse 1 (qui passe D17 en analogique)
const byte  read_au = 1;           // 0 ou 1. 1 lit l'arret d'urgence de la centrale. bien pour se synchroniser avec les autres souris mais demande un peu plus de traitement
const byte  inv_pot = 0;           // 0 ou 1. 1 pour inverser le sens du potentiomètre
 
Utilisation:
    - A la mise sous tension la souris se met dans l'état attente (>ATT)
      la LED est éteinte
     
    - Une pression sur le bouton poussoir (BP) la passe en mode de sélection d'adresse de locomotive (>SEL_LOCO)
      La LED s'allume et reste allumée
      L'adresse est initialement à 0
      Un appuie court (moins de 300ms) incrémente l'adresse de 1
      Un appuie moyen (entre 300ms et 3s) incrémente l'adresse de 10
     
      Ex: Si dans l'état ATT on appuie sur BP: MOY + MOY + COURT + COURT + COURT
      Au début de MOY, on passe en SEL_LOCO, la LED s'allume
      A la fin du 1er MOY l'adresse vaut 10, puis 20, puis 21, puis 22, puis 23
     
    - Si le bouton est relâché plus d'une seconde, l'adresse est validée et on passe en mode de recherche WIFI (>SEARCH)
      La LED émet de bref flashs (On 1/5)
      Si au bout de 30s la souris n'a pas pu se connecter à la centrale, elle repasse dans l'état ATT
     
    - Des que la souris arrive à se connecter à la centrale, elle passe en mode ON (>ON)
      - Le potentiomètre permet de choisir le sens ainsi que la vitesse (vitesse nulle au milieu)Il est conseiller de commencer potentiomètre au centre pour une vitesse nulle
      - Un appuie court sur BP change l'état de l'arrêt d'urgence
          En mode normal, la LED clignote lentement (1Hz)
          En Arrêt d'urgence, elle clignote vite (5Hz)
      - Un appuie moyen sur BP entre dans un mode pour jouer avec les fonction auxiliaires des décodeurs
          Le numéro de la fonction est initialement à 0.  F0=FL=les phares
          Un appuie court (moins de 300ms) incrémente le numéro de la fonction de 1
          Un appuie moyen (entre 300ms et 3s) incrémente le numéro de la fonction de 10
          La fonction est changée lorsque BP est relâché pendant 1s
          Les 29 fonctions F0-F28 sont supportées
          Ex pour F0 : MOY
          Ex pour F21: MOY + MOY + MOY + COURT
          D'accord, ce n'est pas super intuitif, mais cela permet d'essayer toutes les fonctions
          Pour rester simple, on utilisera souvent que COURT pour AU ou MOY pour F0, c'est a dire les phares
      - Un appuie long jusqu'à ce que le LED s'éteigne (ou 10s si vous n'avez pas de LED) déconnecte la souris de la centrale, éteint le WIFI et repasse en mode ATT
          Ne pas oublier de faire cette procédure en fin d'utilisation sinon la centrale ne libérera pas la connexion.
          une fois en état d'ATT, vous pouvez sélectionner une autre loco ...
 
 
 

** Ajout d'un bouton d'arrêt d'urgence :

Vous pouvez connecter un bouton d'arrêt d'urgence sur D5 en utilisant le montage suivant :
 
Au2
 
La résistance de 2200ohms sur le 3.3V fixe un état haut lorsque le circuit électrique est ouvert. La résistance de 1000ohms en série avec le bouton, fixe un état bas lorsque le circuit est fermé via le bouton. Cette dernière résistance évite les conflits lorsque la patte est utilisée en sortie pour générer le signal CLK pour les entrées S88 et les LEDs des MAX7219. Idem pour le signal OUT. Ne pas mettre cette résistance cour-circuitera la sortie à la masse lorsque le circuit est fermé ce qui la fera cramer ...
 
Pour activer la fonctionnalité d'arrêt d'urgence, vous devrez mettre dans le code de la centrale, la constante suivante à 1:
#define USER_USE_AU   1
Vous pouvez aussi choisir la polarité active avec:
#define USER_AU_LEVEL 0
Utilisez 0 pour un bouton normalement ouvert NO. (bouton qui ferme le circuit électrique lorsque l'on appuie dessus). Si vous utilisez plusieurs boutons, câblez les en parallèle.
Utilisez 1 pour un bouton normalement fermé NF. (bouton qui ouvre le circuit électrique lorsque l'on appuie dessus). Si vous utilisez plusieurs boutons, câblez les en série.
 
le bouton est uniquement utilisé pour déclencher l'arrêt d'urgence. la désactivation se fait avec les souris.
 
 
 

** Ajout de la mesure du courant du booster :

Vous pouvez mesurer le courant du booster avec l'entrée analogique A0 en utilisant le montage suivant :
 
Cur
 
La patte 8 du LMD18200T fournit une image du courant du booster 377uA/A. En gros cette patte donne 1mA pour 3A fournit. Vous pouvez souder un fil sur la patte 8 ou alors entrer en force un câble Dupont dans le trou métallisé sérigraphié "pin8 sense" qui se trouve derrière le condensateur.
L'entrée analogique du Weemos peut mesurer des tensions jusqu'à 3.3V. Dans le weemos, une résistance de 220K et une autre de 100K forment un pont diviseur afin d'abaisser la tension à 1V qui est le max que l'esp8266 peut mesurer). Pour être précis, nous devons utiliser toute la plage de mesure. Nous devons donc générer une tension de 3.3V pour le courant moyen max du booster qui est de 3A.
La résistance R1 de 3300 ohms transforme l'image du courant en tension. Pour 3A, l'image est de 1mA, soit 3.3V aux bornes de la résistance (U=RI=3300 * 0.0001=3.3).
Le couple R2/C1 moyenne cette tension sur un intervalle de 22ms (t=10 000*0.000 002 2) afin de s'affranchir des pics et signaux rectangulaires (DCC ou PWM).
 
Le convertisseur analogique numérique mesure cette tension et l'envoie aux souris qui demande l'état de la centrale.
Les souris doubles Android peuvent alors afficher la mesure sous forme de bargraphe (en % 0%=0A 100%=3A).
 

Screenshot 2018 02 19 02 12 32

De même que les souris HTML

Courant4x

 
 
 

** Rétrosignalisation (les entrées)

La centrale dispose d'un bus S88 pour les entrées. Vous pouvez connecter sur ce bus des modules S88 (de généralement 16 entrées).
Sur les entrées vous pouvez connecter des interrupteurs, bouton poussoirs, ILS, capteurs de courant. On utilise généralement les entrées pour détecter les trains.
 
Le schéma suivant montre comment réaliser un connecteur S88 au brochage standardisé.
 
d17_s88.png
 
Le nouveau standard S88-N (N pour Network=réseau) utilise des câbles réseaux et connecteurs RJ45, mais électriquement, rien ne change par rapport au S88 classique.
 
Vous pouvez vous fabriquer vos modules S88 avec des Arduino. La doc décrit comment en faire un. Le programme est disponible dans la section téléchargement de cette page.
 
 
 

** Accessoires

Tout d'abord, notez que vous n'êtes pas obligé de piloter les accessoires (aiguillages, LEDs ...) par la D17. Vous pouvez par exemple déplacer vos aiguillages manuellement ou électriquement en appuyant sur des bouton poussoirs. Le seul cas ou le pilotage est obligatoire est si vous faite de l'automatisation.
 
Les accessoires (aiguillages, feux, lampes, servos ...) se contrôlent généralement à travers de décodeurs d'accessoires. Les commandes sont transmises par le signal DCC lui même.
Vous pouvez utiliser des décodeurs d'accessoires du commerce et le D18 décrit sur ce site (dans l'onglet D18). Vous pouvez utiliser autant de décodeurs que vous voulez !
 
d17_dec.png
 
En plus des décodeurs d'accessoires, D17 permet aussi de commander des accessoires directement à travers ses bus SPI et I2C.
 
Bus SPI + modules MAX7219 pour ajouter des LEDs sans passer par un décodeur d'accessoires
 
d17_max.png
 
Bus I2C + modules PCA9685 pour ajouter des sorties PWM/Servos sans passer par un décodeur d'accessoires
 
d17_pca.png
 
 
 

** Automatismes :

Dans le code de la centrale vous pouvez créer des automatismes pour gérer par exemple la signalisation, des itinéraires ...
Avec les souris, vous pouvez executer des séquences décritent dans des scripts
Vous pouvez aussi utiliser des logiciels PC.
 
 
 

** Pilotage par des logiciels PC :

La grande force de D17 est de se passer de PC et être simple.
 
Néanmoins, il est possible d'utiliser des logiciels PC pour étendre l'utilisation de D17.
 
D17 est bien adapté pour une utilisation manuelle ou une automatisation légère.
Pour une automatisation plus lourde, il est possible d'utiliser un PC avec un bon logiciel comme RocRail.
 
D17 offre les protocoles et connexions suivant-e-s:
WIFI
    protocole D17
        souris Android, souris potentiomètrique
        logiciel SourisD17 de JM Dubois
        mini-cab
USB
    protocole DCC++ (en fait une version light et adaptée à RocRail) (mettre USB_MODE à 2)
        RocRail
    protocole DCC++ (en fait une version light et adaptée à CDM-Rail) (mettre USB_MODE à 5)
        CDM-Rail
    protocole DesktopStation (mettre USB_MODE à 3)
        DesktopStation
 
 
- logiciel Desktop Station:
 
Le logiciel Desktop Station permet de conduire les locos avec ses souris logicielles, commander les accessoires, voir l'état des capteurs sur le S88, propose un TCO et un mode script.
Il n'y a certes pas de nouvelles fonctionnalités par rapport à ce qui existe sous D17, mais il est bien fait, agréable a utiliser et intuitif.
Il tourne sur Windows et se connecte à D17 par USB (bientôt par WIFI aussi).
Contrairement à RocRail il ne joue pas avec la ligne DTR, nous pouvons donc utiliser directement la connexion USB de l'Arduino sans passer par un câble spécial.
Pour que cela fonctionne, il faudra utiliser le dernier programme Arduino pour la D17 et sélectionner le bon protocole: #define USB_MODE 3  // 3 protocole Desktop station
lien: https://desktopstation.net/play.html
 
Ds
 
Exemple de configuration pour se connecter à D17 (mettez votre port série) :
 
Ds conf
 
 
- logiciel RocRail:
 
Le logiciel RocRail peut être utilisé pour piloter D17 par USB en utilisant le protocole DCC++. (En fait D17 implémente une version light et adapté à RocRail).
Ce logiciel nécessite le cantonnement du réseau avec idéalement 2 détecteurs par canton (un en début et un en fin de canton).
Il propose un mode manuel, un mode semi-automatique ou l'on glisse une loco d'un canton sur un autre et un mode automatique avec lequel les horaires peuvent être utilisées.
 
Rocrail
 
Malheureusement la DLL de RocRail qui gère DCC++ joue avec le signal RTS ce qui reset le Wemos.
Il est possible de résoudre ce problème en utilisant un câble USB-Série (ex: FDTI 3.3V) à la place de l'USB du Wemos.
 
Wemos fdti
 
Une annexe dans la documentation traite de RocRail plus en détail.
 
Le logiciel CDM-Rail devrait aussi être utilisable dans le futur car l'auteur m'a dit qu'il supporterai le protocole DCC++ prochainement.
 
Je ne sais pas encore si je modifierai le logiciel Free-DCC 2017 pour supporter le protocole DCC++ et donc la centrale D17 ...
 
 
- logiciel mini-cab:
 
     Le projet mini-cab permet de conduire les locomotives à partir de cabines modélisée (voir onglet mini-cab sur ce site)
 
Cc 6500 capture2
 
 
- logiciel SourisD17 de JM Dubois:
 
SourisD17 est un logiciel de commande pour Windows, Linux et OS-X, il apporte la conduite simultanée de 4 trains et avec D17++, une extension de D17, le calibrage et la régulation automatique de la vitesse par zone, le Block Automatique Lumineux, etc.
 
Sourisd17 1
 
JM Dubois (alias BugKiller) m'a bien aidé pour le développement et mise au point de D17. Je tiens à le remercier !
Pour une utilisation basique de SourisD17, le code standard de la centrale d17 suffit. Pour utiliser les fonctionnalités avancées de SourisD17, il faut utiliser un code spécifique de la centrale disponible sur la page web de JM Dubois... 
 
 
- logiciel Desktop CDM-Rail:
 
Le logiciel CDM-Rail peut être utilisé pour piloter D17 par USB en utilisant le protocole DCC++. (En fait D17 implémente une version light et adapté à CDM-Rail, mettre USB_MODE à 5).
CDM-Rail est très utile pour concevoir un réseau car il permet de dessiner le plan des voies en utilisant de vraies références de voies puis de simuler la circulation des trains. Une fois que vous êtes content, vous pouvez construire votre réseau puis le piloter manuellement avec des souris virtuelles ou automatiquement (mode RUN). Il est utilisé en exploitation par des particuliers et surtout des clubs. Son automatisation supporte des séquences denses basées sur des routes (appelées itinéraires dans CDM-Rail) et des événements (par exemple un train qui rentre en coulisse peut en faire partir un autre). La documentation est très complète et il y a de nombreux tutoriaux vidéos. 
 
Layout1 decor m
 
Cdm1
 
Malheureusement la DLL de communication de CDM-Rail qui gère DCC++ joue avec le signal RTS (ce qui reset le Wemos) et active le DTR (ce qui est incompatible avec le driver USB CHR341 du Wemos). Il est possible de résoudre ce problème en utilisant un câble USB-série (ex: FDTI 3.3V) à la place de l'USB du Wemos (comme pour RocRail) (testé par JM). Comme je ne je ne trouve plus mon câble, en attendant j'ai utilisé un Arduino UNO officiel (pour avoir le driver U2 qui supporte RTS), pour connecter CDM-Rail à D17, mais la manip est un peu compliquée ...
 
 
 

** Compatibilité :

La centrale est compatible avec les décodeurs de locos DCC, les décodeurs d'accessoires DCC et les modules de rétrosignalisation S88.
La centrale n'est pas compatible avec tout ce qui est propriétaire comme les bus XpressNet, LocoNet ...
Elle ne supporte que ses propres souris.
Comme le montre le diagramme suivant, vous pouvez mixer des éléments du commerce, de mon cru ou d'autres projets ouverts.
 
D17 compatibilitee
 
 
 

** En savoir plus :

Cette page n'est qu'une présentation de la centrale. Pour en savoir plus merci de lire la documentation. Vous y trouverez mon e-mail si vous avez des questions.
Une petite communauté s'est formé autour de cette centrale sur le forum de loco-revue ou vous pouvez discuter: http://forum.e-train.fr/viewtopic.php?f=3&t=84400
 
PS: Une petite photo de votre réalisation fait toujours plaisir ...

Créer un site internet avec e-monsite - Signaler un contenu illicite sur ce site