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

Java Discussion :

lire scan d'un code barre (usb)


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Points : 13
    Points
    13
    Par défaut lire scan d'un code barre (usb)
    Salut tout le monde !

    Voila, je développe une appli de gestion de stock, sous eclipse, j'utilise Maven, je dois récupérer les codes barres des articles via
    une douchette, ce serais d'une simplicité enfantine, si je devais seulement récupérer le code barre via ma console, ou dans un simple
    champ, mais, non, je ne veux pas passer par ce type de récupération, je voudrais savoir comment lire ou récupérer, le scan,
    depuis la source, via l'interface USB, j'ai regarde partout, beaucoup de chose, mais pas vraiment ce que je recherche, j'ai ajoute
    a mon repository local Maven javaxUSB, mais après je sèche, si quelqu'un a une idée je suis preneur, en vous remerciant d'avance.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    étant donné qu'une douchette est un clavier, t'espère trouver quoi de plus sur le port usb?

  3. #3
    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 : 54
    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
    Une réponse un peu plus utile pour vous :
    Jetez un œil dans la documentation de l'API Java sur la classe java.awt.Robot...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par yotta Voir le message
    Une réponse un peu plus utile pour vous :
    Jetez un œil dans la documentation de l'API Java sur la classe java.awt.Robot...
    Quel rapport avec la lecture de code barre par douchette USB ? Et surtout celui d'obtenir l'image du code barre ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    étant donné qu'une douchette est un clavier, t'espère trouver quoi de plus sur le port usb?
    Merci pour ta remarque pertinente, comme t'as l'air plus malin que la moyenne, dis toujours comment tu ferais
    pour recupérer le scan sans passer par le console, ni en donnant le focus a un champ, vas y, je suis tout ouïe !

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Les douchettes se comportent comme un clavier en cela qu'elles scannent le code barre en le transformant en une série de caractères (un code barre est un système de codage graphique de caractères facilitant juste la reconnaissance optique). C'est pour ça qu'on récupère directement le résultat du scan dans un champ qui a le focus. Une douchette n'est généralement pas une caméra/appareil photo.

    Si le but est de pouvoir afficher le code barre graphique (l'image scannée donc) dans ton interface, tu peux éventuellement le reconstituer avec une API de génération de codes barres, ou simplement avec une police dédiée. Avec juste le problème de détermination du type de code barre. Si la douchette est dédiée à un type et que tu sais lequel c'est, il suffit de le gérer en dur. Ma connaissance des douchettes étant limitée, je ne saurais dire s'il existe des douchettes multitype qui pourraient en reconnaitre le type, et le fournir le cas échéant, ou un moyen (API) qui permettrait de retrouver le type avec la séquence.

    L'autre solution serait de remplacer la douchette par une caméra/appareil photo pour obtenir l'image du code barre et pouvoir l'orienter (ensuite il existe des API qui permettent de retrouver la séquence de caractères).

    [EDIT]En te relisant, j'ai un petit doute : est-ce que tu n'essayerais pas simplement de récupérer le code barre (la séquence de caractères) sans passer par une interface graphique avec champ de saisie, ni même de console ? Dans ce cas, tu peux utiliser jnativehook (Voir exemple ici). Ou si tu as une interface graphique Swing, mais pas de champ, par KeyEventDispatcher. En revanche, ce qui va être compliqué, c'est distinguer ce qui correspond à une entrée de la douchette et ce qui correspond à une entrée du clavier standard.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  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 : 54
    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
    Euh, qui a parlé de récupérer l'image du code barre ????
    Le rapport est pourtant évident, capturer les évènements clavier sans avoir le focus, donc sans interface graphique...
    Il y a quelque temps, je me suis fait un petit utilitaire au boulot. Nos administrateurs systèmes imposent une veille au bout de dix minutes d'inactivités sur les postes. Ce qui ne me convenait pas. Donc, j'ai écrit un petit programme java qui fonctionne sans aucune interface graphique. Je le lance via le dossier démarrage de mon menu démarrer. Son travail est simple, toutes les 30 secondes, si je ne manipule ni le clavier ni la souris, il déplace la souris de deux pixels vers le haut puis la remet immédiatement à sa place. C'est totalement imperceptible et suffisant pour éviter le déclenchement de cette veille.
    Du coup, ça m'a donné l'idée de cette réponse.
    Puisque qu'il est possible de récupérer les évènements du clavier sans pour autant disposer d'interface graphique, ni même de console via cette classe, cela pourrait peut-être offrir une solution à laurent2403
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    java.awt.Robot est une classe qui sert à simuler des manipulations d'interface graphique à la base. Elle permet de simuler des appuis de touches du clavier mais pas d'en recevoir, donc impossible de récupérer la saisie de la douchette.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par laurent2403 Voir le message
    Merci pour ta remarque pertinente, comme t'as l'air plus malin que la moyenne, dis toujours comment tu ferais
    pour recupérer le scan sans passer par le console, ni en donnant le focus a un champ, vas y, je suis tout ouïe !
    Si tu parle des nombres / texte lus par la douchette, avec un KeyEventDispatcher. Si tu parle de l'image, elle n'existe simplement pas pur la douchette. Ce n'est pas un appareil photo.

    Si tu veux le faire sans la moindre fenêtre présente, c'est plus compliqué. Ca s'appelle un keylogger et l'os va pas te laisser faire facilement

  10. #10
    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 : 54
    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
    Vraiment désolé, j'ai répondu sans filtre.
    En effet, je ne me suis servi de Robot que pour bouger la souris...
    Quand au reste, ma mémoire avait en fait occulté l'échec. En y regardant de plus près, je me suis rendu compte que ce que j'ai décrit avoir fait, c'est ce que je voulais faire, mais je n'y étais pas arrivé. Je m'étais donc contenté de bouger la souris toutes les 30s...
    Bref, de manière instantanée, mon souvenir m'a fait pensé que j'y étais en fait arrivé, et que j'avais tout fait avec Robot.
    Mea-culpa.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  11. #11
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Java n'est pas le langage le plus adapté pour ce genre de chose. Ce qui est logique puisque c'est tres lié à l'OS. Si tu veux vraiment faire ca, demande à ton moteur préféré ce qu'il pense de "hook clavier". Tu trouveras assez facilement comment intercepter les touches (au moins sous windows). Par contre, il ne sera peut etre pas simple de différentier clavier et douchette (j'ai deja fait un hook mais jamais avec 2 claviers).

  12. #12
    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 : 54
    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
    En fait, pour une lecture directe, je penses qu'il vous sera plus facile de travailler sur une image issue d'une Webcam quelconque que de chercher à faire du natif. D'ailleurs, sur ce Forum il y a eu plusieurs discussions concernant ce sujet, à savoir "comment interpréter l'image d'un code à barres", et dans celui-ci, il y a même un lien vers une librairie Java d'encodage et de décodage "graphique".
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

Discussions similaires

  1. lecteurs de code barre USB pour un programme
    Par rikidi dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/02/2014, 15h51
  2. [AC-2007] Code pour lire avec le lecteur code barre
    Par massdiop26 dans le forum Access
    Réponses: 3
    Dernier message: 19/03/2013, 17h53
  3. [WD15] Connaitre le port d'un Lecteur code barre usb
    Par itsanta dans le forum WinDev
    Réponses: 12
    Dernier message: 28/11/2011, 15h31
  4. [WD15] lecteur code à barres usb
    Par samou_ha dans le forum WinDev
    Réponses: 4
    Dernier message: 24/11/2011, 02h28

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