none
L'équivalent d'un sniffer USB RRS feed

  • Question

  • Bonjour à tous,

    Dans le cadre d'un projet (contrôle de pose d'un rail d'alimentation par le sol (APS)), je suis amené à mesurer la vitesse de déplacement d'un chariot (chariot servant au dit contrôle). Pour ce faire nous avons pensé à simplement utiliser une souris, fixée sous le chariot de manière à être à 1cm environ du rail (souris laser donc), et récupérer les données de déplacement qu'elle renvoie.

    Nous avons été confrontés à plusieurs problèmes, le premier, grâce à la bibliothèque DirectInput, nous avions réussi à établir la communication avec la souris, nous recevions bien les informations de déplacement, mais si l'on bougeait la deuxième souris (servant à la navigation) ou le pad, leurs données venaient perturber celles de la première.

    En gros il faut que nous puissions récupérer les données de déplacement X, Y de la deuxième souris sans que le curseur bouge, tout en ayant la première souris qui n'affecte pas les données de la première (c'est bon, vous suivez ?).

    Pour être bien sûr que ça soit faisable, nous avons essayé un petit sniffer USB gratuit, nous avons désactivé l'une des deux souris via le gestionnaire de périphériques mais sans la déconnecter. De ce fait, elle ne contrôlait plus le pointeur, mais le sniffer USB recevait bel et bien les trames de cette souris, et uniquement de celle-ci. La souris de navigation ne servait qu'à la navigation, exactement comme nous cherchons à le faire.

    Notre but désormais, sachant que c'est bel et bien faisable, est d'intégrer dans une application, un code qui aurait le même rôle que le sniffer USB utilisé (USBMonitor). Nous souhaitons donc récupérer les données de déplacement, mais en amont du driver de la souris.

    A savoir que nous n'utilisons PAS Visual C++, mais C++ Builder XE2 d'Embarcadero.

    Un autre point sur lequel nous nous interrogeons, lorsque nous aurons réussi à pouvoir récupérer les trames "brutes" des déplacements de la souris N°2 sur notre application, comment décoder ces trames ? Disons que j'ai eu un aperçu de ces trames sur le sniffer USB, et en toute honnêteté, ça ne m'inspire pas grand chose, c'est un peu comme les musiques d'attente téléphonique, ça donne juste envie de se tailler les veines.

    Bref, si vous avez déjà eu connaissance de ce genre d'applications, ou bien de codes sources de sniffer USB, ça m'aiderait grandement, parce que là je n'arrive plus à faire grand chose.

    Au final je cherche à intégrer à mon application, les fonctionnalités d'un sniffer USB, puis de pouvoir décoder les trames reçues.

    Cordialement, Julien.

    mercredi 4 avril 2012 16:14

Réponses

Toutes les réponses