Auteur Sujet: Piloter tout son réseau d'une seule main - manette Bluetooth low energy (BLE)  (Lu 3258 fois)

NitraThor

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
    • Modélisme ferroviaire par NitraThor
Bonjour à tous

Très content de vous retrouver après cette période calme et merci aux participants à la remise sur pied du site !

En cette période de vacances propice à la réflexion, j'en appelle à votre expertise afin de tester une manette Bluetooth et son module de contrôle. Celle-ci permet, sans aucun paramétrage, de piloter toutes les locos de votre réseau avec, malgré tout, deux pré-requis :
  • Disposer d'une centrale DCC pilotable par l'USB
  • Utiliser JMRI comme gestionnaire de réseau
L'avantage de cette manette réside dans sa facilité d'utilisation. En effet, elle est utilisable avec une seule main (pouce et index) et permet de piloter simultanément quatre locos à choisir dans la liste de toutes celles déclarées dans JMRI.
Je vous laisse découvrir toutes les informations nécessaires à ce montage à l'adresse :

https://www.nitrathor.fr/projets/micro-centrale-dcc/micro-centrale-dcc-modulaire/module-pad-ble

Sans avoir pu le tester, je pense que ce montage est applicable à d'autres centrales DCC. De nombreuses manettes peuvent également être connectées en série pour un partage et une utilisation des ressources du réseau ferroviaire entre plusieurs modélistes...

Bonne lecture.
Bien à vous,
NitraThor.
« Modifié: août 07, 2023, 10:01:04 pm par NitraThor »

NitraThor

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
    • Modélisme ferroviaire par NitraThor
Bonsoir à tous,

Quelques petites nouvelles du module de manette BLE après que les circuits imprimés soient revenus de fabrication :
  • un module se connecte directement sur la centrale DCC à chaud (connecteurs magnétiques) ;
  • plusieurs modules peuvent être utilisés en même temps et donc plusieurs manettes interviennent sur les locos du réseau ;
  • grâce à un script JMRI, toutes les adresses de locos sont transférées en un clic dans les modules pour être utilisées par les manettes ;
  • chaque module peut utiliser simultanément 4 adresses parmi toutes celles connues dans JMRI et en changer à la volée ;
  • chaque module peut stocker en EEPROM 4 adresses et donc les utiliser immédiatement lors d'une mise sous tension (sans être connecté à JMRI ou un autre gestionnaire de réseau).
A l'usage, c'est un vrai régal de pouvoir passer d'une loco à l'autre sans quitter des yeux le réseau !
Les commandes sont souples et la manette très légère.

Le code source en ligne vous permet d'utiliser ce PAD BLE et d'adapter les commandes et combinaisons de touches et joystick, à vos propres besoins :
https://www.nitrathor.fr/projets/micro-centrale-dcc/micro-centrale-dcc-modulaire/module-pad-ble

Bien à vous,
NitraThor.

Marceau69

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
Salut,

Je suis impressionné par ton projet de manette Bluetooth et son module de contrôle. C'est une réalisation très ingénieuse et pratique pour piloter tes locos avec ton smartphone. Je trouve que c'est une bonne idée d'utiliser JMRI comme gestionnaire de réseau, c'est un logiciel libre et puissant qui offre de nombreuses fonctionnalités.

J'ai regardé les photos que tu as partagées, et j'ai trouvé que ton montage était très propre et soigné. Le module se connecte facilement sur la centrale DCC, et le circuit imprimé est bien conçu. La manette a l'air ergonomique et facile à utiliser. Tu as fait du bon travail !

Je te remercie pour le lien vers le code source de ton projet. Je suis curieux de savoir comment tu as programmé le module et l'application Android pour communiquer avec le Bluetooth. Quels sont les protocoles et les bibliothèques que tu as utilisés ? Quelles sont les difficultés que tu as rencontrées ?

En tout cas, bravo pour ton initiative, c'est toujours agréable de voir des modélistes qui partagent leurs créations et leurs astuces. J'espère que tu vas profiter de ta manette et de tes locos. N'hésite pas à nous montrer des vidéos de ton réseau !


Visiter notre site : https://www.multi-hardware.com/
« Modifié: septembre 20, 2023, 08:26:47 am par Marceau69 »

NitraThor

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
    • Modélisme ferroviaire par NitraThor
Bonsoir Marceau69,

Merci beaucoup pour ce retour très positif.

Avant de répondre à tes questions, juste une précision : le module BLE et la manette communiquent sans aucun lien avec un smartphone. C'est l'ESP32 qui se connecte au PAD en fonction des services proposés par celui-ci.
Le Bluetooth low energy (BLE) n'est pas compatible avec le Bluetooth standard et consomme très peu de courant.
Pour faire simple, en Bluetooth standard, c'est une connexion permanente (écoute de musique par exemple) alors qu'en BLE, tant que la manette n'est pas manipulée, il n'y a pratiquement aucune consommation de courant.

Le code source utilise la librairie ArduinoBLE qui facilite énormément les accès à cette technologie et contient toutes les fonctions nécessaires. La complexité réside dans la connaissance du principe de fonctionnement du BLE ainsi que les différents codes envoyés par les appareils utilisant cette technologie :

Le protocole BLE est une sorte de mécanisme client/serveur, où l'objet BLE joue le rôle d'un serveur qui propose ses services à l'ESP32 qui viendra se connecter dessus en client.
Pour que le client puisse découvrir le serveur, c'est-à-dire pour qu'il puisse "voir" l'objet BLE, le protocole prévoit que le serveur envoie périodiquement une trame pour signaler sa présence.
Plus simplement l'objet broadcaste à intervalle régulier un message qui dit "je suis à côté de vous, je propose tel service, et j'ai telle adresse Bluetooth si vous voulez me joindre".
Au final, l'appariement est entièrement automatique et aucun paramétrage n'est nécessaire pour connecter une manette à son module.
Question consommation, j'utilise la manette tous les jours (et même les nuits) depuis plusieurs semaines et ne l'ai rechargé qu'une seule fois...

Le programme en est à sa quatrième évolution et toute la gestion a été réalisée en pointeurs. C'est un peu plus compliqué à comprendre, mais sans aucune commune mesure à l'utilisation. Le programme est très fluide (le microcontrôleur y est aussi pour beaucoup) et l'affichage ne souffre d'aucun ralentissement.

J'espère que ces quelques explications suffiront.
Bien à toi,
NitraThor.