STM32F4+Android Application

657 views

Published on

Application Android Detection du visage

Published in: Technology

STM32F4+Android Application

  1. 1. 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.
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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 ».
  6. 6. 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]
  7. 7. FST Dahech Hajer IE5 Page 6 Figure3 : Schéma descriptif du fonctionnement d’Android Studio Figure4: Android SDK Manager (Software development kit)
  8. 8. FST Dahech Hajer IE5 Page 7 Figure5 : Android Virtual Device Manager(AVD) Figure6 : Exemple d’Android Virtual Device Manager (AVD)
  9. 9. 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.
  10. 10. 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
  11. 11. 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 »
  12. 12. 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
  13. 13. FST Dahech Hajer IE5 Page 12 Figure11 : Logigramme de la méthode « onActivityResult»  detectAndFrame Figure 12 : Logigramme de la méthode « detectAndFrame»
  14. 14. 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.
  15. 15. 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
  16. 16. 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.
  17. 17. 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
  18. 18. 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.
  19. 19. 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.
  20. 20. FST Dahech Hajer IE5 Page 19 On choisit une photo. Lors du chargement de la photo, La détection commence.
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. FST Dahech Hajer IE5 Page 23  Résultats No Face Detected Face Detected Figure21 : Résultats
  25. 25. 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 :  ProjectOptionsOutputCocher 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).
  26. 26. 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.
  27. 27. 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.

×