Quelles bibliothèques utilisez-vous pour communiquer via le port parallèle
Série ou USB, partagez votre expérience ?

Le , par Mickael Baron, Responsable Java
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Népomucène Népomucène - Modérateur https://www.developpez.com
le 29/04/2013 à 13:44
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.
Avatar de rupteur rupteur - Membre actif https://www.developpez.com
le 29/04/2013 à 13:45
J'utilise RXTX pour une liaison rs232 avec un lecteur de puce rfid.

Pas de problème, fonctionnel sous windows xp et seven.
Avatar de atha2 atha2 - Membre éprouvé https://www.developpez.com
le 29/04/2013 à 14:25
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.
Avatar de Mickael Baron Mickael Baron - Responsable Java https://www.developpez.com
le 29/04/2013 à 16:55
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
Avatar de bek_hocine bek_hocine - Futur Membre du Club https://www.developpez.com
le 29/04/2013 à 18:19
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 ?
Avatar de michoo_42 michoo_42 - Candidat au Club https://www.developpez.com
le 29/04/2013 à 23:49
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
Avatar de Mickael Baron Mickael Baron - Responsable Java https://www.developpez.com
le 29/04/2013 à 23:56
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
Avatar de michoo_42 michoo_42 - Candidat au Club https://www.developpez.com
le 30/04/2013 à 0:13
L'intégration serial arduino https://github.com/arduino/Arduino/b...pp/Serial.java

Sinon où récupérer rxtx rxtx
Avatar de Mickael Baron Mickael Baron - Responsable Java https://www.developpez.com
le 30/04/2013 à 8:48
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
Avatar de KalKul KalKul - Nouveau membre du Club https://www.developpez.com
le 30/04/2013 à 22:45
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
Offres d'emploi IT
Expert décisionnel business intelligence H/F
Safran - Ile de France - Évry (91090)
Ingénieur conception en électronique de puissance H/F
Safran - Ile de France - Moissy-Cramayel (77550)
Responsable transverse - engagement métiers H/F
Safran - Ile de France - Corbeil-Essonnes (91100)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -