Gant de Boxe connecté : Différence entre versions

De Wiki d'activités IMA
m (1ère Séance)
m (Fichiers rendus)
 
(17 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 3 : Ligne 3 :
 
==Contexte==
 
==Contexte==
 
De nos jours, nous vivons entourés de plus en plus d'objets connectés y compris dans le domaine sportif afin d'assister (ou de juger/arbitrer).
 
De nos jours, nous vivons entourés de plus en plus d'objets connectés y compris dans le domaine sportif afin d'assister (ou de juger/arbitrer).
Dans le cadre du module d'Internet des Objets, nous avons choisi de réaliser un prototype de gant de boxe connecté. Ce prototype permettra au boxeur et à son équipe de savoir en temps réel le ratio de coups qui auront atteint leur cible.
+
Dans le cadre du module d'Internet des Objets, nous avons choisi de réaliser un prototype de gant de boxe connecté. Ce prototype permettra au boxeur et à son équipe de connaître le ratio de coups qui auront atteint leur cible.
  
 
==Description du projet==
 
==Description du projet==
 
Le gant utilisé contiendra un (ou plusieurs) capteur de pression placé sur la surface de frappe, ainsi qu'un accéléromètre. Le premier nous permettra de compter le nombre de coups atteints et le second le nombre de coups tentés.
 
Le gant utilisé contiendra un (ou plusieurs) capteur de pression placé sur la surface de frappe, ainsi qu'un accéléromètre. Le premier nous permettra de compter le nombre de coups atteints et le second le nombre de coups tentés.
Enfin nous utiliserons un arduino afin de communiquer en BLE (Bluetooth Low Energy) avec l'ordinateur du coach qui affichera les résultats.
+
Enfin nous utiliserons un arduino afin de communiquer en BLE (Bluetooth Low Energy) avec une application Android qui affichera les résultats.
  
 
=Matériel utilisé=
 
=Matériel utilisé=
Ligne 14 : Ligne 14 :
 
*Accéléromètre <span style="color:green">[reçu]</span>  
 
*Accéléromètre <span style="color:green">[reçu]</span>  
 
*Capteurs de pression flexibles carrés (x4) <span style="color:green">[reçus]</span>  
 
*Capteurs de pression flexibles carrés (x4) <span style="color:green">[reçus]</span>  
*RFduino + module BLE <span style="color:green">[reçu]</span>  
+
*RFduino <span style="color:green">[reçu]</span>  
 
*Batterie USB <span style="color:green">[reçu]</span>
 
*Batterie USB <span style="color:green">[reçu]</span>
  
Ligne 27 : Ligne 27 :
 
  |-
 
  |-
 
  ! scope="row" | Séance 3 (12/01)
 
  ! scope="row" | Séance 3 (12/01)
  | Développement de l'application Android
+
  | Développement de l'application Android : réception des données
 
  |-
 
  |-
 
  ! scope="row" | Séance 4 (13/01)
 
  ! scope="row" | Séance 4 (13/01)
  |  
+
  | Développement de l'application Android : Traitement des données
 
  |}
 
  |}
  
Ligne 36 : Ligne 36 :
 
Lors de cette séance, nous avons déterminé le fonctionnement de notre projet mais aussi les technologies à utiliser.
 
Lors de cette séance, nous avons déterminé le fonctionnement de notre projet mais aussi les technologies à utiliser.
 
Nous avons donc commencé par rechercher les différentes composants nécessaires à notre projet. Nous avons aussi rechercher certaines informations quand au développement de l'application.
 
Nous avons donc commencé par rechercher les différentes composants nécessaires à notre projet. Nous avons aussi rechercher certaines informations quand au développement de l'application.
 +
 +
De plus, une fois les éléments reçus, nous avons réalisé le circuit.
 +
 +
[[Fichier:Circuit_IOT.jpg|center|250px]]
  
 
==2ème Séance==
 
==2ème Séance==
  
 
Pendant cette séance nous avons commencé à programmer la partie arduino en ayant au préalable importé les différentes librairies du RFduino. Nous nous sommes renseigné sur les différentes frameworks existantes pour la programmation de BLE.  
 
Pendant cette séance nous avons commencé à programmer la partie arduino en ayant au préalable importé les différentes librairies du RFduino. Nous nous sommes renseigné sur les différentes frameworks existantes pour la programmation de BLE.  
Suite à cela, nous avons choisi de faire une application android communiquant en bluetooth. Celle-ci serait d'avantage mobile qu'une application ordinateur et plairait d'avantage à un sportif qui pourrait voir directement ses résultats pendant son entraînement.
+
Suite à cela, nous avons choisi de faire une application android communiquant en bluetooth. Celle-ci serait d'avantage mobile qu'une application ordinateur et plairait d'avantage à un sportif qui pourrait voir directement ses résultats pendant son entraînement ou à son entraîneur qui transporte plus facilement une tablette qu'un ordinateur.
 +
 
 +
Lors de cette séance, nous avons également commencé à tester notre matériel avec un programme simple sur Arduino qui nous permet de voir que nous recevons bien les données voulues.
 +
 
 +
==3ème Séance==
 +
Après avoir réalisé en partie le côté RFduino, nous sommes maintenant passés à la partie Android. Pour cela, nous avons choisi d'utiliser l'IDE Android Studio qui va nous permettre de créer notre application.
 +
Cette application devra donc activer le Bluetooth de la tablette s'il n'est pas activé, scanner les alentours afin de capter l'ID du RFduino puis enfin s'y connecter.
 +
Nous arrivons donc bien à détecter notre RFduino. Il nous reste maintenant à nous y connecter afin de pouvoir recevoir les valeurs des capteurs.
 +
Une fois ces valeurs bien reçues, nous devrons les afficher sur l'application sous forme de tableau.
 +
[[Fichier:AppData.png|center|250px]]
 +
 
 +
==4ème séance==
 +
Nous avons donc réussi à connecter le RFduino avec l'application. Nous avons donc coder la réception des données du côté de l'application mais aussi le traitement de ces données.
 +
On enregistre les valeurs reçues puis on affiche les données importantes pour un boxeur : le nombre de coups tentés et le nombre de coups touchés.
 +
De plus, nous avons également différencié trois grands types de coups "fréquents" lors d'un match de boxe : le jab, le coup droit et l'uppercut.
 +
Chacun de ces coups suivant principalement un axe différent, il est relativement simple de les différencier.
 +
Ainsi on peut savoir si l'utilisateur différencie ses coups ou s'il reste trop souvent dans la même stratégie.
 +
 
 +
[[Fichier:AppRes.png|center|250px]]
  
 
=Poster=
 
=Poster=
 +
 +
[[Fichier:Poster.png|center|1500px]]
 +
=Fichiers rendus=
 +
Application Android : [[Fichier:AppGant.zip]]
 +
 +
Code RFduino : [[Fichier:RFduino.zip]]

Version actuelle datée du 24 janvier 2017 à 16:55

Présentation du sujet

Contexte

De nos jours, nous vivons entourés de plus en plus d'objets connectés y compris dans le domaine sportif afin d'assister (ou de juger/arbitrer). Dans le cadre du module d'Internet des Objets, nous avons choisi de réaliser un prototype de gant de boxe connecté. Ce prototype permettra au boxeur et à son équipe de connaître le ratio de coups qui auront atteint leur cible.

Description du projet

Le gant utilisé contiendra un (ou plusieurs) capteur de pression placé sur la surface de frappe, ainsi qu'un accéléromètre. Le premier nous permettra de compter le nombre de coups atteints et le second le nombre de coups tentés. Enfin nous utiliserons un arduino afin de communiquer en BLE (Bluetooth Low Energy) avec une application Android qui affichera les résultats.

Matériel utilisé

Par gant:

  • Accéléromètre [reçu]
  • Capteurs de pression flexibles carrés (x4) [reçus]
  • RFduino [reçu]
  • Batterie USB [reçu]

Suivi de réalisation

Séance 1 (03/01) Recherche du sujet et du matériel / Mise en place du cahier des charges
Séance 2 (05/01) Début du développement de la partie Arduino et test de récupération de données
Séance 3 (12/01) Développement de l'application Android : réception des données
Séance 4 (13/01) Développement de l'application Android : Traitement des données

1ère Séance

Lors de cette séance, nous avons déterminé le fonctionnement de notre projet mais aussi les technologies à utiliser. Nous avons donc commencé par rechercher les différentes composants nécessaires à notre projet. Nous avons aussi rechercher certaines informations quand au développement de l'application.

De plus, une fois les éléments reçus, nous avons réalisé le circuit.

Circuit IOT.jpg

2ème Séance

Pendant cette séance nous avons commencé à programmer la partie arduino en ayant au préalable importé les différentes librairies du RFduino. Nous nous sommes renseigné sur les différentes frameworks existantes pour la programmation de BLE. Suite à cela, nous avons choisi de faire une application android communiquant en bluetooth. Celle-ci serait d'avantage mobile qu'une application ordinateur et plairait d'avantage à un sportif qui pourrait voir directement ses résultats pendant son entraînement ou à son entraîneur qui transporte plus facilement une tablette qu'un ordinateur.

Lors de cette séance, nous avons également commencé à tester notre matériel avec un programme simple sur Arduino qui nous permet de voir que nous recevons bien les données voulues.

3ème Séance

Après avoir réalisé en partie le côté RFduino, nous sommes maintenant passés à la partie Android. Pour cela, nous avons choisi d'utiliser l'IDE Android Studio qui va nous permettre de créer notre application. Cette application devra donc activer le Bluetooth de la tablette s'il n'est pas activé, scanner les alentours afin de capter l'ID du RFduino puis enfin s'y connecter. Nous arrivons donc bien à détecter notre RFduino. Il nous reste maintenant à nous y connecter afin de pouvoir recevoir les valeurs des capteurs. Une fois ces valeurs bien reçues, nous devrons les afficher sur l'application sous forme de tableau.

AppData.png

4ème séance

Nous avons donc réussi à connecter le RFduino avec l'application. Nous avons donc coder la réception des données du côté de l'application mais aussi le traitement de ces données. On enregistre les valeurs reçues puis on affiche les données importantes pour un boxeur : le nombre de coups tentés et le nombre de coups touchés. De plus, nous avons également différencié trois grands types de coups "fréquents" lors d'un match de boxe : le jab, le coup droit et l'uppercut. Chacun de ces coups suivant principalement un axe différent, il est relativement simple de les différencier. Ainsi on peut savoir si l'utilisateur différencie ses coups ou s'il reste trop souvent dans la même stratégie.

AppRes.png

Poster

Poster.png

Fichiers rendus

Application Android : Fichier:AppGant.zip

Code RFduino : Fichier:RFduino.zip