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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Mickael Baron

32PARTAGES

3  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de 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.
0  0 
Avatar de rupteur
Membre averti 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.
0  0 
Avatar de 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.
0  0 
Avatar de Mickael Baron
Rédacteur 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
0  0 
Avatar de 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 ?
0  0 
Avatar de 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
0  0 
Avatar de Mickael Baron
Rédacteur 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
0  0 
Avatar de 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/blob/master/app/src/processing/app/Serial.java

Sinon où récupérer rxtx rxtx
0  0 
Avatar de Mickael Baron
Rédacteur 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
0  0 
Avatar de 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
0  0