Born to be wired

 Un gamepad pour les contrôler tous

Hey ! Vous ne rêvez pas, ce blog existe encore ! Après des mois de silence radio pour raisons (a)variées, j’ai décidé de bouleverser un peu le cours des publications tel que je l’avais initialement planifié. La raison de ce bouleversement : pour me rafraîchir les idées entre plusieurs séances de bricolage geek qui patinent par manque de motivation, j’ai entrepris la réalisation d’un projet d’envergure plus modeste, qui me travaillait depuis longtemps. Ce projet était surtout susceptible d’être terminé en peu de temps, et avec un peu de fun à la clé. Dans mon milieu, on appelle ça un quick win. Plus important, la finalité du projet : complètement inutile, donc indispensable.

Si je devais donner des explications concernant le silence radio, je serais tenté de dire que la publication d’un billet – même simplement technique, sans l’encombrement des fioritures linguistiques qui agrémentent mes honteux torchons – est chez moi l’aboutissement d’un long et laborieux processus rédactionnel. Envisager le cumul du temps de rédaction d’un article aux nombreuses heures déjà investies dans la réalisation d’un projet a de quoi mettre tout individu non doué de capacités rédactionnelles foudroyantes, comme l’est votre serviteur, sur la réserve. À ce titre, vous révéler le temps qu’il ma fallu pour rédiger les deux phrases précédentes constituerait une mise en abyme intéressante. Mais plutôt que de m’abaisser à cette galéjade, je préfère dévoiler l’aboutissement de ma réflexion face à tous ces aspects :

Si je veux continuer à rendre compte de l’avancement de mes (trop) nombreux projets, je vais parfois devoir couper court. Moins de texte, plus d’images, direct du cerveau au clavier. Cela ne sera pas toujours applicable, certains sujets continueront à nécessiter des explications détaillées. Mais pour d’autres, j’espère que la stratégie s’y prêtera, et que de cette manière du contenu pourra continuer à être publié sur cet espace d’expression.

Et ce mode de fonctionnement se prête justement très bien au sujet que je vais aborder maintenant.

Ceux qui me suivent un peu et qui persistent dans cette voie, les pauvres, connaissent peut-être l’existence du bras articulé Youpi et de mes quelques efforts pour en exploiter un peu de potentiel. À ce jour, existait un back-end nommé Youba assurant le contrôle du bras, et un front-end nommé Youfo offrant à l’utilisateur une interface sur navigateur pour commander le robot au clic de souris. L’avantage de cette offre sous forme de deux logiciels distincts est sa modularité, en fonction du type d’interaction souhaité avec l’utilisateur, il est possible de changer le front-end, et de conserver le back-end qui gère le gros du travail. L’inconvénient, jusqu’alors, de cette offre sous forme de deux logiciels distincts, était qu’il n’existait pas pléthore de front-ends, personne à ma connaissance n’ayant émis le désir masochiste de développer de nouvelles interfaces utilisateur.

Cette période est désormais révolue.

Il est désormais possible d’associer à Youba un nouveau front-end nommé Youga – pour YOUpi GAmepad front-end. Je tiens à préciser que je consomme en général très peu de substances illicites quand je trouve un nom aux programmes de ma création. Rapide tour d’horizon du nouveau venu :

  • Principe : contrôler le bras Youpi à la manette de jeu. Le pad Xbox 360 fonctionne très bien, mais de nombreux pads USB sont utilisables.
  • Avantage immédiat n°1 : contrôle plus ergonomique, plus intuitif, et plus réactif
  • Avantage immédiat n°2 : le contrôle simultané de plusieurs axes est possible
  • Avantage immédiat n°3 : la vitesse de rotation des axes est gérable grâce aux sticks et gâchettes analogiques
  • Logiciel multi-plateformes, il ne nécessite qu’un navigateur web

Pour le reste, les images ci-dessous valent mieux qu’un long discours et me permettent de respecter l’objectif initial de concision dans le traitement du sujet.

Au final, on conclura qu’on peut trouver méthode plus efficace pour touiller boisson (concision, toujours).

Les logiciels Youba et Youga sont accessibles sur la page de téléchargement. Si le sujet vous intéresse, l’historique de lecture du robot Youpi est consultable ici.

C’est tout pour aujourd’hui, à vous les studios.

 4 commentaires pour “Un gamepad pour les contrôler tous”

  1.  Manuline

    Bonjour,
    Youba et Youfo ont redonné vie à notre Youpi ! C’est super
    Youga me laisse pantois cependant… Il détecte les appuis sur le pad mais ne dialogue pas avec Youba !
    Que faire ?
    Merci pour tout le travail déjà fourni.

  2.  AlphaK

    Bonjour,
    En toute logique c’est un problème de communication entre Youga et Youba.
    Youga utilise la même interface de communication que Youfo 2.0.
    – Est-ce que Youfo 2.0 fonctionne ?
    – Est-ce que Youga arrive à se connecter à Youba lorsque le bouton ‘connect’ est cliqué ?

  3.  Manuline

    Bonjour,
    Désolé pour cette suite pas très réactive, mais je ne lâche pas l’affaire.
    Pour répondre à vos questions :
    – Youfo fonctionne parfaitement
    – Youga ne se connecte pas lors de l’appui sur le bouton malgré divers tests d’adressage (en plus de celui proposé par défaut)
    Pourtant, Youba est bien actif car un localhost:18080 dans la barre d’adresse du navigateur le fait réagir.
    Javascript est activé. Aucune règle spécifique n’est définie sur le firewall. L’ensemble est testé avec Firefox sous Ubuntu.
    Le pad est bien actif (Lors d’appuis, l’interface réagit en montrant quelle partie du robot doit s’activer)
    Je continue de chercher mais j’avoue que je tourne en rond.
    Merci pour votre aide

  4.  AlphaK

    Bonjour,
    À vue de nez, je pense à un problème de compatibilité entre le code javascript de l’application et votre navigateur.

    Je vous propose d’effectuer les actions suivantes afin de cibler le problème.

    1. Communiquez-moi SVP la version de votre Firefox, de Youga, de Youfo, de Youba.

    2. Si vous avez effectué des modifications dans le config.js de Youga, repartez du fichier de config d’origine et ne changez rien en dehors de la variable gamepadId.

    2. Dans Firefox, chargez Youga, pressez F12 pour afficher la fenêtre de débogage, cliquez sur l’onglet « Console », videz les éventuelles lignes de log en cliquant sur l’icône corbeille, rechargez la page avec F5, puis utilisez Youga normalement. Si vous voyez apparaitre des lignes dans la console après l’appui sur F5 (en principe des erreurs), communiquez-les moi.

    3. Si vous en avez la possibilité, testez Youga à partir d’un autre navigateur et/ou d’une autre machine. Youba peut rester sur votre machine Ubuntu, il faudra seulement utiliser l’IP de la machine Ubuntu dans Youga au lieu de localhost, et mettre en place les autorisations adéquate au niveau du firewall.

    4. Dans le répertoire « resources » de Youfo, copiez le fichier nommé jquery-xxx.min.js et collez-le dans le répertoire « resources » de Youga. Ensuite modifiez Youga.htm, ligne 30, changez le nom du fichier par celui que vous venez de copier, puis testez à nouveau. Sur un malentendu ça pourrait marcher…

 Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.