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

API standards et tierces Java Discussion :

Recherche API pour lecture port USB sous Linux


Sujet :

API standards et tierces Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut Recherche API pour lecture port USB sous Linux
    Bonjour,

    Quel est en Java6 la meilleure et plus simple API pour lire le contenu d'un port USB sous Linux (Centos 6.4) depuis le mode Level=3, sans serveur X11 de chargé ni API graphique ?
    Le but lire une Webcam passive.

    Merci d'avance
    Phil

    Ma webcam est detecte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sep 16 06:56:21 localhost kernel: usb 1-1.1: new full speed USB device number 8 using ehci_hcd
    Sep 16 06:56:21 localhost kernel: usb 1-1.1: New USB device found, idVendor=046d, idProduct=0870
    Sep 16 06:56:21 localhost kernel: usb 1-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
    Sep 16 06:56:21 localhost kernel: usb 1-1.1: Product: Camera
    Sep 16 06:56:21 localhost kernel: usb 1-1.1: configuration #1 chosen from 1 choice
    Sep 16 06:56:21 localhost kernel: STV06xx: Probing for a stv06xx device
    Sep 16 06:56:21 localhost kernel: gspca: probing 046d:0870
    Sep 16 06:56:21 localhost kernel: STV06xx: Configuring camera
    Sep 16 06:56:21 localhost kernel: STV06xx: HDCS-1020 sensor detected
    Sep 16 06:56:21 localhost kernel: STV06xx: Initializing camera
    Sep 16 06:56:21 localhost kernel: input: STV06xx as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/input/input15
    Sep 16 06:56:21 localhost kernel: gspca: video0 created
    Sep 16 06:56:21 localhost kernel: usbcore: registered new interface driver STV06xx

  2. #2
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    bonjour,

    Ce projet date de 2001, il est toujours d'actualité ?
    http://sourceforge.net/projects/jusb/files/jusb/0.4.4/

  4. #4
    Membre confirmé
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Points : 497
    Points
    497
    Billets dans le blog
    1
    Par défaut
    salut
    recherche de ce coté tu trouvera aussi plein de bout de code dans le communauté Arduino
    avec des choses comme ça
    Je peux me tromper mais je pense que c'est ce qu'il faut pour faire de l'usb a partir de java.

  5. #5
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Je ne penses pas que la solution "ARDUINO" fonctionne dans ce cas. En effet, un ARDUINO est vu par le logiciel comme un périph. série de type port COM. par le biais de son driver. Ensuite, on utilise n'importe quelle bibliothèque de type javacom pour communiquer avec le port série ajouté par le driver de l'arduino.
    Il faudrait donc que les pilotes de la Web CAM ajoutent un port serie de type COM pour suivre la même logique que l'ARDUINO.

    Pour dialoguer directement avec un port USB, je penses qu'il faut disposer d'une librairie spécifique, et qui je penses se décline en différentes versions pour les plateformes Windows, linux, etc... et au pire, il reste JNA. Mais là encore, tout cela dépend des périphériques USB cibles et d'éventuels drivers.
    Cela revient à dire de dialoguer directement avec le périphérique sans passer par le driver.

    Pour ce qui est de l'API que je vous ais proposé. Je vais regarder cela de plus près (pourtant, les derniers posts datent de 2013...).

    Cependant, s'agissant d'un cas spécifique, une Web CAM passive. Il y aurait peut-être une possibilité de l'exploiter directement, en faisant abstraction du fait qu'elle soit branchée en USB.
    En effet, sous Linux comme sous tous les OS d'aujourd'hui, un périphérique de type Web CAM, si elle est correctement installée au niveau du système, est une source de données vidéo, bref, un périphérique d'acquisition vidéo. Du coup, avec Java Media Framework, vous pourriez vous connecter à cete source et travailler directement avec des trames vidéos, plutôt que de trouver la bonne API USB et vous taper tout le boulot...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    bonjour

    Merci pour vos réponses,J'ai testé sans succes
    1 http://usb4java.org
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exception in thread "main" java.lang.NoSuchMethodError: de.ailis.usb4java.libusb.LibUsb.getConfigDescriptor(Lde/ailis/usb4java/libusb/Device;BLde/ailis/usb4java/libusb/ConfigDescriptor;)I
     at de.ailis.usb4java.examples.libusb.DumpDevices.dumpConfigurationDescriptors(DumpDevices.java:47)
     at de.ailis.usb4java.examples.libusb.DumpDevices.dumpDevice(DumpDevices.java:126)
     at de.ailis.usb4java.examples.libusb.DumpDevices.main(DumpDevices.java:165)
    2 lti-civil-20070920-1721
    Quand je lance le programme java, soucis egalement alors que le systeme semble avoir detecté la webcam
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sep 15 19:59:12 localhost kernel: usb 1-1.1: new full speed USB device number 7 using ehci_hcd
    Sep 15 19:59:12 localhost kernel: usb 1-1.1: New USB device found, idVendor=05a9, idProduct=4519
    Sep 15 19:59:12 localhost kernel: usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    Sep 15 19:59:12 localhost kernel: usb 1-1.1: Product: USB Camera
    Sep 15 19:59:12 localhost kernel: usb 1-1.1: Manufacturer: OmniVision Technologies, Inc.
    Sep 15 19:59:12 localhost kernel: usb 1-1.1: configuration #1 chosen from 1 choice
    Sep 15 19:59:12 localhost kernel: gspca: probing 05a9:4519
    Sep 15 19:59:19 localhost kernel: ov519: Can't determine sensor slave IDs
    Sep 15 19:59:19 localhost kernel: ov519: OV519 Config failed
    Sep 15 19:59:19 localhost kernel: ov519: probe of 1-1.1:1.0 failed with error -22
    Sep 15 19:59:19 localhost rtkit-daemon[3637]: Sucessfully made thread 14299 of process 13834 (/usr/bin/pulseaudio) owned by '500' RT at priority 5.

  7. #7
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Ok.
    D'après ce que je comprends des erreurs que vous montrez, il semblerait que le système détecte bien la présence d'un périphérique USB, mais qu'il n'a pas réussit à reconnaître ce dernier.

    Sep 15 19:59:12 localhost kernel: gspca: probing 05a9:4519
    Sep 15 19:59:19 localhost kernel: ov519: Can't determine sensor slave IDs
    Sep 15 19:59:19 localhost kernel: ov519: OV519 Config failed
    Sep 15 19:59:19 localhost kernel: ov519: probe of 1-1.1:1.0 failed with error -22
    Pour ce qui est de rtkit, il est requis par pulseaudio, un service système de type serveur audio. Est-ce que cette ligne s'affiche aussi si la Webcam n'est pas branchée ?
    Sep 15 19:59:19 localhost rtkit-daemon[3637]: Sucessfully made thread 14299 of process 13834 (/usr/bin/pulseaudio) owned by '500' RT at priority 5.

    Je dirai pour résumer que votre système ne reconnait pas votre Webcam.
    Avez-vous essayé cette Webcam sur une machine Linux dotée d'une interface graphique pour vous assurer de son fonctionnement ?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    bonjour

    les erreurs à 19:59:19 commence lorsque je demarre java "lti", je n'ai pas encore essayé l'interface graphique sur mon Centos 64bit.
    Phil

  9. #9
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Bon, je viens de faire le tour de plusieurs Forum dédiés au système Cent OS et aux caméras USB. Je crains que votre caméra ne soit pas reconnue par votre système. Dans ce cas, inutile de chercher côté Java, si le périphérique n'est pas connecté au système (absence de driver), il est impossible de communiquer avec. Lti est basé sur JNI si je ne me trompes pas. Je suppose que vous avez exécuter la méthode de test fournie avec la librairie qui est sensée afficher les périphériques connectés. Lti sait seulement faire la même chose que l'OS en matière d'interrogation de périphérique, mais sans plus. Il ne remplacera pas le driver, permettant au système de communiquer avec ce périph. De plus, comme vous évoluez dans un environnement texte, il va être difficile de vérifier si la camera est fonctionnelle ou pas. Vous devriez dans un premier temps monter une machine sous Cent OS avec une interface graphique, et avec les outils graphiques traditionnels essayer d'exploiter cette camera. Apparemment, la plupart des personnes ayant réussit à faire quelque chose avec une WebCam sur leur CentOS y sont arrivées avec Sype...

    Voici un lien qui vous permettra de patcher votre système pour palier à défaut de reconnaissance de la cellule photosensible de la Webcam lié à un problème de délai de réponse du périph. Ce patch est sensé permettre au système de laisser plus de temps au périph pour lui permettre de détecter correctement la cellule, cela permettra peut-être d'éliminer votre premier problème de reconnaissance matériel :

    http://git.kernel.org/cgit/linux/ker...id=b877a9a7fb0

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    Bonjour

    Je vais voir si je rebuild mon kernel Centos 6.4 avec ce patch
    Merci

Discussions similaires

  1. API smslib envoie SMS pour le port USB
    Par kalare dans le forum Général Java
    Réponses: 4
    Dernier message: 21/06/2014, 16h14
  2. Recherche API pour lecture de packet MPEG2-TS
    Par Djobird dans le forum Multimédia
    Réponses: 0
    Dernier message: 23/04/2009, 12h34
  3. Lecture sur port série sous Linux
    Par DangerousBowlOfJelly dans le forum C
    Réponses: 6
    Dernier message: 28/03/2008, 18h00
  4. Recherche API pour faire des interfaces ASCII (Style DOS ou Linux)
    Par sekiryou dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 18/08/2006, 01h37
  5. Réponses: 2
    Dernier message: 27/02/2003, 02h33

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