Partage

Communication Eclipse-terminal

Le 2 mai 2013 à 17:30:32

Bonjour, j'aurais besoin d'aide.

Pour un projet de groupe en classe, nous contrôlons un robot par wifi. On utilise pour envoyer une commande le terminal (telnet). Notre problème est que maintenant nous souhaitons qu'à l'aide d'une interface java, on puisse envoyer une donnée sur le terminal qui lui va ensuite envoyer la donnée à la carte se trouvant sur notre robot. Si vous n'avez pas compris je vais donner un exemple, voici une photo de notre petite interface : 

lorsqu'on appuie sur z par exemple, on veut que le programme envoie le caractère au terminal.

Nous avons trouvé un programme qui permet de se connecter au serveur de notre carte. Mais il y a une partie que nous ne comprenons pas et qui nous permettrait surement d'envoyer les données au terminal, la voici si vous pouvez nous expliquer un peu et pourquoi pas nous dire comment faire si il y a plus simple ou pas etc...

Une autre chose, on arrive pas à récupérer une variable de notre programme interface dans notre programme qui envoie les données au terminal.

Voilà le programme : http://pastebin.com/v7BBghkz

Si vous n'avez pas tout compris à mon problème, n'hésitez pas à me redemander des explications tant que ce n'est pas extrêmement compliqué^^

Je vous remercie d'avance !!  

Publicité
Le 2 mai 2013 à 17:30:32
Le 2 mai 2013 à 20:52:10

Salut, j'ai survolé ta question, mais a première vue, si vous cherchez à établir une communication sur deux machines distantes, les sockets sont une bonne façon d'y parvenir.

Je ne sais pas si c'est possible dans votre cas, mais vous pouvez également vous pencher sur l'api RMI qui permet de s'affranchir (du moins conceptuellement) des contraintes liées à la communication inter-machines (RMI permet de se focaliser sur la couche application exclusivement, un petit régal =) )

Vous faites de la robotique en Java ?

Le 2 mai 2013 à 23:05:26

Salut merci de te réponse je vais regarder ce que sont les sockets parce que je n'en ai jamais utilisé. Mais pour te dire en gros notre premier but, c'est un robot contrôllé par une interface (java car on a une option programmation et on apprend un minimum de java) via le wifi . Nous avons des cartes arduino qu'on ne connaissait absolument pas mais assez simple et avec des exemples. Je me doute qu'il y avait plus simple que la wifi pour faire ça mais on est parti sur cela et on peut pas faire marche arrière^^.

Voilà en tout cas merci déjà ça va peut être m'aider mais si il y a toujours des volontaires pour m'expliquer je ne suis pas contre lol.

Le 6 mai 2013 à 14:13:15

Je pense que vous êtes dans la bonne direction , il vous faut :

-un programme qui tourne sur une machine classique, votre interface.

-un programme qui tourne sur la machine et qui permet de faire executer des commandes au robot.

-et un moyen de faire communiquer ces deux programmes : je n'ai jamais fais de robotique, mais les sockets me semblent effectivement tout indiqués.

Ce que je remets le plus en doute, c'est la partie Java SUR le robot, comme je l'ai dit je ne fais pas de robotique, mais a priori, des langages natifs comme C, C++ me semblent plus appropriés. L'avantage des sockets, c'est qu'ils te permettent une communication standard (via TCP par exemple) et que par conséquent, tu peux facilement faire communiquer un programme écrit en Java avec un autre programme  écrit dans un autre langage.

Maintenant, si vous faites ce projet en parallèle avec un apprentissage de Java, alors je comprends très bien que vous vouliez utiliser Java.

Le 9 mai 2013 à 12:04:11

Merci de  ta réponse tout ce que tu as dis que javais besoin je lai et juste je pense que  tu as mal compris un petit point. Le programme sur le carte du robot est écrit en C effectivement mais pour linterface nous travaillons en java d'où ma question peut on utiliser les sockets entre un serveur en C et un client sur java ?

Desole pour les fautes je suis sur mon portable^^.

Le 9 mai 2013 à 12:46:46

je me suis trompé...

-
Edité par raffarinantonin le 9 mai 2013 à 12:47:40

Communication Eclipse-terminal

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown