Auteur Sujet: projet centrale "LaBox" wifi DCC++ Can  (Lu 555511 fois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #90 le: mars 19, 2020, 01:34:36 pm »
Je suis tout à fait d’accord avec Michel : il n’y a pas d’IHM du tout dans cette centrale. Le petit écran n’est là que pour juger de son bon fonctionnement.

Évidemment un réseau sans IHM, sans TCO, c’est dommage.

Un TCO sur Can c’est facile à faire, simplement à partir des messages Can qui circulent (occupations, libérations, commandes aiguilles et itinéraires, commandes des trains, etc..). Je publierai le mien  ;)

Là c’est extérieur à la centrale. Il est évident qu’il existe des solutions logicielles sur PC, Mac, RPi qui doivent pouvoir s’interfacer à cette centrale sans passer par le Can éventuellement.

Svp, montrez un schéma de votre cas personnel, de vos attentes.
« Modifié: mars 19, 2020, 01:45:43 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #91 le: mars 19, 2020, 01:38:01 pm »

Dès que l'on aura une idée précise des messages sur le CAN, je ferai tout pour que mon gestionnaire soit compatible.

Ah une bonne nouvelle ! On t’aidera.
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #92 le: mars 19, 2020, 02:58:38 pm »
Ou plus simple avec 2 transistors et 4 résistances :
A noter : When using the ESP32 with Arduino IDE, the default I2C pins are GPIO 22 (SCL) and GPIO 21 (SDA)
C'est justement le schéma de la moitié de ce module à 0,92€ ...

Et pour RX/TX je tombe sur :
 * U0UXD is used to communicate with the ESP32 for programming and during reset/boot.
 * U1UXD is unused and can be used for your projects. Some boards use this port for SPI Flash access though
 * U2UXD is unused and can be used for your projects.

UART      RX IO       TX IO         CTS          RTS
UART0    GPIO3      GPIO1        N/A         N/A
UART1    GPIO9      GPIO10      GPIO6     GPIO11
UART2    GPIO16    GPIO17      GPIO8     GPIO7

https://circuits4you.com/2018/12/31/esp32-hardware-serial2-example/
et
https://quadmeup.com/arduino-esp32-and-3-hardware-serial-ports/
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1082
  • HO avec DCC++
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #93 le: mars 19, 2020, 04:16:12 pm »
Pour ceux que ça intéresse, voici le moyen d’utiliser JMRI en Wifi. C’est la première brique que je propose pour cette centrale. (et dans l’attente de DCCpp sur ESP32)

Le procédé est très simple, JMRI communique en TCP (Ethernet) avec l’ESP32, les deux étant reliés à votre box.

Les commandes reçues de JMRI par l’ESP32 sont « routées » par le port « Serial2 » de l’ESP32 au port série (Pins TX et RX) de l’Arduino UNO (ou autre) qui supporte DCC++.

De la même manière, les informations envoyées par DCC++ sont « routées » en TCP à JMRI.

N’oubliez pas que le TX de l’un va dans le RX de l’autre et vice-versa.

Attention, le courant sur les pins de l’Arduino est en 5V et sur celles de de l’ESP en 3,3V. Vous devrez ajouter un convertisseur de tension comme sur la photo.

Chez moi, le serveur DHCP a donné l’IP 192.168.1.126 à l’ESP. Il vous faut entrer dans JMRI l’adresse IP attribuée à l’ESP32 dans votre propre configuration.

N’oubliez pas de mettre vos propres identifiants internet dans le fichier config.h

#define WIFI_SSID           "votre_ssid"
#define WIFI_PSWD           "votre_password"

A votre disposition si ces informations ne sont pas suffisantes pour l’installation.

Prochaine étape, je vais essayer de piloter à partir de WiThrottle avec les informations fournies par Dominique.


Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #94 le: mars 19, 2020, 06:21:54 pm »
Bravo  :) ;) :D ;D
Cordialement,
Dominique

CATPLUS

  • Sr. Member
  • ****
  • Messages: 435
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #95 le: mars 19, 2020, 08:34:21 pm »
Bonsoir à tous

Aie  :(, j'ai du mal à suivre (je ne dois pas être le seul, enfin j'espère) mais je m’accroche.

Juste une réflexion, si j'ai bien tout compris !!!! vous voulez que du WIFI et aucune possibilité d'une sortie sur RJ45, ma requête et demande si coupure du signal plus aucun moyen de commander, d'arrêter le système. Sous JMRI, même perte du signal on peut continuer manuellement.

Cordialement
Marcel

Best Regards

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1082
  • HO avec DCC++
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #96 le: mars 19, 2020, 08:46:16 pm »
Marcel, qu'est-ce que tu appelles "continuer manuellement" ?


Pyk35

  • Full Member
  • ***
  • Messages: 110
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #97 le: mars 19, 2020, 10:47:18 pm »
Bonjour Marcel,

On ne parle de connexion à Internet mais de Wifi supporté par la centrale DCC.
Le Wifi est dans la box, indépendamment de votre internet Orange, Bouygues ou autre. Si le wifi de la centrale DCC ne fonctionne plus, c’est que la centrale est en panne.

Espérant avoir été clair.

Cédric
A+
Cédric

CATPLUS

  • Sr. Member
  • ****
  • Messages: 435
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #98 le: mars 20, 2020, 07:52:48 am »
Bonjour,

Ok c'est clair , j'ai du loupé un épisode (à relire)

Donc, je reprends mon exemple  je suis équipé d'une centrale ZIMO première génération MX31ZL (voir en page 3 et 23 du pdf)

http://www.zimo.at/web2010/documents/MX31E.pdf

je la jette et la remplacerai par votre projet !!!! :-[

Quoi qu'il en soit si vous regardez les sorties sur le boitier ZIMO, on branche sur le CAN un adaptateur pour l'antenne (se que j'ai fait)
Si panne de batterie dans la manette de commande, je peux brancher  un câble sur la seconde sortie RJ45 (d'ou ma remarque)

@ Christophe
Marcel, qu'est-ce que tu appelles "continuer manuellement" ?

Dans tous les Systems qui doivent être utilisés "communication" (portable, tablette, souris, etc) il faut une énergie. A un moment "X" il y a aura coupure de l'alimentation (déchargement de la batterie)
Reprendre la main sur le System en branchant un câble RJ45

Il y a quelques années (en 2014) j'ai essayé le wifi avec JMRI, ce fût une mauvaise expérience (depuis les bugs de JMRI et Engine Drivers sont & seront corrigés)
https://teamtrack.soforums.com/t1242-JMRI-1.htm

J'utilise le SPROG & JMRI pour la programmation de me locos, pas de WIFI & des centrales DCC++ pour des petits montages (nettoyage de mes locomotives, va et vient, etc...)

Votre  projet est ambitieux et promet beaucoup, à suivre.

Cordialement
Marcel


Best Regards

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #99 le: mars 20, 2020, 08:49:57 am »
Une chose sera sûre, en cas de panne wifi ou coupure, les trains s’arrêtent. C’est déjà le cas avec les applications smartphone : Withrottle : un appel téléphonique arrive -> le train s’arrête  !
Idem si la batterie est trop faible !

Dans les spécifications du projet, nous prendrons en compte tous les cas possibles de sécurité.
Et tester, tester et tester ...
« Modifié: mars 20, 2020, 08:53:16 am par Dominique »
Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1082
  • HO avec DCC++
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #100 le: mars 22, 2020, 12:11:20 am »
Bonjour à tous,

Dans le prolongement de la première centrale réalisée avec JMRI, j’ai développé une passerelle pour WiThrottle sur un ESP32 pour pouvoir, comme pour JMRI, commander par WiFi un Arduino (Uno, Nano ou Mega) avec DCC++.

Le montage est bien connu, ici un Mega avec DCC++ et un LMD18200.

La centrale est en principe capable d’être pilotée par 2 ou 3 périphériques  WiThrottle

Je suis parti d’un code que Dominique avait trouvé sur internet : https://github.com/vhar/withrottle

J’ai corrigé quelques bugs sur les requêtes TCP et je l’ai adapté à l’ESP32 car à l’origine, il a été développé pour l’ESP8266.

Il faut que je mettre le code au propre et je le déposerai très bientôt sur le github de Locoduino (à moins que certains soient si pressés que je doive leur envoyer en l’état).

En attendant, voici une petite vidéo : https://www.youtube.com/watch?v=YgPwCOJ9aEg&feature=youtu.be





« Modifié: mars 22, 2020, 12:15:27 am par bobyAndCo »

Pyk35

  • Full Member
  • ***
  • Messages: 110
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #101 le: mars 22, 2020, 12:24:21 am »
Bravo Christophe!
A+
Cédric

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #102 le: mars 22, 2020, 09:14:21 am »
Citer
Je suis parti d’un code que Dominique avait trouvé sur internet : https://github.com/vhar/withrottle

J’ai corrigé quelques bugs sur les requêtes TCP et je l’ai adapté à l’ESP32 car à l’origine, il a été développé pour l’ESP8266.

Il faut que je mettre le code au propre et je le déposerai très bientôt sur le github de Locoduino (à moins que certains soient si pressés que je doive leur envoyer en l’état).

Bravo Christophe,
J’avais fait fonctionné ce code sur 8266, ajouté le support d’Engine Driver, la connexion à DCC++ en mode I2C pour libérer les ports serie et intégré l’écran Oled.

Oui je suis preneur de ton adaptation à l’ESP32 pour comprendre ce qui change et réintégrer les ajouts.

Cordialement
Dominique
Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1082
  • HO avec DCC++
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #103 le: mars 22, 2020, 09:21:23 am »
Alors que je viens tout juste de terminer cette première brique, je me rends compte qu’il y a tout de même une grosse lacune et qu’il est bien exagéré d’appeler ceci « centrale DCC ».

En effet, WiThrottle qui au passage est totalement verrouillé et pas du tout open source, ne permet pas de faire le moindre réglage sur les décodeurs ni même de lire l’adresse d’une locomotive. C’est pour cela que vous voyez deux locomotives sur la vidéo, j’avais complètement oublié l’adresse de la 150 Y et il m’était impossible de l’utiliser.

On ne peut pas avoir que des locomotives avec la seule adresse 3.

Tout au mieux, je pense qu’il faut considérer ce projet à ce stade comme une manette de commande qui ne peut se dispenser d’un logiciel comme JMRI et en particulier de son extension Decoder Pro !

Ou alors, il faut implémenter dans l’ESP32 une partie logicielle qui permettra de lire et écrire sur les décodeurs, modifier les adresses et certains paramètres comme le volume du son…

Dans la mesure où l’ambition de cette centrale est assez modeste, cette programmation devra pouvoir se faire sur la voie principale avec une seule carte moteur donc.

Donc ce n’est pas fini. Moi je suis plus tenté de faire une centrale autonome et je propose donc développer la partie programmation des décodeurs avec une IHM qui va bien sur l’ESP32.

A suivre donc.

Christophe


Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #104 le: mars 22, 2020, 10:27:14 am »
Alors que je viens tout juste de terminer cette première brique, je me rends compte qu’il y a tout de même une grosse lacune et qu’il est bien exagéré d’appeler ceci « centrale DCC ».

En effet, WiThrottle qui au passage est totalement verrouillé et pas du tout open source, ne permet pas de faire le moindre réglage sur les décodeurs ni même de lire l’adresse d’une locomotive. C’est pour cela que vous voyez deux locomotives sur la vidéo, j’avais complètement oublié l’adresse de la 150 Y et il m’était impossible de l’utiliser.

On ne peut pas avoir que des locomotives avec la seule adresse 3.

Tout au mieux, je pense qu’il faut considérer ce projet à ce stade comme une manette de commande qui ne peut se dispenser d’un logiciel comme JMRI et en particulier de son extension Decoder Pro !

Ou alors, il faut implémenter dans l’ESP32 une partie logicielle qui permettra de lire et écrire sur les décodeurs, modifier les adresses et certains paramètres comme le volume du son…

Dans la mesure où l’ambition de cette centrale est assez modeste, cette programmation devra pouvoir se faire sur la voie principale avec une seule carte moteur donc.

Donc ce n’est pas fini. Moi je suis plus tenté de faire une centrale autonome et je propose donc développer la partie programmation des décodeurs avec une IHM qui va bien sur l’ESP32.

A suivre donc.

Christophe

Ton point de vue me semble un peu négatif mais la discussion est ouverte !

Les fonctions de programmation de décodeur et surtout de lecture de l'adresse ont été intégrées à ma version 8266 et c'est l'objet du mini écran Oled et des boutons +, -, SEL qui sont prévus au minimum (je n'ai pas attendu pour programmer les décodeurs sur la voie principale). Withrottle est effectivement un logiciel fermé mais gratuit et utilisable à condition de leur en demander l'autorisation, ce que j'ai déjà obtenu (comme quelques constructeurs de centrales US).

Comme Withrottle permet de choisir l'adresse DCC et l'enregistre en local pour les fois suivantes, il est facile de caractériser ses propres locos dans son propre smartphone (pour un usage personnel non partagé, ce qui sera le principal cas même dans les clubs). Mais c'est vrai qu'il est limité dans sa version gratuite (Lite). Sa version payante (PRO) est plus complète mais elle nécessite JMRI, ou beaucoup plus de logiciel dans le serveur wifi.
Il ne faut pas oublier également quelques limitations du DCC++ (il n'interroge pas tous les décodeurs). La plupart d'entre nous s'en arrange.

C'est pour cela que cet ensemble Withrottle + JMRI + Centrale wifi a du sens à la fois pour une large population de modélistes qui pourront démarrer simple sans JMRI, puis l'intégrer plus tard pour profiter des fonctions plus sophistiquées (décoder Pro, panel Pro, etc..).
Pour ceux qui ont déjà JMRI, Withrottle restera une manette wifi vis à vis de JMRI et la centrale Wifi ne sera qu'une centrale wifi.

Par contre, l'ajout du bus Can ouvre des possibilités à d'autres combinaisons, notamment d'autres logiciels de circulation (y compris de simples automates intégrés à l'ESP32, ne rêvons pas, un gestionnaire complet ne tiendra pas ou il faudra ajouter d'autres processeurs, et encore... ) et les bénéfices d'un bus fiable et rapide sur lequel il est simple de greffer des éléments d'IHM (TCO, postes d'aiguillages, etc..) et surtout les satellites à (re)découvrir pour la rétrosignalisation et les appareils de voie.

Je comprends les doutes : il ne s'agit pas de faire LA-centrale-universelle-qui-fait-tout, mais une plateforme minimale qui a des atouts à exploiter, que ceux qui voient des opportunités en profitent.

En ce qui concerne les "simples automates intégrés à l'ESP32", il s'agit encore de profiter de l'occasion pour satisfaire des besoins des petits réseaux, projets simples, automates de circulation comme un va-et-vient ou des animations de décor via le Can.

J'invite donc les lecteurs de ce fil à indiquer ce qu'ils souhaitent et ce qu'ils en penses de leur point de vue.

Bien amicalement
Dominique

« Modifié: mars 22, 2020, 10:36:26 am par Dominique »
Cordialement,
Dominique