Commander un Arduino avec une tablette Android

- Etude de cas -


précédentsommairesuivant

III. L'exemple à suivre pour le projet Android

Le document [ref2] : Android pour les développeurs J2EE : un modèle asynchrone pour les clients web disponible à l'URL [http://tahe.developpez.com/android/avat] est le document de référence pour ce TP, en particulier l'exemple 2. Vous devez lire ce document jusqu'à l'exemple 2 qui décrit l'application suivante :

Image non disponible
  • l'application lance N [1] tâches asynchrones qui génèrent chacune un nombre aléatoire dans un intervalle [a,b] [2]. Avec une probabilité d'1/3, la tâche peut générer une exception.
  • le bouton [4] lance une action unique qui va à son tour lancer les N tâches asynchrones ;
  • afin de pouvoir annuler les N tâches lancées, on leur impose un délai d'attente avant de rendre leur réponse, exprimé en millisecondes [3]. Sur l'exemple, le délai de 5 secondes fait que les N tâches sont lancées et toutes attendent 5 secondes avant de faire le travail qui leur est demandé ;
  • en [5] remontent les informations produites par les tâches, nombre ou exception ;
  • la ligne [6] récapitule ce qui a été reçu. Il faut vérifier qu'on a bien reçu les N réponses des N tâches asynchrones et accessoirement on pourra vérifier la somme des nombres reçus.

Dès que les N tâches ont été lancées, un bouton [Annuler] [6] remplace le bouton [Exécuter]. Il permet d'annuler les tâches lancées :

Image non disponible

Cette application a l'architecture client / serveur suivante :

Image non disponible

C'est le serveur qui génère les nombres aléatoires affichés par la tablette Android :

Image non disponible

La couche [métier] a une méthode de génération de nombres aléatoires exposée au monde web via un service REST.

Pour tester cette application, on importera sous Eclipse les projets Maven des dossiers [android-avat] et [android-avat-exemple2] des exemples de [ref2] :

Note : ceux qui veulent installer une version d'Eclipse pour Android trouveront dans les annexes de [ref2] la façon de le faire.

Image non disponible

En [1] : les projets à importer :

  • [android-avat] : le projet de base pour le client Android ;
  • [android-dao] : la couche [DAO] du client Android ;
  • [android-metier] : la couche [métier] du client Android ;
  • [server-metier] : la couche [métier] du serveur ;
  • [server-rest] : le service REST du serveur ;

En [2], on exécute le projet web [server-rest] sur le serveur Tomcat [3] :

Image non disponible

On peut tester le service REST en tapant dans un navigateur l'URL suivante :

Image non disponible

Deux fois sur 3 en moyenne on aura un nombre aléatoire entre 100 et 200 et une fois sur trois en moyenne on aura une exception :

Image non disponible

Ensuite on crée une configuration d'exécution pour le projet Android [android-ui2] :

Image non disponible
  • en [1], sélectionnez l'icône [Run as...] ;
  • en [2], sélectionnez l'option [Run Configurations...] ;
  • en [3], sélectionnez le type [Android Application] puis l'icône [New launch configuration] ;
  • en [4], indiquez le projet qui sera exécuté par cette configuration ;
  • en [5], donnez un nom à cette configuration. Peut être quelconque ;Image non disponible
  • dans l'onglet [Target] [6], sélectionnez l'option [7]. Elle permet de choisir le mode d'exécution : en mode émulation avec une tablette logicielle ou en mode réel avec une tablette Android ;
  • en [8], validez cette configuration ;
  • en [9], exécutez-la ;Image non disponible
  • en [8], sélectionnez l'émulateur de tablette et en [9] exécutez l'application ;

L'émulateur logiciel est alors lancé et affiche la vue suivante :

Image non disponible

Pour mettre la bonne URL en [0], on peut procéder ainsi :

  • taper la commande [ipconfig] dans une fenêtre [DOS] :Image non disponible
  • prendre l'adresse IP [2] de la carte Wifi [1] ;
  • déployer le serveur REST sous Eclipse et demander l'URL du service REST avec un navigateur. Utiliser l'adresse IP précédente ; Image non disponible
  • l'URL du service REST à taper sur la tablette est alors [192.168.0.14:8080/server-rest]. Il faudra peut-être désactiver le pare-feu du PC voire inhiber un éventuel logiciel antivirus qui pourrait bloquer les connexions entrantes. C'est par exemple le cas de Mcafee.
Image non disponible

Branchez maintenant une tablette Android sur un port USB du PC serveur et exécutez l'application sur celle-ci :

Image non disponible
  • en [1] et [2], sélectionnez la tablette Android ;

Cet exemple sera le modèle à suivre pour le TP à suivre. Etudiez-le et reproduisez-le.


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Serge Tahé. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.