Projet

Général

Profil

Actions

Application Android » Historique » Révision 6

« Précédent | Révision 6/8 (diff) | Suivant »
Anonyme, 24/03/2012 11:57


Application Android

Présentation de l’environnement de développement

Le développement d’une application Android se fait en utilisant le langage java, qui est un langage orienté objet, ce qui permet une programmation plus claire et organisée pour ce genre de développement. Nous avons effectué la programmation en utilisant l’environnement de développement Eclipse. Cet IDE est tout à fait adapté à la programmation sous Android du fait de son intégration du SDK Android. En effet, le SDK Android, qui est la bibliothèque qui permet de programmer en utilisant les composants Android, ainsi que le matériel, comme la caméra ou les accéléromètres, est parfaitement interprété par Eclipse.

Différences entre tablette et téléphone

D’autre part, nous avions pour projet de développer une application pour tablette, ainsi qu’une autre pour téléphone. Nous avons disposé des deux appareils car la tablette était une tablette personnelle, et de plus une des raisons pour lesquelles nous avions choisi ce projet. Quant au téléphone, il nous a été fourni par l’IUT, qui l’a acheté spécialement pour ce projet, et il s’agit de l’appareil, et de l’application correspondante, qui resteront à l’IUT pour les étudiants qui poursuivront ce projet.

Concernant l’application elle-même, la différence principale vient de la différence de version entre ces deux Android. Nous avons tout d’abord décidé de développer sur la tablette, qui est en version 3.1, avec une disposition graphique spécifique, ainsi que des widgets uniquement disponibles pour cette version. Quand nous avons porté cette application sur le téléphone, qui possède une version 2.2.3, nous nous sommes alors rendu compte de ce problème. Nous avons alors décidé de reprendre le code lui-même, car le traitement des données reste le même, et de développer une interface graphique différente. Et à partir de là, nous avons séparé les deux applications, étant donné qu’uniquement le téléphone restera à l’IUT.

Figure 8 : Application de la tablette Samsung Galaxy Tab 2

Figure 9 : Application du Samsung Galaxy S 2

Fonctionnement de l’application

Le fonctionnement de l’application est simple, elle reçoit les informations liées à l’environnement, c’est-à-dire l’orientation du terminal (tablette ou téléphone), vers l’avant ou sur les côtés, ainsi que l’altitude et la commande de rotation à plat, par la pression sur des boutons. Ces informations sont récupérées 50 fois par seconde puis envoyées à l’aide d’une trame UDP au module Wi-Fi. Les trames sont composées d’un caractère pour le type d’information suivies de « : » et enfin de la valeur calculée en virgule flottante.
Exemple pour envoyer une altitude : « Z:2.38 ».

Une fois ces informations réceptionnées par le drone, il les traite et les retourne à l’application qui affiche l’état du drone à l’écran. De plus, nous avons intégré l’affichage du flux vidéo récupéré depuis la caméra embarquée, et nous pouvons également changer l’adresse IP à laquelle l’application se connecte, afin de pouvoir changer de cible (drone réel ou simulateur) facilement.

Figure 10 : Fonction onSensorChanged de l’application Android

Dans le code précédent, nous pouvons voir un exemple de ce qui se fait régulièrement dans la programmation Android, c’est-à-dire la définition d’une méthode d’un objet lors de l’instanciation de celui-ci.

Ici, l’objet SensorEventListener sert à « écouter » les accéléromètres. Ainsi, la méthode onSensorchanged, qui prend en paramètre un SensorEvent, c’est-à-dire ce que l’on capte des accéléromètres, va permettre d’effectuer un traitement avec chaque valeur que l’on récupère des accéléromètres. De plus on envoi également la valeur de l’altitude et de la rotation à plat (yaw), qui sont tous deux des attributs de l’application, et qui sont changés grâce aux boutons de l’application. L’altitude étant limitée de 0 à 9, car il n’y a pas de hauteur négative, et d’autre part pour ne pas pouvoir faire monter le drone indéfiniment.

Mis à jour par Anonyme il y a environ 13 ans · 6 révisions