IMA4 2018/2019 P9 : Différence entre versions
(→Semaine 4) |
(→Semaine 4) |
||
Ligne 419 : | Ligne 419 : | ||
Par la suite, pour gagner du temps nous avons acheté un cours vidéo complet sur la plateforme Udemy, connue pour son contenu très riche et ses offres de cours dans tous les domaines. | Par la suite, pour gagner du temps nous avons acheté un cours vidéo complet sur la plateforme Udemy, connue pour son contenu très riche et ses offres de cours dans tous les domaines. | ||
− | Nous avons passé en temps cumulé de visionnage près de '''6 heures et demi''' à suivre différents tutoriels de prise en main d'Android Studio et nous commençons à être à l'aise. | + | Nous avons passé en temps cumulé de visionnage près de '''6 heures et demi''' à suivre différents tutoriels de prise en main d'Android Studio et nous commençons à être à l'aise. Bien sûr le temps de visionnage n'est pas équivalent au temps passé puisqu'il est intéressant de faire en même temps ce que montre le professeur et donc de faire des pauses régulières dans les vidéos. |
Voici le cours dont nous nous sommes servi ainsi que le lien : [https://www.udemy.com/complete-android-n-developer-course/ Complete Android N Developer Course] | Voici le cours dont nous nous sommes servi ainsi que le lien : [https://www.udemy.com/complete-android-n-developer-course/ Complete Android N Developer Course] |
Version du 11 février 2019 à 15:54
Sommaire
Présentation générale : Spider and i
Encadrants : Fabien Zocco / Thomas Vantroys
Eleves : Lina Mejbar / Nestor Martinez
Description
Deux hexapodes (robot à 6 pattes pouvant évoquer une grosse araignée mécanique, dimensions : 36,83 cm (L) x 43,18 cm (l) x jusqu'à 13,34 cm (h)) se font face sur un socle. Leurs interactions semblent alterner des phases de calme et de complicité, ou à l’inverse présentent des attitudes de défiance croissante voir d’agressivité manifeste. Ce jeu relationnel entre les deux robots instaure une sorte d’étrange chorégraphie artificielle, rythmée par les multiples variations de vitesses et les micro-mouvements esquissés par les hexapodes. Ces alternances et variations sont directement indexées sur le rythme cardiaque de l’artiste. Celui-ci sera, au cours des périodes d’exposition de l’oeuvre, en permanence équipé d’un bracelet connecté relevant ses données biométriques qui seront relayées via le réseau vers les deux robots.
Précisions supplémentaires concernant le sujet : Les hexapodes existent déjà. L'artiste porte (en permanence) à son poignet un bracelet connecté qui relève son rythme cardiaque ainsi que son niveau de sueur (capteur de sudation). Les données relevées à son poignet sont envoyés par bluetooth au téléphone de l'artiste. Par l'intermédiaire d'une application android, ces données sont envoyées sur un serveur web pour être récupérées par les robots équipés d'un dispositif le permettant (Raspberry).
Les araignées sont programmées pour réagir, bouger par rapport aux données qu'elles reçoivent. En fonction de si l'artiste est stressé, énervé, excité, les araignées agiront en conséquence de manière à imiter l'artiste.
Tout le travail d'analyse des données pour déterminer l'état de l'artiste est confié au laboratoire SCAlab.
La partie programmation des mouvements des araignées est effectuée par l'artiste lui-même. On pourra l'assister.
Notre travail à nous consiste à faire le lien entre le bracelet connecté et le téléphone en créant l'application nécessaire et rediriger par la suite les données sur un serveur.
Objectifs
- Etudier le langage Java pour apprendre à coder une application Android
- Apprendre à utiliser une API Bluetooth pour communiquer avec celle du bracelet
- Récupérer les données relevées par le bracelet
- Envoyer les données à un serveur web
Analyse du projet
Positionnement par rapport à l'existant
On assiste de nos jours à de nombreuses améliorations des nouvelles technologies. Donc de nombreux artistes développent ce nouveau secteur et se tournent vers de nouveaux horizons. De plus en plus d’étudiants suivent des cours de programmations dans les écoles d’arts. C’est ainsi que les artistes développent une certaine attirance pour ce domaine.
Quelques exemples :
- Adelin Schweitzer détourne des méthodes de surveillance militaire en utilisant des robots, ou des drones, contrôlés à distance proposant ainsi une nouvelle manière de découvrir des espaces urbains ou ruraux
- Dorothée Smith étude pour spectres, composé d’une caméra thermique, d’une puce électronique sous-cutanée qui implique au final un transfert de données cellulaires. Elle imagine ici une expérience limite où le moi, confronté à la menace de sa disparition, trouve dans la biotechnologie le moyen de sa résistance.
Le projet Spider&I se rapprochera du projet de Dorothée Smith mais la finalité sera différente. Notre projet à pour but final de contrôler des araignées après une récupération des données et son transfert vers une application Android.
Nous ne considérons pas vraiment de concurrence entre les artistes. Chaque artiste a sa propre vision de son projet. Il est vrai que ces artistes utilisent les mêmes outils : Capteurs, Arduino, Raspberry pi etc.
Cependant , ils trouvent une façon originale d'aboutir à un projet unique.
Scénario d'usage du produit ou du concept envisagé
Deux scénarios différents :
Scénario 1 :
---Mercredi 18 juillet 2018 de 18:30 à 22:00---
L'artiste : Fabien Zocco organise un vernissage d'exposition dans un lieu incontournable : la guinguette EP7, café/restaurant culturel. Très stressé par l'événement et par le fait de présenter son travail, son rythme cardiaque passe par des phases d'accélération et de décélération. Les données relevées par son bracelet connecté son envoyées en temps réel à notre application que nous avons conçue pour fonctionner avec deux araignées. Elles bougent sur le socle pendant tout le vernissage. Ainsi, les visiteurs peuvent visualiser à travers le comportement des araignées l'état émotionnel/psychologique de l'artiste.
Scénario 2 :
---Samedi 8 septembre 2018 de 18:30 à 22:00---
Fabien Zocco n'est pas sur les lieux de son exposition mais l'exposition a quand même lieu à EP7 dans le 13ème arrondissement de Paris, il y a probablement du public qui regarde attentivement le mouvement des araignées. Cette fois-ci les données sont envoyées avec un léger temps de latence. L'artiste passe par des périodes ou le réseau est très bon et par des périodes ou le réseau est difficile (métro). En cas de réseau difficile, les araignées liront les données d'un fichier "journée type" pour qu'elles continuent à divertir et évoluer à l'exposition.
Questions difficiles
- Comment gérer l’autonomie du téléphone ? Et celle du bracelet ?
- Quelle est la fréquence d’envoi des messages de notre application ? Du bracelet ?
- Comment fonctionne le capteur de sudation ?
- Trouver, envisager une solution de secours au cas où les parties qui ne nous concernent pas n'aboutissent pas.
Réponse à la question difficile
Comment gérer l’autonomie du téléphone ? Et celle du bracelet ?
Certaines applications sont vraiment gourmandes au niveau énergétique. Etant donné que nous souhaitons recevoir très souvent des informations du bracelet (porté par l'artiste), cela fera que notre application risque d'être énergivore. Afin d'éviter d'avoir une application trop coûteuse en énergie, nous allons permettre l'utilisation de l'application en tâche de fond. Cela nous permettra de réduire un peu la consommation énergétique de ce dernier. Nous pouvons également faire varier la fréquence de réception de données. Par exemple, on pourrait instaurer un mode "Economie d'énergie" qui permettrait d'envoyer moins de données mais sans impacter le projet. Concernant le bracelet, voici les informations concernant son autonomie en fonction de son mode d'utilisation.
- Mode partage en temps réel : 24h
- Mode d'enregistrement des données: 48h
- Temps de recharge: < 2 h
En accord avec Monsieur Zocco, nous n'avons donc pas besoin de gérer le problème d'autonomie pour la montre puisqu'il considère que son autonomie est largement suffisante.
Quelle est la fréquence d’envoi des messages de notre application ? Du bracelet ?
Nous souhaitons récupérer les données de la montre toutes les 3 à 4 minutes. Dans le cas expliqué plus haut, si le téléphone n'a plus de batterie il sera alors en mode "Economie d’énergie" et dans ce cas là les données seront reçues toutes les 30 minutes. Le bracelet est capable de faire du streaming, c'est-a-dire de l'envoi temps réel de ses données via Bluetooth ou de simplement stocker les données sur sa mémoire interne. Techniquement, il est équipé du Bluetooth Smart, le Bluetooth à basse consommation d'énergie, qui permet d'envoyer jusqu'à un Mégabit de données par secondes.
Comment fonctionne le capteur de sudation ?
Un capteur de sudation intégré dans une montre permet de suivre en temps réel, la micro transpiration des mains. En pratique c'est un patch qui est monté coté peau et qui relève le niveau de sodium et de chlorure présent dans la sueur. Ainsi, en fonction de la densité de sodium et de chlorure présents dans la sueur il est possible de déterminer avec plus ou moins de précisions, un niveau de stress. Cette information, ajoutée au rythme cardiaque, permettra de connaître l'humeur de l'artiste.
Trouver, envisager une solution de secours au cas où les parties qui ne nous concernent pas n'aboutissent pas.Pour ce qui est de la solution de secours nous dépendons de deux appareils sur ce projet : le bracelet et l'araignée.
En effet, ces deux phases peuvent nous poser problème si l'artiste ne nous fournit pas le bracelet où si il y a un problème dans l’interprétation des données ou dans la programmation des données (ou si l'araignée ne nous ai pas fournie encore une fois).
Pour remplacer le bracelet, nous avons trouvé un capteur de sudation compatible arduino. Nous le connecterons à un arduino et nous ajouterons le bluetooth sur ce dernier.
Pour remplacer l'araignée, nous pourrons réutiliser des robots déjà existants à Polytech et faire en sorte que grâce à une Raspberry ils aillent lire nos données et que leurs mouvements changent en fonction.
Préparation du projet
Cahier des charges
L'artiste porte (en permanence) à son poignet un bracelet connecté qui relève son rythme cardiaque ainsi que son niveau de sueur (capteur de sudation). Les données relevées à son poignet sont envoyés par bluetooth au téléphone de l'artiste. Par l'intermédiaire d'une application android, ces données sont envoyées sur un serveur web pour être récupérées par les robots équipés d'un dispositif le permettant (Raspberry). Les araignées sont programmées pour réagir, bouger par rapport aux données qu'elles reçoivent. En fonction de si l'artiste est stressé, énervé, excité, les araignées agiront en conséquence de manière à imiter l'artiste.
Choix techniques : matériel et logiciel
Fournisseur | Quantité | Prix à l'unité (€) | Prix total (€) | URL | |
---|---|---|---|---|---|
Modules Bluetooth (802.15.1) | Mouser | 1 | 0€ | 0€ | https://www.mouser.fr/ProductDetail/Seeed-Studio/317030027?qs=wU1J8Md1npz%2f8UksA%252bh%252byw== |
Capteur de conductivité des doigts | GoTronic | 1 | 10€40 | 10€40 | https://www.gotronic.fr/art-module-de-conductivite-de-la-peau-gsr-grove-101020052-21341.htm |
Capteur de pouls | GoTronic | 1 | 22€60 | 22€60 | https://www.gotronic.fr/art-capteur-de-pouls-grove-103020024-23848.htm |
Téléphone Android | Polytech | 1 | 0€ | 0€ | |
Arduino Uno | Polytech | 1 | 0€ | 0€ | |
Total | 33€00 |
en vert : déjà donné
Liste des tâches à effectuer
Prélude : (Septembre-Décembre)
- Prise en main du sujet
- Lister le matériel nécessaire
- Discussion concernant les attentes de l'artiste
Janvier
- Apprendre le langage JAVA
- Alimenter notre Wiki
- Réfléchir à la récupération des données (API, Bluetooth ...)
Février
- Assister Monsieur Zocco pour coder les mouvements des araignées (BONUS)
- Réaliser une première version d'une application avec des fonctionnalités basiques
- Alimenter notre Wiki
Mars
- Utiliser notre première version de l'application pour pouvoir l'adapter à notre sujet
- Gérer la réception et l'envoi des données
- Alimenter notre Wiki
Avril
- Suite du codage notre Application
- Alimenter notre Wiki
Mai
- Traitement des données envoyées par la montre de l'artiste en fonction des résultats des chercheurs (BONUS)
- Test des mouvements des araignées
- Alimenter notre Wiki
- Soutenance le 6
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 3 | 1 | ||||||||||
Design de l'Application | 2 | 3 | 1 | |||||||||
Maîtrise d'Android Studio | 3 | 4 | 1 | |||||||||
Implémentation de l'Application | 1 | |||||||||||
Envoi des données vers un serveur | ||||||||||||
Rencontre avec M. Zocco | 1 | 2 | ||||||||||
Remplissage du Wiki | 2 | 1 | 1 | 1 | 1 | |||||||
Total | 6 | 5 | 4 | 5 | 5 | 6 |
Prologue
Semaine 1
Mercredi 16 janvier 2019
Nous entamons la première séance dédiée au Projet du Semestre 8. Nous commençons par réfléchir à notre cahier des charges et à l'organisation de notre travail. L'objectif majeur du projet est de réussir à réaliser une application Android qui répond à tous nos besoins et qui met en lien les données relevées par le bracelet avec un serveur Web. Les araignées n'auront plus ensuite qu'à aller lire sur le serveur les données disponibles. Avant de commencer à coder, il est important que nous fassions sur papier un premier modèle, un prototype de notre application.
Réflexion sur un premier prototype d'application
Voici comment nous visualisons l'application que nous allons développer.
Image: Ouverture de l'application :
- Lors de l'ouverture de l'application nous pourrons visualiser le nom de notre Projet : Spider&I, suivi d'un logo que nous allons créer. Ce dernier est composé d'une araignée encerclée par un bracelet connecté, ce qui permet de représenter le contrôle qu'a le bracelet sur le mouvement des araignées.
- Le logo SOS permettra en cas de besoin pour orienter notre utilisateur, d'expliquer le fonctionnement de l'application, les différents modes d'utilisation et comment se connecter correctement au bracelet E4 Empatica.
- Le logo en bas à droite, permettra d'avoir des informations sur l'état de connexion. Il sera présent et plus utile par la suite.
- Enfin le bouton le plus important sera l'onglet Connexion qui permettra de passer à la page suivante et de se relier au bracelet E4 Empatica par liaison Bluetooth.
Image: 1ère page:
- Le bouton Sos sera toujours présent pour diriger l'utilisateur en cas de doute.
- le rouage en haut à gauche représente (comme souvent) le bouton de réglage et permettra à l'utilisateur de jouer sur la vitesse de transmission des données. Il pourra donc ajuster selon ses besoins/envies les paramètres des différents modes.
- L'utilisateur aura le choix entre deux modes : Temps réel qui envoie des données à une fréquence élevée permettant de faire changer le comportement des araignées en fonction de l'état actuel psychologique de l'artiste et le mode économie d'énergie qui lui envoie les données à une fréquence moins importante pour minimiser les dépenses énergétiques de l'application.
- Logo/GIF en bas au centre qui changera en temps réel en fonction de l'état de la connexion. On a imaginé un logo qui représente l'utilisateur au milieu des ses deux appareils : le bracelet et l'araignée. Quand un mode est sélectionné et que l'envoi des données s'effectue, on pourra voir un flux se déplacer entre le bracelet et l'utilisateur puis entre l'utilisateur et l'araignée. On peut imaginer que selon le mode choisi, ce flux sera plus ou moins rapide.
- Logo POWER qui permettra d'arrêter la connexion avec le bracelet si aucun mode n'est sélectionné ou bien d'arrêter l'envoi des données dans le mode sélectionné pour permettre de modifier le mode ou juste d'arrêter le transfert de données.
- On retrouve le même logo en bas à droite qui schématisera l'état de connexion du bracelet avec le téléphone, ainsi si la connexion se dégrade, il se mettra à clignoter ou changer de couleur.
Semaine 2
Pour pouvoir commencer notre projet, Mr Redon nous a donné de quoi simuler un périphérique Bluetooth. Il nous a donné : - Modules Bluetooth (802.15.1) - Téléphone Android - Arduino Uno.
Cela nous permettra de remplacer le bracelet temporerement.
1) Nous avons commencé par étudier la documentation du module Bluetooth.
Voici les élements que nous avons retenu pour notre projet..(recopier prise de note)
2) Nous avons modélisé notre l'application pensée la semaine derniere sur le site: appinventor.mit.edu
Cela nous a permis de nous introduire au language orienté objet : JAVA. Ce logiciel permet de coder en bloc. Voici le rendu :
Semaine 3
Cette semaine, nous décidons de nous attaquer à la connexion Bluetooth au périphérique.
Pour cela nous devons :
- Afficher la liste des différents périphériques détectés à proximité.
- Donner la possibilité de cliquer et ainsi sélectionné le périphérique sur lequel on veut se connecter.
- Après sélection d'un périphérique bluetooth à portée, l'application essayera de se connecter avec le périphérique.
L'idée étant qu'une fois connecté, on puisse récupérer des données sur le périphérique.
Nous utilisons MIT Inventor 2 pour coder l'application pour le moment donc nous devons par blocks les fonctionnalités comme suit.
Semaine 4
M. Zocco nous a transmis le dépôt Git pour la manipulation du bracelet. Nous constatons que les fonctions, les classes et le code à utiliser pour gérer le bracelet est codé grâce à Android Studio.
Les fichiers sont directement accessibles sur le dépôt du Bracelet : Dépôt Git Empatica 4
Nous abandonnons alors le MIT inventor pour apprendre à utiliser Android Studio. En effet, MIT inventor ne nous permettra pas de configurer et récupérer le bracelet comme nous le souhaitons.
Nous avons passé la séance à se familiariser avec l'environnement d'Android Studio. Nous avons regardé des tutoriels sur OpenClassrooms et Youtube. L'environnement d'Android Studio est difficile à prendre en main parce qu'elle contient énormément de fonctionnalités, de méthodes qu'il faut connaître pour pouvoir les utiliser. Pourtant, tout est là mais il faut apprendre les méthodes existantes à appeler pour faire telle ou telle action.
De plus Android Studio mêle des fichiers .java et des fichiers .xml. Les fichiers xml servent principalement à l'affichage graphique et à la déclaration des variables (graphiques) tandis que les fichiers java contiennent le code exécuté par l'application elle même.
Par la suite, pour gagner du temps nous avons acheté un cours vidéo complet sur la plateforme Udemy, connue pour son contenu très riche et ses offres de cours dans tous les domaines.
Nous avons passé en temps cumulé de visionnage près de 6 heures et demi à suivre différents tutoriels de prise en main d'Android Studio et nous commençons à être à l'aise. Bien sûr le temps de visionnage n'est pas équivalent au temps passé puisqu'il est intéressant de faire en même temps ce que montre le professeur et donc de faire des pauses régulières dans les vidéos.
Voici le cours dont nous nous sommes servi ainsi que le lien : Complete Android N Developer Course
Semaine 5
Rendez-vous de prévu avec M. Zocco et le laboratoire de recherche jeudi 14 février de 10h à 12h.
Résumé des informations importantes à retenir :
- -