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

Entrée/Sortie Java Discussion :

Quelles bibliothèques Java utilisez-vous pour communiquer via le port parallèle, série ou USB


Sujet :

Entrée/Sortie Java

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut Quelles bibliothèques Java utilisez-vous pour communiquer via le port parallèle, série ou USB
    Bonjour,

    Il est toujours reproché au langage Java de ne pas facilement s'interfacer avec des périphériques connectés en port série ou USB. Dans n'importe quel projet, quand il est question de communiquer avec des périphériques reliés en USB, port série… le langage C/C++ est toujours mis en avant. La raison vient peut être du fait que les API fournies par le JDK n'offrent pas de moyen direct pour le faire. Le développeur se trouve alors confronté à un dilemme de trouver des bibliothèques externes qui puissent remplir ce rôle.

    Quelques bibliothèques existent mais rares sont celles qui survivent ou font l’unanimité :


    Vous l'aurez compris, l'équipe Java souhaiterait profiter de votre expérience pour connaitre les bibliothèques que vous utilisez pour communiquer en Java via le port parallèle, série ou USB.

    Merci d'avance pour vos retours.

    L'équipe Java

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut RXTX 2.1-7
    Je ne sais pas si c'est ce genre de retour qui est demandé :

    J'utilise RXTX 2.1-7 pour capter les informations en provenance de machines industrielles de routage (diffusion de journaux périodiques)
    Je capte sur 3 ports à la fois à des vitesses différentes et renvoie des informations par le même biais pour aider le pilotage des machines.
    En utilisant les expressions régulières j'ai filtré les caractères pourris provoqués par les interférences électriques.
    Je n'utilise pas le déclenchement d'évènements (arrivée d'info sur port COM). Un thread récupère en continu les chaînes présentes dans le buffer.

  3. #3
    Membre averti
    Homme Profil pro
    Informaticien
    Inscrit en
    Juin 2004
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2004
    Messages : 183
    Points : 362
    Points
    362
    Par défaut
    J'utilise RXTX pour une liaison rs232 avec un lecteur de puce rfid.

    Pas de problème, fonctionnel sous windows xp et seven.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Pour ma part j'utilise JavaComm pour commander un modem USB. Je me suis basé sur le tutorial de christophej et ça fonctionne bien sur Windows 7.

    J'ai mis en pièce-jointe le zip et la documentation pour ceux qui en auraient besoin.

    EDIT :
    @keulkeul : Effectivement j'ai du installer une JVM 32 bits pour le faire marcher. Dans mon cas ce n'est pas un problème. Mais c'est vrai que c'est un point à connaitre quand on doit faire son choix.
    Pour l'évolution, tant qu'il n'y a pas de bugs/failles et que ça fait ce qu'on a besoin... Mais bon on n'a pas tous les mêmes contraintes, je te l'accorde.
    Dans mon cas j'ai choisi cette API car j'ai trouvé le tutorial de christophej très clair.
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés

  5. #5
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    Pour ma part j'utilise JavaComm pour commander un modem USB. Je me suis basé sur le tutorial de christophej et ça fonctionne bien sur Windows 7.
    Le problème JavaComm n'est plus maintenu et la version 64 bits n'existe pas

    Mickael

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 8
    Points
    8
    Par défaut RXTX sur ubuntu 12.04
    sa tombe bien parce que j'essaie de configurer un serveur SMS sur ubuntu 12.04 avec SMSLIB mais j ai un probleme avec RXTX et je peux pas acceder a mon modem Lonsai model Ls 100.
    quelqu'un a une idée ?

  7. #7
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut rxtx
    Hello,
    Pour ma part je travaille en Serial avec RXTX c'est ce que j'ai trouvé de mieux ça marche sur mac, linux et sûrement sur windows. Au pire si un pb de 64bits (le -d32 ne doit plus marcher ds les parametres de java7) ca se recompile facilement en 64bits. Je l'ai beaucoup utilisé avec mon projet kubeek en communication avec un arduino. D'ailleurs si je peux vous conseiller c'est de regarder les sources de l'utilitaire de dev arduino qui est open-source et qui intègre ça proprement(sur toutes les plateformes). Serial.java. Y'a plus qu'a s'en inspirer... Et d'y intégrer votre système de gestion de message en fonction de vos besoins (synchrone, asynchrone, alarache...) avec le parser qui va bien.

    @plus

  8. #8
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    Bonsoir,

    D'ailleurs si je peux vous conseiller c'est de regarder les sources de l'utilitaire de dev arduino qui est open-source et qui intègre ça proprement(sur toutes les plateformes). Y'a plus qu'a s'en inspirer...
    Peux-tu donner des liens, merci

    Mickael

  9. #9
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    L'intégration serial arduino https://github.com/arduino/Arduino/b...pp/Serial.java

    Sinon où récupérer rxtx rxtx

  10. #10
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    Bonjour,

    Merci pour les liens.

    Les codes correspondent au programme que tu déposes sur l'arduino ou s'agit-il d'une sorte de programme pour une station (pilote l'arduino) ?

    J'ai parcouru le code rapidement et du côté Java quelle bibliothèque pour la gestion des ports est utilisée ?

    Mickael

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Pour ma part je me suis posé la question il y a quelques années. Vu les bibliothèques qui existaient, je me suis dit que le plus simple serait d'utiliser JNI pour coupler Java à une DLL en C. Par contre je n'ai jamais testé. Mais j'ai déjà testé JNI et il n'y a pas de raison pour que ça ne marche pas.

    Kalkul

  12. #12
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    Pour ma part je me suis posé la question il y a quelques années. Vu les bibliothèques qui existaient, je me suis dit que le plus simple serait d'utiliser JNI pour coupler Java à une DLL en C. Par contre je n'ai jamais testé. Mais j'ai déjà testé JNI et il n'y a pas de raison pour que ça ne marche pas.
    J'y ai déjà pensé. C'est une solution à envisager en effet.

    Tu peux même utiliser JNA afin d'éviter de sortir l'artillerie pour interfacer Java avec du natif.

    Mickael

  13. #13
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    J'ai utilisé SerialIO par le passé car rxtx ne m'inspirait pas assez confiance, on disait ci et là qu'il y avait des problèmes de stabilité et que le code était assez bordélique.
    Jamais eu le moindre souci, c'est une lib vraiment pas chère et le support est très sympa. Par contre déjà à cette époque javaComm n'était plus une option et elle ne se prêtait pas bien au déploiement par webstart.

  14. #14
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Je vais défendre un peu l'outil que j'utilise.

    @_skip
    rxtx ne m'inspirait pas assez confiance, on disait ci et là qu'il y avait des problèmes de stabilité
    Je l'ai déployé sur une vingtaine de machines industrielles (Windows XP) tournant 24/24 en milieu informatique "hostile" (poussières, interférences électriques, ...)
    Il n'y a jamais eu aucun problème !

    @KalKul
    je me suis dit que le plus simple serait d'utiliser JNI pour coupler Java à une DLL
    Ben oui mais comme rxtx fait déjà ce travail (DLL accédée par java) je ne vois pas bien l'intérêt de ré-inventer la roue.
    Rxtx me permet de vérifier la bonne existence du port, de tester s'il n'est pas déjà utilisé par une autre application (ce qui arrivait quand les techniciens faisaient d'autres tests sur les machines).
    On travaille en flux (InputStream et OutputStream) ce qui permet de "logger" très facilement le trafic et de filtrer les caractères indésirables.

    Enfin, les applications sont déployées avec Java Web Start (pas de problème pour signer le jar)

  15. #15
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Je l'ai déployé sur une vingtaine de machines industrielles (Windows XP) tournant 24/24 en milieu informatique "hostile" (poussières, interférences électriques, ...)
    Il n'y a jamais eu aucun problème !
    Content de le savoir. Mais c'est loin de vouloir dire que des problèmes il en existe point, les nombreux posts sur le net sont là pour en témoigner. C'est pas forcément pire que d'autres librairies mais c'est ainsi.

    Perso je n'ai pas voulu prendre le risque, après avoir brièvement calculé combien risquait de me coûter le disfonctionnement, j'ai dit tant pis je passe à la caisse. Avec serialIO, si jamais j'ai le support de l'auteur, chez rxtx j'ai quoi? 2 ou 3 forums et un code source dont je n'ai pas le temps de m'occuper?

    Simple gestion de risque. Quasiment aucun droit à l'erreur, peut être que rxtx aurait été parfait, on le saura jamais. Si j'avais eu plus de tolérance à la faute, genre j'aurai voulu piloter un lecteur quelconque ou sortir sur une imprimante ou un afficheur, j'aurai certainement pas réagi de cette façon.

  16. #16
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Certes, c'est un point de vue tout à fait cohérent. D'autant que le prix de serialIO n'est pas excessif (50$).

    Pour RxTx, j'ai fais des tests de montée en charge dans le périmètre de mon application.
    Comme les tests sont passés, je n'ai pas cherché plus loin.

  17. #17
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    J'ai deux petites questions.

    La première concerne RXTX. Pensez-vous (pour ceux qui l'utilise) que l'API est suffisamment riche, que la communauté est proactive.

    La seconde concerne Oracle et les JSRs. Existe-il une spécification JSR sur cela ?

    Merci

    Mickael

  18. #18
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    @Keulkeul, je tarde un peu, mais en fait il s'agit du drivers java pour communiquer en serial. Après si tu cherches le code à charger du côté d'arduino t'as des exemples intégrés dans l'ide arduino. Même si tu auras à définir le vocabulaire entre les deux (les commandes et la façon d'interpréter ).
    Après c'est loin du web donc des jsr...s'il y en a ça m'intéresse!

  19. #19
    Futur Membre du Club
    Profil pro
    Référent Applicatif
    Inscrit en
    Novembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Référent Applicatif

    Informations forums :
    Inscription : Novembre 2009
    Messages : 5
    Points : 8
    Points
    8
    Par défaut Applet
    Bonjour,

    Ce topic tombe à pic, j'allais utilisé JavaCOM, mais visiblement ce n'est pas une bonne idée étant donné que ce n'est plus maintenue.

    A priori je vais partir sur RxTx. Quelqu'un a déjà utilisé cette librairie dans une applet ? Un retour d’expérience serait génial. Merci.


    Gifbengif.

  20. #20
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    Bonjour à tous,

    Si vous êtes intéressés par écrire un article sur RXTX n 'hésitez pas. Je suis certains que cela intéresserait du monde

    Mickael

Discussions similaires

  1. Réponses: 17
    Dernier message: 25/10/2013, 18h39
  2. Réponses: 18
    Dernier message: 29/12/2008, 22h51

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