Projets-2016-2017-UltraTeam

=Preambule=

The project subject Ultra Trail

Enseignant Didier Donsez. fiche de suivi

& &  & video & github

=Project presentation=

Le but du projet est

= Team =


 * Supervisors : Didier Donsez


 * Members : Gallier Romane, Ferrera Alexandre


 * Departement : RICM 4, Polytech Grenoble

= Progress of the project =

The project started January 14th, 2015.

Week 1 (January 13th - January 18th)

 * Choix du projet

Week 2 (January 19th - January 25th)

 * Découverte du projet
 * Récupération d'une partie du matériel
 * Récupération de la documentation pour utiliser les technologies
 * Mise en place des exigences

SRS

Week 3 (January 26th - February 01st)
Réalisation des diagrammes UML

Diagrammes UML

Week 5 (February 09th - February 15th)

 * j'ai nettoyé le code de la lora mote pour enlever la criptographe et que le code fasse moins de 32ko mais cela n'a pas suffi
 * Découverte de Meteor, MQTT et Mosquitto
 * [Meteor] Suivi d'un tuto permettant de créer une app qui gère une todo list (en gérant des comptes utilisateurs. Les tâches peuvent être publiques et privées)

Week 6 (February 23th - March 1st)

 * Documentation et integration d'une carte
 * [Meteor] Recherche de framework pour utiliser meteor en java
 * [Meteor] Multiples tentatives vaines d'utilisation de android-ddp

Week 7 (March 02nd - March 08nd)

 * Documentation sur l'utilisation des fonctionalités GPS du telephone
 * [LoRamote] Reinstallation de Keil pour flasher le code sur la lora mote
 * [Mqtt] Début d'utilisation de mqtt (librairie paho). Suivi d'un tutoriel mais bloqué par des erreurs de la librairie.
 * [Mosquitto] Création d'un utilisateur mosquitto (et d'un dossier). Pas testé car Mqtt est pour le moment lié à la sandbox Eclipse (m2m)

Week 8 (March 09nd - March 15nd)

 * [MQTT] Création d'un premier prototype : une application qui gère 2 clients simultanément grâce à des Threads. Cette appli n'a pas pu fonctionner car les notifications ne sont pas reçues pendant Thread.sleep


 * [MQTT] Résolution des problèmes dans le gradle du code exemple utilisant paho mqtt, fourni par eclipse. -> Enfin la possibilité d'utiliser la libraire android paho mqtt sur une base solide.


 * [Meteor-MQTT] Ajout de code sur une todo List pour que l'appli Meteor puisse se connecter à un broker via mqtt.

Week 9 (March 16nd - March 22nd)
!! La version gratuite est trop petite pour héberger un serveur utilisant Meteor.
 * [Serveur] Location d'un serveur amazon (version d'essai).


 * [Serveur] Broker fourni par l'enseignant pour qu'on puisse publier des messages sur un serveur privé. Tests validés avec mosquitto


 * [Meteor-MQTT]Test de la connexion MQTT effectuée par l'appli Meteor grâce à mosquitto. Connexion validée par les tests.

Week 10 (March 23nd - March 29nd)
=> Concentration sur la connexion mqtt sur l'appli (en android java)
 * Choix d'abandonner l'appli Meteor car il manque trop de choses au projet, et nous n'avons toujours pas trouvé comment utiliser Meteor en ayant une appli en android java


 * Création d'une appli qui utilise un service mqtt et créé une liste d'utilisateurs et s'abonne à leur topic lorsque les utilisateurs sont ajoutés à la liste
 * Création d'une map avec google maps + placement d'un marker


 * Merge de l'application avec l'autre groupe sur le projet Ultratrail. Cela nous apporte leur service+activité bluetooth, leur activité map et leur service usb.


 * Adaptation de la classe Message pour qu'elle contienne tous les champs dont on a besoin dans nos messages et qu'elle puisse fournir un tableau d'octet à envoyer par mqtt ou par lora. (fourni aussi la reconstruction d'un message)


 * Mise en place de l'envoi de messages avec le service mqtt

Week 11 (March 30nd - April 05nd)

 * débogage de l'appli pour permettre à la communication via mqtt d'être faite correctement (et qu'elle permette de mettre à jour les personnes)
 * LoRaMote finalement flashée avec succes. On n'aura finalement pas le temps de s'en servir.
 * Création de callbacks pour pouvoir mettre à jour la position des markers de la map quand on reçoit la nouvelle position d'un utilisateur.
 * merge des applications avec l'autre groupe sur ce projet
 * résolution de problèmes post merge.

=Synthèse du projet=

Matériel

 * 2 Loramote
 * 2 antenne
 * ceinture bluetooth
 * Téléphone Android (pour programmer les puces NFC)

Logiciels (réalisés)
=Ressources=