Auteur Sujet: Réflexion et création Code C++ associé à la BOX pour le pilotage d'un réseau  (Lu 1102 fois)

Thierry33

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Bonjour,

je vous ai présenté dernièrement un sujet sur la création d'écrans Couleur 0,96 pouces pour afficher des informations voyageurs sur des quais de gare moderne.
Je viens de recevoir les 40 cartes Adafruit nécessaires à la décoration de ma gare.
Tout est fonctionnel et n'étant plus qu'une activité qui occupe mes mains, mon esprit est passé à autre chose.

Rien ne me satisfaisant dans l'existant actuel concernant la gestion de mon futur réseau moderne avec un automatisme poussé , logiciel trop rigide ou fonction obsolète ou obligation d'utiliser du matériel d'avant guerre et j'en passe, je me suis lancé le défi, comme pour les écrans, de créer mon code C++ pour le quel je serai bien aidé par Chaton (Mistral).

Moi je m'occupe des réflexions et lui d'écrire le code selon mes envies et besoin.
J'ai pu réaliser le code de 800 lignes pour les écrans sans écrire une seule ligne de code, alors je peut être en droit de penser qu'il n'y a aucune raison pour que je n'y arrive pas encore cette fois ci.

malheureusement cette réflexion enfin terminée fut assez longue et publiée sur le forum LRPresse. Ce serait trop de travail pour le transférer sur cette page.

Par contre à partir de maintenant, je vais passer dans la phase de création du code en décorticant les différents éléments que je vais concevoir et les publier sur ce Forum.

Mon code ressemblera à une I.A. que j'ai affectueusement appelé "Georges". Chaton, est l'I.A. de Mistral Le Chat.

Si vous souhaitez avoir un avant goût du fruit de mes réflexions, je vous invite à suivre le lien ci-dessous.



https://forum.lrpresse.fr/viewtopic.php?p=2976103#p2976103

A très bientôt.

Thierry




Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3137
  • 100% Arduino et N
    • Voir le profil
Bravo Thierry,

J'ai rapidement jeté un coup d'oeil sur ton sujet sur le forum de LocoRevue, car je suis en voyage avec une communication limitée : ton approche est très interessante et hardie à la fois et j'avoue que je pense aussi à l'IA pour la gestion de réseau : voir un rudiment d'échange ici : https://forum.locoduino.org/index.php?topic=1849.msg20522#msg20522, mais tu l'as vu.

Déjà je vois que mes éminents collègues (Christophe et Christian) ont réagi et que tu peux puiser dans les solutions techniques de détection un peu partout dans Locoduino. Il y a de nombreux détecteurs possibles (tension, courant, optique, magnétique, RFID et j'en passe), chacun apportant ses avantages et inconvénients. Perso je pense qu'il faut en combiner plusieurs et l'IA s'en sert pour confirmer d'autres événements ou états.

Le bus Can aussi est important pour transporter vers le système central gestionnaire IA tous les états et événements et aussi (surtout) les commandes des trains via la centrale DCC et vers les actionneurs (aiguilles, signaux, TCOs...), sans forcément tout faire passer dans le signal DCC qui est limité en performance.

Je ne vais pas plus loin avant d'avoir digéré tout ce que tu as écrit (j'ai un cerveau lent sans doute), mais je reviendrai plus tard d'ici une semaine environ, dans ce sujet sur Locoduino.

En tout cas bravo et accroches toi bien, ça me semble possible, en tout cas partiellement sur des cas de circulation définis et certainement en utilisant plusieurs processeurs dédiés à certaines taches (ce que le bus can permet aisément).

Il y a un précédent sur Locoduino qui reste en pointe mondialement sur ce sujet :
https://www.locoduino.org/spip.php?article154
A toi d'écrire la suite de l'histoire  :D
« Modifié: mars 14, 2025, 03:28:56 pm par Dominique »
Cordialement,
Dominique

Thierry33

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Bonjour Dominique,

Je te remercie pour ton intervention et le temps que tu as pris à me conseiller.

Je viens de lire ton message sur la possibilité d’utiliser l’I.A pour la gestion de nos réseaux. Que je n’avais pas lu mais qui est fort intéressant.

J’ai également parcouru sur ton conseil, les articles de Pierre59 sur la conception de son gestionnaire de réseau.

Ce qui est formidable chez l’humain, contrairement à l’I.A qui n’a d’intelligent que le nom, c’est que le cerveau peut emprunter un nombre de voies infini pour arriver au même objectif.

Malgré un travail colossal de Pierre 59 et qui, si je le mets en application pourrait me satisfaire pour la gestion de mon réseau, la lecture de tous ces articles m’a conforté dans l’idée d’essayer de créer un gestionnaire de réseau selon mon approche de sa structure.

En effet, il y a un élément essentiel entre vous, la minorité des ultras compétents et nous, la majorité bidouilleuse qui essaye d’imiter les grands parfois avec succès, souvent suivi d’abandon au vu de la complexité du « charabia informatique » que vous débitez à la vitesse d’un bus CAN.

Étant dans la catégorie majoritaire, j’ai donc lu avec attention tout un tas d’articles sur ce qui est nécessaire à la conception d’un gestionnaire de réseau.

Il en résulte que maintenant j’ai dans la tête une espèce de pelote de laine bien emmêlée où tous les éléments qui me seraient nécessaires à la réalisation d’un gestionnaire de réseau pourraient être extraits en tirant délicatement le bout du fil.

Bien sûr, je ne suis pas le premier à m’atteler à la tâche, bien sûr il existe des logiciels tout comme il faut pour gérer un réseau, mais j’ai pour objectif de rendre votre charabia compréhensible pour qu’un humain normal sans compétence particulière puisse très facilement h appréhender le concept sans se casser la tête.

Et c’est d’autant plus facile pour moi, que mon incompétence va me guider tout le long dans ma tâche. Si moi je comprends, la majorité comprendra.

C’est de cette idée qu’est né Georges, que j’ai qualifié d’I.A. Parce que c’est dans l’air du temps, mais qui en réalité ne sera que des IF AND ELSE NOT OR et compagnie.
 
Dans mon programme, au risque de te décevoir, pas une once d’I.A., mais une assistance de Chaton, qui malgré des lacunes évidentes, et des critiques moqueuses m’ont permis, sans aucune connaissance du codage en C++ d’écrire un programme fort complexe de plus de 600 lignes pour afficher des informations sur mes écrans de quai.

Et c’est une réussite, j’ai obtenu un résultat au-dessus de mes attentes.

C’est donc avec confiance que je me lance dans ce projet pour que nous, les « qui aimeraient bien mais qui comprennent pas et donc ne peuvent pas » puissent aussi participer à la joie que peut apporter l’utilisation de nouvelles technologies dans la gestion de nos réseaux.

Franchement, je sors du salon de Bourges, un peu tristounet, où à part quelques rares exceptions, tout se ressemble. Une gare de campagne, des trains qui tournent en boucle, des arbres, des prés, des sites industriels, des caténaires des feux, des quais tous pareils et très vides.

Et surtout des enfants plantés , la tête relevée parce que le réseau est conçu pour des adultes, figé devant une pancarte « ne pas toucher »

Pour moi ce n’est pas ça le modélisme ferroviaire.

Georges va être conçu pour que n’importe qui, de n’importe quel âge puisse prendre une tablette ou un smartphone et piloter un train sur un réseau quelque soit sa taille.

Là où je suis vraiment content, c’est que si la partie de gestion peut être encore améliorée par des concepts innovants et m’amuse à imaginer, certains éléments me faisaient peur comme les communications entre Georges et le réseau, la conception d’un TCO, en réalité tout ce qui n’est pas Georges.
Et LOCODUINO m’offre tout sur un plateau. Une bonne année de travail économisé sans l’assurance d’y arriver.

On vit un monde formidable.

Thierry
« Modifié: mars 15, 2025, 07:34:34 pm par Thierry33 »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3137
  • 100% Arduino et N
    • Voir le profil
Merci Thierry,

Pour la grande foi inébranlable qui t’anime.

Je suis comme toi : pas de logiciel de gestion sur PC, pas de PC sur mon réseau mais un « cerveau » que je conçois moi-même.

Je ne sais pas comment tu vas y arriver, mais ça m’intéresse.

J’avais publié quelques schémas d’architecture des modules à construire dans mon sujet. Qu’en penses-tu ?
« Modifié: mars 15, 2025, 08:13:45 pm par Dominique »
Cordialement,
Dominique

Thierry33

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
En réalité, pour le moment, à part le module GESTION CENTRALE « cerveau » je n’ai rien envisagé du tout, comme si je venais d’ouvrir une boîte de Puzzle, avec les pièces éparpillées sur la table avec au centre la première pièce GESTION CENTRALE.

Ce que je pressens dans ton schéma et que je trouve très intéressant pour la suite de mon projet, c’est que cette architecture modulaire simplifie énormément le travail où, plutôt que de créer un code unique de 47 000 542 lignes,  :-\ génère des codes spécialisés dans une fonction, permettant de modifier un code de module sans risquer de perturber l’ensemble du système.

Dans ma vision des choses, je pense que la plupart des « Trainomodélisteurs » se contentent largement de feux rouge et vert voire orange pour un avertissement et encore. D’autres comme Pierre59 vont attacher une importance capitale à une gestion des feux rigoureuse. Pour les premiers, une solution offrant des options trop nombreuses et complexes à comprendre vont les rebuter et ils ne seront pas tenté de changer de système. Les autres, ne trouvant pas les multiples options permettant de gérer les feux selon les règles, ne jetterons même pas un coup d’œil au programme.

C’est pourquoi, avec cette architecture modulaire on peut facilement, avec une simple case à cocher proposer une version simpliste de la gestion des feux ou une version simplifiée convenant à la majorité. Et pouvoir le faire en deux temps d’abord simpliste pour les tests, puis complète pour les fadas.

Cette architecture me plaît bien aussi car elle correspond à ma vision des choses. Par exemple, j’ai une animation lumineuse entre les rails du quai, qui informe les voyageurs de l’arrivée imminente d’un train. 8 leds bleues qui clignotent selon un rythme programmé. Cette animation doit être synchronisée avec une annonce de quai et une modifications de l’image de mes écrans d’informations. Le fait de pouvoir relier toutes ces cartes par le bus CAN me règle un énorme problème, enfin c’est un mot mal utilisé car pour moi, il n’y a aucun problème, juste le contre temps d’une solution.

Dans le schéma ci-dessous, je pourrais déjà enlever les module Capteur RFID et Autres Capteurs. Comme je l’explique Georges s’en charge.
Je suppose que la Nano Alimentation Traction Gère la coupure d’urgence.
Par contre, Commandes DCC Va et Vient Quesaco?????

Pour la gestion centrale, j’envisageais plus une ESP 32 pour pouvoir communiquer en WIFI avec une tablette ou un smartphone ou avec un IMac pour avoir un TCO de grande taille.

Merci pour ton schéma.

A+

Thierry


Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3137
  • 100% Arduino et N
    • Voir le profil
Le schéma que j’ai montré remonte à pas mal d’années. Les Arduinos indiqués ne sont que des exemples et les réalisations ont évolué.

La centrales utilise un ESP32 (LaBox) et il y en a d’ailleurs plusieurs.
Le va et vient utilise une centrale dédiée sur une voie unique à part (voir article sur le va et vient https://www.locoduino.org/spip.php?article232)

Ce sont les détections qui sont les plus importantes : tu verras que George en aura besoin et beaucoup, avec de la redondance.

Le RFID peut être remplacé par du Railcom mais je n’ai pas de Railcom sur toutes mes locos et le rfid est simple et fonctionne bien.

Je n’ai posé de signaux 3 feux qu’en sortie de la gare principale. Pas nécessaire ailleurs sauf cosmétique. La modularité permet de construire ou pas quand je veux ou quand je peux.

Mon George a moi tourné dans un DUE (ARM) et je peux le remplacer par d’autres micros plus costauds, voire plusieurs, mais jamais un PC.

Le réseau Can est le TOP du pratique et du fiable. Je parie que tu y viendras.

J’ai plusieurs TCO et organes de commande dont beaucoup de manuel, que les petits enfants préfèrent.

J’ai hâte de voir ton George : conception, construction, programmation, fonctionnement et mise au point.

Bon courage.
Cordialement,
Dominique