SmartSelfService/FicheSuivi2014

= L'équipe =


 * Lotfi Manseur <-- Chef de projet
 * Walid Bibi

Encadrants: Didier Donsez, Jérome Maisonnasse.

= Présentation du projet =

Le projet de fin d’études consiste à créer et concevoir une application de consignes connectées qui sert à l'échange ou au prêt d’objets entre particuliers ou de fablab/techshop à particulier ou de magasin à particuliers. L'objectif est de créer une application android qui donne la possibilité à l’utilisateur de louer un objet pour une période de temps déterminée. Cette location peut se faire auprès de magasins spécialisés ou de particuliers. Ces objets sont disponibles dans des casiers électriques qui pourront être ouverts grâce à un tag NFC à scanner via son smartphone.

= Architecture Logicielle =

L'architecture de l'application ainsi que les diagrammes UML sont disponibles dans le cahier des charges.

= Technologies utilisées =


 * Développement Android
 * Technologie NFC

= Suivi de l'avancement du projet =

Semaine du 27 janvier au 2 février 2014

 * Choix du sujet.
 * Réflexion sur l'architecture du projet.
 * Réflexion sur les technologies utilisées.
 * Réalisation du cahier des charges.

Semaine du 3 au 9 février 2014

 * Début d'un auto-formation sur le développement Android et sur la technologie NFC.
 * Réalisation de maquettes d'IHM.

Semaine du 10 au 16 février 2014

 * Etude de la communication smartphone-Base de données sous android.
 * Début de la conception de la base de données.
 * Réalisation d'une partie des prototypes d'IHM.
 * Démarrage de la partie hardware, avec l'utilisation du launchpad MSP340 d'IT.
 * Mise à jour du cahier des charges.

Semaine du 17 au 23 février 2014

 * Rencontre avec J.Maisonnasse: révision de certains diagrammes de séquences.
 * Réalisation de la partie software : mise en place de la base de données(inscription, connexion, ajout d'objets), début de l'implémentation de l'application sur smartphone,et début de l'implémentation de l'interface côté tablette.
 * Changement côté hardware: abandon de l'utilisation du launchpad MSP340 au profit d'Arduino, en concertation avec J.Maisonnasse.
 * Début de la réalisation de la partie hardware prévue à partir du 11 mars(attente de la livraison du matériel).

Semaine du 24 février au 2 mars 2014

 * Avancement de la réalisation de la partie software côté smartphone estimé à 75%.
 * Avancement côté base de données: gestion des réservations et locations.
 * Recherches concernant l'envoi de notifications à un utilisateur(utilisation possible de la technologie Google Cloud Messaging for Android).

Semaine du 10 au 16 mars 2014

 * Début de la réalisation de la partie hardware. Nous avons éprouvé des difficultés dans la réalisation du circuit électrique. Pour la réalisation de cette partie nous avons demandé de l'aide auprès d'un technicien en électronique à Polytech Grenoble. Voir photo ci-dessous.




 * A cette pèriode l'avancement du projet était lent car nous avions besoin de la partie hardware qu'on avait du mal a réaliser.
 * Recherche d'un moyen de communication entre la tablette et la carte Arduino pour contrôler la gâche électrique : la solution d'un câble USB est inadéquate avec le type de carte arduino à notre disposition (nécéssite des carte spécial pour android IOIO).
 * Solution : utilisation d'un module bluetooth

Semaine du 17 au 24 mars

 * Fin des branchements électriques de la partie hardware
 * Utilisation du module bluetooth pour contrôle de la gachette.




 * implémentation de la partie hardware : Voir code ci dessous

int ledPin = 3;  // use the built in LED on pin 13 of the Uno int state = 0; int flag = 0;       // make sure that you return the state only once void setup { // sets the pins as outputs: pinMode(ledPin, OUTPUT); digitalWrite(ledPin, HIGH); Serial.begin(9600); // Default connection rate for my BT module } void loop { //if some data is sent, read it and save it in the state variable if(Serial.available > 0){ state = Serial.read; flag=0; }   // if the state is 0 the led will turn off if (state == '0') { digitalWrite(ledPin, LOW); if(flag == 0){ Serial.println("LED: off"); flag = 1; }   }    // if the state is 1 the led will turn on    else if (state == '1') { digitalWrite(ledPin, HIGH); if(flag == 0){ Serial.println("LED: on"); flag = 1; }   } }

= Rendu Final =

Démonstration


= Documents annexes =