E-Wardrobe : Différence entre versions

De Wiki d'activités IMA
(Matériel requis)
 
(35 révisions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<include nopre noesc src="/home/pedago/pimasc/include/video-E-Wardrobe-iframe.html" />
 
== Présentation ==
 
== Présentation ==
 +
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.
 +
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent.
 +
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.
 +
 +
Pour référencer les différents habits, nous allons utiliser le protocole RFID.
  
 
== Préparation du projet ==
 
== Préparation du projet ==
Ligne 5 : Ligne 11 :
 
=== Matériel requis ===
 
=== Matériel requis ===
  
* Vestiaire
+
* Vestiaire (donné)
* Shield NFC  
+
* Shield NFC (donné)
* Ecran tactile
+
* Ecran tactile (disponible)
* Arduino
+
* Arduino (donné)
 +
* Phidget RFID (donnée)
 +
* FoxBoard (disponible)
  
 
=== Matériel à acheter ===
 
=== Matériel à acheter ===
Ligne 22 : Ligne 30 :
 
==== Première séance ====
 
==== Première séance ====
  
=== Résultats ===
+
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino.
 +
 
 +
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.
 +
 
 +
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.
 +
 
 +
 
 +
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846
 +
 
 +
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]
 +
 
 +
==== Deuxième séance ====
 +
 
 +
Objectif : Trouver une solution pour la RFID.
 +
 
 +
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la "libphidget_2.1.7.20101222". Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID.
 +
 
 +
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.
 +
 
 +
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.
 +
 
 +
==== Troisième séance ====
 +
 
 +
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.
 +
 
 +
[[Fichier:schéma.jpg]]
 +
 
 +
Nous nous sommes donc répartis les tâches.
 +
 
 +
Delphine : création de la base de données et de l'application Web.
 +
 
 +
Justin : Gestion de la lecture des Tags et de la communication Foxboard <-> page php changement d'état.
 +
 
 +
==== Quatrième séance ====
 +
 
 +
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.
 +
 
 +
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.
 +
 
 +
Toute la partie du code C détectant les tags fonctionnent correctement.
 +
 
 +
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application.
 +
 
 +
De plus, la base de données à été mise à jour.
 +
 
 +
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.
 +
 
 +
==== Cinquième séance ====
 +
 
 +
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.
 +
 
 +
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données
 +
 
 +
==== Sixième séance ====
 +
 
 +
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.
 +
le code permettant de realiser une requette dans la base de donnée a été créé mais avec la librairie manquante, il est impossible de la tester.
 +
debut de recherches sur la cross-compilation, pour installer mysql-connector.
 +
 
 +
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.
 +
==== Septième séance ====
 +
 
 +
Lors de cette séance, nous avons continué à améliorer notre application Web. En effet, nous avons associé à chaque vêtement une photo le représentant. De plus nous avons commencé à améliorer son esthétique.
 +
 
 +
Au niveau de la foxboard, nous avons continué d'essayer d'y installer la librairie mysql-connector.
 +
 
 +
==== Huitième séance ====
 +
 
 +
Lors de cette huitième séance, nous avons terminé les fondations du site web, reste à programmer les différentes options restante.
 +
la foxboard est toujours en cours d'installation de la librairie manquante. et a terminé à la fin de la séance, alors que le PC n'étais plus accessible a cause d'une MAJ systeme.
 +
 
 +
==== Neuvième séance ====
 +
 
 +
A la fin de cette séance, le programme de liaison entre la penderie et la base de donnée est terminé. Ainsi, lorsqu'un vêtement est passé devant la phidget, le tag du vêtement est envoyé vers la base de donnée, ainsi qu'un indice indiquant qu'une mise a jour a été effectuée. un problème demeure cependant, la librairie phidget provoque d'énormes fuites mémoires, rendant le programme inutilisable sur la foxboard dont la RAM est très vite saturée.
 +
en attendant de trouver la source des fuites, le programme de liaison sera lancé sur un PC.
 +
 
 +
le site web, quand a lui, arrive a maturité, il se recharge maintenant de façon automatique, de façon a détecter un changement d'état de la BDD, qui aurais été provoqué par la foxboard.
 +
 
 +
==== Neuvième Bis séance ====
 +
Le site récupère maintenant la température de la ville et la stocke dans une variable.
 +
 
 +
==== Dixième séance ====
 +
 
 +
Pendant cette séance nous avons réussi à faire communiquer la penderie avec l'application. Lorsqu'un vetêment passe devant la phidget, une photo correspondant à ce vetêment s'affiche sur la page Web. Puis la température associe à ce vetêment est comparée à la température extérieure et le site indique si le vetêment correspond à la météo.
 +
 
 +
== Rapport ==
 +
[[media:rapport-ewardrobe.pdf]]

Version actuelle datée du 21 mai 2012 à 09:08


Vidéo HD

Présentation

Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe. Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.

Pour référencer les différents habits, nous allons utiliser le protocole RFID.

Préparation du projet

Matériel requis

  • Vestiaire (donné)
  • Shield NFC (donné)
  • Ecran tactile (disponible)
  • Arduino (donné)
  • Phidget RFID (donnée)
  • FoxBoard (disponible)

Matériel à acheter

Avancement du projet

Objectifs suggérés par les encadrants

Réalisations concrètes

Séances

Première séance

Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino.

Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.

Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.


Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846

[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]

Deuxième séance

Objectif : Trouver une solution pour la RFID.

Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la "libphidget_2.1.7.20101222". Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID.

La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.

En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.

Troisième séance

Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.

Schéma.jpg

Nous nous sommes donc répartis les tâches.

Delphine : création de la base de données et de l'application Web.

Justin : Gestion de la lecture des Tags et de la communication Foxboard <-> page php changement d'état.

Quatrième séance

Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.

Ceci permettra au final de dire quel vêtement a été retiré de la penderie.

Toute la partie du code C détectant les tags fonctionnent correctement.

En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application.

De plus, la base de données à été mise à jour.

Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.

Cinquième séance

Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.

Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données

Sixième séance

Durant cette séance nous avons installer la phidgets sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID. le code permettant de realiser une requette dans la base de donnée a été créé mais avec la librairie manquante, il est impossible de la tester. debut de recherches sur la cross-compilation, pour installer mysql-connector.

Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.

Septième séance

Lors de cette séance, nous avons continué à améliorer notre application Web. En effet, nous avons associé à chaque vêtement une photo le représentant. De plus nous avons commencé à améliorer son esthétique.

Au niveau de la foxboard, nous avons continué d'essayer d'y installer la librairie mysql-connector.

Huitième séance

Lors de cette huitième séance, nous avons terminé les fondations du site web, reste à programmer les différentes options restante. la foxboard est toujours en cours d'installation de la librairie manquante. et a terminé à la fin de la séance, alors que le PC n'étais plus accessible a cause d'une MAJ systeme.

Neuvième séance

A la fin de cette séance, le programme de liaison entre la penderie et la base de donnée est terminé. Ainsi, lorsqu'un vêtement est passé devant la phidget, le tag du vêtement est envoyé vers la base de donnée, ainsi qu'un indice indiquant qu'une mise a jour a été effectuée. un problème demeure cependant, la librairie phidget provoque d'énormes fuites mémoires, rendant le programme inutilisable sur la foxboard dont la RAM est très vite saturée. en attendant de trouver la source des fuites, le programme de liaison sera lancé sur un PC.

le site web, quand a lui, arrive a maturité, il se recharge maintenant de façon automatique, de façon a détecter un changement d'état de la BDD, qui aurais été provoqué par la foxboard.

Neuvième Bis séance

Le site récupère maintenant la température de la ville et la stocke dans une variable.

Dixième séance

Pendant cette séance nous avons réussi à faire communiquer la penderie avec l'application. Lorsqu'un vetêment passe devant la phidget, une photo correspondant à ce vetêment s'affiche sur la page Web. Puis la température associe à ce vetêment est comparée à la température extérieure et le site indique si le vetêment correspond à la météo.

Rapport

media:rapport-ewardrobe.pdf