27
FACULTE DES SCIENCES TUNIS IE5 Rapport du Projet STM32F4+Android Application Préparé Par : Dahech Hajer Encadré Par : M.Malouche Ibtissem 20/01/2016 Ce document présente un vue d’ensemble du projet, il contient les taches réalisées, les résultats obtenus et souligne les taches manquantes.

STM32F4+Android Application

Embed Size (px)

Citation preview

FACULTE DES SCIENCES TUNIS IE5

Rapport du Projet STM32F4+Android Application

Préparé Par : Dahech Hajer Encadré

Par : M.Malouche Ibtissem

20/01/2016

Ce document présente un vue d’ensemble du projet, il contient les taches réalisées, les

résultats obtenus et souligne les taches manquantes.

FST Dahech Hajer IE5

Page 1

Table des matières Bibliographie .............................................................................................................................................. 4

Introduction ........................................................................................................................................... 4

I. Définition ........................................................................................................................................ 4

II. Cahier des charges ................................................................................................................. 4

III. Environnement et langage ........................................................................................................ 4

1_Environnement ................................................................................................................................ 4

2-Langage ............................................................................................................................................ 8

VI. Communication entre Android et STM 32F4 via USB ................................................................ 8

1. Approche sur USB ........................................................................................................................... 8

2. Communication Android USB ........................................................................................................ 9

Spécification ............................................................................................................................................. 10

Introduction ......................................................................................................................................... 10

I. Spéciation de l’application Android « Face_Detection » ......................................................... 10

1. Spécification du « Activity_Main.xml » ................................................................................... 11

2. Spécification du « MainActibity.java » ..................................................................................... 11

Méthode ............................................................................................................................................. 11

Rôle ................................................................................................................................................... 11

permet de gérer les opérations à faire avant l'affichage de l'activité ................................................. 11

Permet de revenir de nouveau à l’activité ......................................................................................... 11

dessiner un rectangle rouge pour chaque visage. .............................................................................. 11

II. Spéciation du projet Keil « Touch_Panel » ........................................................................... 13

III. Spéciation de l’application Android «android-stm32-dfu-programmer-master » ............ 15

1. Généralités« Dfuse » ..................................................................................................................... 15

Réalisation et Résultats ............................................................................................................................. 16

Introduction ......................................................................................................................................... 16

I. Vue d’ensemble du projet ........................................................................................................... 16

II. Tâches réalisées ........................................................................................................................ 17

1 .Projet sous Android studio « Application Android pour la détection du visage » ........................ 17

2. Projet sous Keil « Touch_Panel qui va réagir selon le résultat de l’application du détection du

visage » .............................................................................................................................................. 21

III. Tâches non réalisées ................................................................................................................ 24

1 .Projet sous Android studio « android-stm32-dfu-programmer-master »qui permet la

communication USB et utilise un fichier (.dfu) généré du Projet Keil. ............................................ 24

Conclusion ............................................................................................................................................ 26

FST Dahech Hajer IE5

Page 2

Liste des tableaux

Tableau1 : Mode communication Android USB..................................................................................P9

Tableau 2 : Tableau des méthodes du « MainActivity.java »............................................................P11

Tableau 3 : Tableau descriptif de l’application Android...................................................................P20

FST Dahech Hajer IE5

Page 3

Table des figures

Figure1 : Android Studio ......................................................................................................................P5

Figure2 : Eclipse Android Development (ADT).................................................................... ................P5

Figure3 : Schéma descriptif du fonctionnement d’Android Studio......................................................P6

Figure4 : Android SDK Manager (Software development kit).............................................................P6

Figure5 : Android Virtual Device Manager(AVD)...............................................................................P7

Figure6 : Exemple d’Android Virtual Device Manager (AVD)............................................................P7

Figure7 : Activity life cycle...................................................................................................................P8

Figure 8 : Organigramme de la communication....................................................................................P9

Figure9 : Design du « Activity_main »...............................................................................................P10

Figure 10 : Logigramme de la méthode « onCreate ».......................................................................P11

Figure11 : Logigramme de la méthode « onActivityResult».............................................................P12

Figure 12 : Logigramme de la méthode « detectAndFrame».............................................................P12

Figure13 : Logigramme de la méthode « drawFaceRectanglesOnBitmap»......................................P13

Figure14 : Logigramme Face _Detection..........................................................................................P14

Figure15 : Logigramme du Projet Keil.............................................................................................P15

Figure16 : Matériels utilisés..............................................................................................................P16

Figure17 : Montage..............................................................................................................P17

Figure18 : Code Fonction Face _Detection.....................................................................................P21

Figure19 : Code fonction Menu_Application...................................................................................P22

Figure20 : Logigramme du Projet Keil............................................................................................P22

Figure21 : Résultats.........................................................................................................................P23

Figure 22 : Création du fichier(HEX).............................................................................................P24

Figure 23 : fichier(HEX) obtenu.....................................................................................................P24

Figure24 : DFU File Manager........................................................................................................P24

Figure 25 : Montage........................................................................................................................P25

FST Dahech Hajer IE5

Page 4

Bibliographie

Introduction Sous le cadre du titre « Bibliographie », je vous invite à avoir une approche sur les techniques de

réalisation d’une application Android.

I. Définition Android est un système d’exploitation ouvert dont le code source est librement accessible

(contrairement aux systèmes d’Apple ou Microsoft) ce qui permet à n’importe quel fabricant

de l’intégrer dans son système gratuitement. Ce modèle est opposé au modèle d’Apple, et

explique en grande partie la forte croissance que connait Android.

II. Cahier des charges Le traitement du projet forme l’ensemble de traitement de ces projets cités ci-dessous :

Projet sous Android studio « Application Android pour la détection du visage »

Projet sous Keil « Touch_Panel qui va réagir selon le résultat de l’application du

détection du visage »

Projet sous Android studio « android-stm32-dfu-programmer-master »qui permet la

communication USB et utilise un fichier (.dfu) généré du Projet Keil.

III. Environnement et langage

1_Environnement

Afin de traiter une application Android, nous avons besoin de travailler sous l’environnement

de « Android Studio » ou « Eclipse ».

FST Dahech Hajer IE5

Page 5

Figure1 : Android Studio

Figure2 : Eclipse Android Development (ADT)

Définition

Android Studio est un environnement de développement intégré (IDE) (Integrated

Development Environment) pour le développement pour la plateforme Android. Il a remplacé

Eclipse Android Development (ADT) le premier IDE de développement d’applications

Android. [2]

FST Dahech Hajer IE5

Page 6

Figure3 : Schéma descriptif du fonctionnement d’Android Studio

Figure4: Android SDK Manager (Software development kit)

FST Dahech Hajer IE5

Page 7

Figure5 : Android Virtual Device Manager(AVD)

Figure6 : Exemple d’Android Virtual Device Manager (AVD)

FST Dahech Hajer IE5

Page 8

2-Langage

Figure7 : Activity life cycle

VI. Communication entre Android et STM 32F4 via USB Sous ce titre il y a des questions qui se posent parmi lesquels on peut citer :

Pourquoi USB et quelle sont ces avantages ?

Comment se déroule la communication Android USB ?

Dans ce qui suit on va essayer a trouvez des réponses à ces questions.

1. Approche sur USB

Interface de la communication du PC le plus succès.

Fiable, polyvalent et rentable.

Suggère un bus série et transmet les données en mode semi-duplex

Quatre vitesses différentes : 5 Gbps, 480 Mbps, 12 Mbps et 1,5 Mbps

12 Mbps :(STM32F4-DISCOVERY) est pris en charge.

USB fonctionne sur une procédure maître-esclave l'hôte est le maître et le rôle

des dispositifs connectés prennent le rôle des esclaves. Chaque transfert de

données sur le bus est déclenché exclusivement par l'hôte.

FST Dahech Hajer IE5

Page 9

Figure8 : Organigramme de la communication

2. Communication Android USB

Android prend en charge une variété de périphériques USB et accessoires USB Android

(matérielles qui implémente le protocole d'accessoires Android) à travers deux modes :

Mode accessoire USB Mode hôte USB

l’hôte c’est l’acte matériel USB

externe

l'appareil Android agit comme

l'hôte.

Exemples d'accessoires : les

contrôleurs robotiques ; stations d’accueil ;

l'équipement diagnostique et musicale ;

kiosques ; lecteurs de cartes.

Des exemples de dispositifs : les

appareils photo numériques, claviers, souris,

et les contrôleurs de jeu.

Tableau1 : Mode communication Android USB

FST Dahech Hajer IE5

Page

10

Spécification Introduction Selon le cahier des charges cité dans la partie bibliographie on va traiter la spécification des 3

sous projets suivants

Projet sous Android studio « Application Android pour la détection du visage »

Projet sous Keil « Touch_Panel qui va réagir selon le résultat de l’application du

détection du visage »

Projet sous Android studio « android-stm32-dfu-programmer-master »qui permet la

communication USB et utilise un fichier (.dfu) généré du Projet Keil.

I. Spéciation de l’application Android « Face_Detection »

Pour la spécification de cette Application on va s’intéressé aux fichiers suivants :

Activity_Main.xml

Ce fichier permet la création du « layout »

Figure9 : Design du « Activity_main »

FST Dahech Hajer IE5

Page

11

MainActivity.java

1. Spécification du « Activity_Main.xml »

2. Spécification du « MainActibity.java »

Méthode Rôle

onCreate

permet de gérer les opérations à faire avant

l'affichage de l'activité

onActivityResult

Permet de revenir de nouveau à l’activité

detectAndFrame

Permet la détection du visage et fait appel à

la méthode

« drawFaceRectanglesOnBitmap »

drawFaceRectanglesOnBitmap

dessiner un rectangle rouge pour chaque

visage. Tableau 2 : Tableau des méthodes du « MainActivity.java »

onCreate

Figure 10 : Logigramme de la méthode « onCreate »

onActivityResult

FST Dahech Hajer IE5

Page

12

Figure11 : Logigramme de la méthode « onActivityResult»

detectAndFrame

Figure 12 : Logigramme de la méthode « detectAndFrame»

FST Dahech Hajer IE5

Page

13

drawFaceRectanglesOnBitmap

Figure13 : Logigramme de la méthode « drawFaceRectanglesOnBitmap»

II. Spéciation du projet Keil « Touch_Panel »

Ce projet utilise le Touch_Panel, il contient 2 fonctions importantes

Fonction Face_Detection

Selon le résultat de l’application Android cette fonction donne les résultats cités dans le

logigramme suivant.

FST Dahech Hajer IE5

Page

14

Figure14 : Logigramme Face _Detection

Fonction Menu_Application

Cette fonction permet de créer un rectangle bleu qui sera utilisée après comme un bouton

lors de le cliquer il fait appel à la fonction Face_Detection

Figure15 : Logigramme du Projet Keil

FST Dahech Hajer IE5

Page

15

III. Spéciation de l’application Android «android-stm32-dfu-

programmer-master »

1. Généralités« Dfuse »

Dfuse (DFU avec ST Microsystems extensions) est un protocole basé sur UDP 1.1. Cependant,

dans l'expansion de la fonctionnalité du protocole DFU, ST Microsystems a battu tous

compatibilité avec la norme 1.1 DFU. Dispositifs dfuse signalent la version DFU comme

«1.1a».

Dfuse peut être utilisé pour télécharger le firmware et d'autres données à partir d'un ordinateur

hôte vers un dispositif de conformation (ou télécharger dans la direction opposée) sur USB

similaire à DFU standard.

La principale différence de la norme DFU est que l'adresse de destination dans la mémoire de

l'appareil (flash) est spécifiée par l'hôte, de sorte que le téléchargement peut être effectué à des

parties de la mémoire de l'appareil. Le programme d'accueil est également responsable de

l'effacement des pages flash avant qu'ils sont écrits.

Différents emplacements de mémoire de l'appareil peuvent avoir des caractéristiques

différentes que le programme d'accueil (dfu-util) doit prendre en considérations, telles que la

mémoire flash taille de la page, en lecture seule par rapport à lecture-écriture segments, la

nécessité d'effacer, et ainsi de suite. Ces paramètres sont rapportés par le dispositif dans les

descripteurs de chaîne destinés à décrire les interfaces USB. Le programme d'accueil décode

ces chaînes pour construire une carte mémoire de l'appareil. Les différentes unités de mémoire

ou des espaces d'adressage sont listés dans les paramètres d’interfaces alternées séparées qui

doivent être choisis en fonction de l'unité de mémoire à accès.

Dispositifs basés sur par exemple STM32F103 courent tous le chargeur de démarrage de la

mémoire flash, car il n'y a pas de bootloader USB dans la ROM

Par exemple STM32F107, dispositifs STM32F2xx et STM32F4xx ont un bootloader de fusible

en ROM, mais le flash peuvent être effacées tout en gardant le dispositif disponible pour les

transferts de DFU USB tant que concepteurs de périphériques utilisent cette bootloader intégré

et ne sont pas mis en œuvre une autre bootloader dfuse dans clignoter que l'utilisateur dépend.

FST Dahech Hajer IE5

Page

16

Réalisation et Résultats

Introduction Cette partie présente les étapes de réalisation du projet ainsi que les résultats obtenus en se

référant aux tâches réalisées et tâches non réalisées.

I. Vue d’ensemble du projet

Figure16 : Matériels utilisés

FST Dahech Hajer IE5

Page

17

Figure17 : Montage

Le traitement du projet forme l’ensemble de traitement de ces projets cités ci-dessous :

Projet sous Android studio « Application Android pour la détection du visage »

Projet sous Keil « Touch_Panel qui va réagir selon le résultat de l’application du

détection du visage »

Projet sous Android studio « android-stm32-dfu-programmer-master »qui permet la

communication USB et utilise un fichier (.dfu) généré du Projet Keil.

II. Tâches réalisées 1 .Projet sous Android studio « Application Android pour la détection du visage »

Maintenant on va citer les tâches réalisées, commençant par l’application Android « Face

Détection »

Ce tableau présente les étapes suivis lors du l’exécution du l’application Android sous Android

Studio.

FST Dahech Hajer IE5

Page

18

Description Figure

Après l’exécution du l’application, on

peut choisir l’appareil « AVD Android

Virtual Device Manager » et voilà comme il

est montré dans la figure on peut accéder

à application Face.

Si on clique le bouton « Face Détection »

L’application nous demande de charger

une photo du l’appareil.

FST Dahech Hajer IE5

Page

19

On choisit une photo.

Lors du chargement de la photo,

La détection commence.

FST Dahech Hajer IE5

Page

20

S’il y a un visage dans la photo, il sera

encadré comme le montre cette figure.

Tableau 3 : Tableau descriptif de l’application Android

FST Dahech Hajer IE5

Page

21

2. Projet sous Keil « Touch_Panel qui va réagir selon le résultat de l’application du

détection du visage »

Ce projet utilise le Touch_Panel, il contient fonctions importantes

Figure18 : Code Fonction Face _Detection

FST Dahech Hajer IE5

Page

22

Fonction Menu_Application

Cette fonction permet de créer un rectangle bleu qui sera utilisée après comme un

bouton lors de le cliquer il fait appel à la fonction Face_Detection

Figure19 : Code fonction Menu_Application

Figure20 : Logigramme du Projet Keil

FST Dahech Hajer IE5

Page

23

Résultats

No Face Detected Face Detected

Figure21 : Résultats

FST Dahech Hajer IE5

Page

24

III. Tâches non réalisées 1 .Projet sous Android studio « android-stm32-dfu-programmer-master »qui

permet la communication USB et utilise un fichier (.dfu) généré du Projet Keil.

« android-stm32-dfu-programmer-master » est une application Android qui permet la

communication USB avec la carte à l’aide d’un fichier (.DFU).

Pour la réalisation de cette partie on va suivre les étapes suivantes :

Sous le projet Keil :

ProjectOptionsOutputCocher Create HEX (file).

Rebuild Project.

Figure 22 : Création du fichier(HEX)

Sous l’emplacement du votre projet vous trouvez un fichier (HEX)

comme le montre la figure suivante.

Figure 23 : fichier(HEX) obtenu

Ouvrir le logiciel DFU File Manager

Figure24 : DFU File Manager

Suivre les simples instructions guidés par DFU File Manager afin

d’obtenir un fichier (.DFU).

FST Dahech Hajer IE5

Page

25

Brancher votre appareil mobile et copier/coller le fichier obtenu.

Maintenir BOOT0 de la carte STM32F4_Discovery et connecter la carte

à l’appareil mobile avec USB (comme indiqué dans la figure suivante)

Figure 25 : Montage

Ouvrir l’application « android-stm32-dfu-programmer-master » que vous avez

installé avant sur l’appareil mobile par la génération d’un fichier (.apk) de

l’application à_partir_de l’Android Studio

Remarque : la génération d’un fichier (.apk) vous permet d’installer toute

application Android sous un appareil réel.

Maintenant on va citer la partie que doit être normalement obtenu mais à

cause des étapes manquantes ou certains problèmes qu’on n’a pas pu les

reconnus.

A l’ouvrir de l’application « android-stm32-dfu-programmer-master »,

la carte va être détectée et par la suite recommandé par l’application.

FST Dahech Hajer IE5

Page

26

Conclusion Ce projet m’a permis de découvrir des nouveaux logiciels, d’améliorer mes connaissances

comme étant débutante dont le développement Android. Je trouve que la réalisation du ce projet

était une nouvelle expérience qui peut être améliorée pour aboutir ces résultats finals.