Bonjour à tous,

Voila, je me suis lancé depuis peu dans un projet robotique ayant comme particularité que le robot est piloté via une application Java.

Voici un aperçu de l'architecture simplifiée du robot pour la compréhension:

1/ D'un coté, j'ai un micro contrôleur arduino Uno / contrôleur moteur etc... sur le robot
2/ D'un autre coté, un UMPC viliv S5 sur lequel j'exécute mon application java.

Le micro contrôleur arduino uno est relié à l'umpc via un câble USB, et je contrôle pour le moment le robot manuellement (avance/recule/tourne) via mon application Java (qui utilise une connexion via port série).

Sur mon interface Swing, je clique donc sur un bouton nommé "Manuel" qui se charge de lancer un thread qui envoi toutes les x millisecondes une information contenant la direction et la vitesse (pour faire simple).

Au départ, lorsque le thread est lancé, il envoi donc en permanence l'instruction O 0000 (qui veut dire n'avance pas à 0000). Lorsque je clique (reste appuyé) sur le bouton flèche haut de mon interface Swing, il met à jour les valeurs ex: A 0127 pour lui dire Avance à pleine vitesse. Dés que je relâche, la valeur envoyée revient à O 0000.

Voila pour l'existant et ca marche très bien.

J'aimerais un peu faire évoluer mon robot en le commandant via mon iphone. (Dans le but de lui demander de m'avertir de l'arrivé de mail, oui mon robot parle lol) ou lui demander de regarder la météo... Donc pour résumer afin de le diriger depuis mon iphone mais aussi activer/désactiver des fonctionnalités.

Je pense donc déployer un petit serveur assez léger sur l'umpc afin de publier une application web qui serait accessible depuis wifi sur mon iphone.

Je me pose donc plusieurs questions au final:
1/ Quel langage utiliser pour la partie Web. Perso j'ai pensé à JSP/SERVLET. Quant pensez-vous?

2/ Pourrais-je communiquer avec mon application java existante? Enfin la vrai question est comment? L'idéal étant que, par exemple, si j'appuis sur un bouton "Manuel" sur mon interface web, elle déclenche un thread similaire mais DANS mon application Java existante. Je ne sais pas s’il existe une API ou autre permettant de faire un lien direct entre une application Web sous jsp/servlet et une application SWING. J'ai pensé à des webservices ou RMI mais j'ai peur que cela soit trop lourd au final.

3/ Serait-il possible de réaliser sur une interface web une mécanique à peu prés similaire à celle que j'ai actuellement, à savoir si je reste appuyé sur un bouton haut sur mon iphone, il envoi de manière périodique la valeur A 0127 et dés que je relâche la valeur O 0000... ? Techniquement, j'ai du mal à voir comment je peux m'en sortir. Avec du JavaScript?

4/ Quel web serveur utiliser sachant que l'umpc viliv S5 n'est pas un foudre de guerre. Il me faudrait donc un web serveur très léger et peu gourmant en ressources.

Merci beaucoup pour vos réponses.

Voici l'url de mon projet si cela vous intéresse:
http://darylrobotproject.wordpress.com/

Cordialement,

critok