IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Quel lange pour interroger de l'USB ?

  1. #1
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Par défaut Quel lange pour interroger de l'USB ?
    Bonjour à toutes et à tous.
    Tout d'abord excusez les imprécisions/aberrations possibles de ce post mais je suis plutot dev web moi (le monsieur il connait que PHP/JS/XML ), mais ok avec la POO.

    Je voudrais réaliser un programme qui me permettrait d'interroger un périphérique USB.
    En l'occurence ce capteur la, le 7 ème en partant du haut (http://www.toradex.com/Fr/Products/Oak_USB_Sensors). Oak USB Sensor IR Motion Detection

    Par quel bout je dois commencer à chercher ?
    Un langage en particulier ?
    D'après ce que j'ai compris, il s'agit de "lire" un rapport HID (un tableau de bits je crois ...), mais ce truc c'est quoi ?, un fichier ? un flux ? C'est stocké ou ? en RAM ou en ROM ?



    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    T'as déjà lu le guide de programmation et les exemples de codes qui se trouvent en bas de la page ? Si oui, que veux-tu savoir d'autre et si non, lis au moins le guide (connaissances minimales en langage C requises).

  3. #3
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Par défaut
    Après avoir parcouru les docs mis en liens, je ne crois pas avoir les compétences pour développer en C, ou plus exactement j'ai pas envie de prendre le temps d'apprendre dans ce domaine car c'est juste un petit projet perso.

    En revanche j'ai des notions en Java.

    j'ai regardé du coté de JUSB, qui me semble être une API qui traite directement avec les API USB de windows.

    Je veux juste faire une application simple, qui récupère une valeur du capteur, pour vous situer c'est pas un truc pro, pas d'interface graphique, environnement Windows, on se fout pas mal des performances.

    Pensez-vous que c'est une bonne solution ?

    Si des gens on déjà utilisé cette API, est-ce le temps d'apprentissage est long ? pour quelqu'un qui ne connait que très très peu Java.

  4. #4
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Par défaut
    Au secours !!!
    Je vais essayer de résumer ma question et tenter de faire émerger ce topic, je suis dans le flou.

    En gros, quel serait le langage le plus simple et le plus accessible pour interroger de l'USB ? pour quelqu'un habitué à la POO avec beaucoup de motivation.

    Mes spécifications :
    - windows XP pour l'OS
    - projet vraiment personnel, l'application ne comporte pas d'interface graphique, pas de gestion d'erreur, pour résumer ca sera vraiment un script à l'arrache ...
    - pas besoin de "hot pluging" on part du principe que tous les périphériques USB sont déjà connectés
    - je veux juste "lire" une valeur dans un des "pipes", c'est à dire savoir si un bête capteur de mouvement USB a changé sa valeur (c'est à dire si quelqu'un est passé devant)

    Mes pistes : Java, mais les deux projets d'API USB pour Java on l'air d'être morts ...
    python ?

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    L'API Win32 est, sauf cas très rares, intégralement en C : il est donc plus facile d'y accéder à partir des langages C et C++, notamment via le compilateur Microsoft qui contient bien sûr toujours les dernières versions des entêtes (via le PSDK). Tu peux parfaitement utiliser la version gratuite de Visual Studio pour ce que tu veux faire.

    Après, tu peux prendre n'importe quel autre langage capable de s'interfacer correctement avec l'API Win32, ce qui veut dire "quasiment tous" ou presque. Mais cela veut aussi dire que tu devras aller au niveau de cette API, et ne pas forcément te reposer sur une librairie.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  6. #6
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Par défaut
    Pourquoi est-ce que je devrais m'interfacer directement avec l'API win32 et pas me contenter d'une librairie ?

    Cela veut-il dire qu'un librairie USB pour le langage xxx a de forte chances d'être inadaptée ?

    Ça veut dire quoi concrètement s'interfacer avec l'API win32, ca veut dire que mon script (en python par exemple) devra lancer des commandes C ou CPP ?

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par mookmook Voir le message
    Pourquoi est-ce que je devrais m'interfacer directement avec l'API win32 et pas me contenter d'une librairie ?
    Parce que ta librairie est dépendante d'un langage, et que ce n'est pas forcément celui que tu auras choisi.

    De plus, ces librairies sont (relativement) rares, et servent à d'autres choses : toi, tu vas te connecter en lieu et place d'un driver USB pour interroger directement le périphérique. Si jamais c'est fourni avec un driver, alors il suffit de l'ouvrir et de lire dedans.

    Dans les deux cas, les librairies USB ne te seront pas d'un secours énorme, et risquent plus de te noyer sous les infos qu'autre chose.

    Citation Envoyé par mookmook Voir le message
    Cela veut-il dire qu'un librairie USB pour le langage xxx a de forte chances d'être inadaptée ?
    Cela veut dire que beaucoup de ces librairies sont spécialisées vers une fonction particulière de l'USB, et/ou se contente de wrapper libusb (qui est en C) ou l'API Win32 (en C aussi).

    Citation Envoyé par mookmook Voir le message
    Ça veut dire quoi concrètement s'interfacer avec l'API win32, ca veut dire que mon script (en python par exemple) devra lancer des commandes C ou CPP ?
    Cela veut dire importer les fonctions requises, habituellement en C (bien que certains langages acceptent d'importer du C++), en tant que fonctions natives externes. Tu as l'impression d'appeler une fonction "normale" du langage, mais en pratique, tu vas aller exécuter une fonction native située en général dans une DLL.

    Sache simplement qu'à peu près tous les langages un minimum décents peuvent s'interfacer avec du code C, notamment l'API Win32 ou l'interface kernel Linux. Le détail d'une telle interface, tu le verras quand tu auras choisi ton langage.

    La différence, c'est que trouver les fonctions d'importation de l'API Win32, c'est relativement simple (quand ce n'est pas déjà fourni). Wrapper une librairie comme libusb, cela revient à faire un portage de cette librairie vers le langage : c'est ce que fait JUSB pour Java, par exemple. Ce n'est pas forcément rentable, car il existe des wrappers automatiques comme SWIG, et plus le langage est de haut niveau et moins les dévs s'intéressent à piloter directement le matériel.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  8. #8
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Par défaut
    Merci pour ces explications, vraiment super !! ça me clarifie un peu les choses.
    Effectivement, le périphérique en question est fourni avec un driver en C.

    Une dernière question, peut-tu m'aporter plus d'explications sur cette phrase :
    Si jamais c'est fourni avec un driver, alors il suffit de l'ouvrir et de lire dedans.
    Est-ce vraiment aussi simple que tu le dis ?, lire dans un driver, c'est comme une lecture simple dans un fichier ?

    Merci encore

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par mookmook Voir le message
    Est-ce vraiment aussi simple que tu le dis ?, lire dans un driver, c'est comme une lecture simple dans un fichier ?
    Presque. C'est souvent le cas sous Unix, par exemple, sous Windows c'est un peu différent mais ce n'est pas franchement l'enfer non plus.

    La partie difficile, ce n'est pas d'UTILISER un driver (qui est forcément documenté ! ), mais de le FABRIQUER. Normalement, ton driver est fourni avec une doc sur la manière de l'utiliser et/ou de le compiler, et si c'est bien fait, tu auras des exemples en prime.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/08/2011, 15h51
  2. Quel system utiliser pour projet sur cle USB ?
    Par ismou dans le forum Mobiles
    Réponses: 0
    Dernier message: 25/11/2010, 20h19
  3. Quel distrib pour une clé USB ?
    Par guiyomh dans le forum Distributions
    Réponses: 2
    Dernier message: 14/08/2008, 17h10
  4. Réponses: 6
    Dernier message: 15/04/2008, 13h58
  5. Quel outil pour du développement Client/Serveur (Win XP) ?
    Par jey_bonnet dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 02/11/2002, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo