Difference between revisions of "Projets-2016-2017-UltraTeam"

From air
Jump to navigation Jump to search
(Created page with "300px|right|IDS LivingMap à Experimenta 2013 =Preambule= The project subject Interactive Digital Signage This project is handled from ye...")
 
 
(37 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
[[Image:IDS-Experimenta2.jpg|300px|right|IDS LivingMap à Experimenta 2013]]
 
   
 
=Preambule=
 
=Preambule=
   
The project subject [[Interactive Digital Signage]]
+
The project subject [[Ultra Trail]]
   
This project is handled from years to years by Polytech Students :
 
 
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)
 
   
  +
Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]
 
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]
 
   
 
[http://air.imag.fr/mediawiki/index.php/File:-BISCH-FOURURE-CLAVELIN--RICM5-IDS-Presentation.pdf transparents] & [http://air.imag.fr/mediawiki/index.php/File:Flyers-IDS-BISCH-FOURURE-CLAVELIN.pdf flyer] & [http://air.imag.fr/mediawiki/index.php/File:Poster-IDS-RICM5-BISCH-FOURURE-CLAVELIN.png poster] & [http://youtu.be/N9lzwH4TDQ8 video] & [https://github.com/tetram/ids github]
 
[http://air.imag.fr/mediawiki/index.php/File:-BISCH-FOURURE-CLAVELIN--RICM5-IDS-Presentation.pdf transparents] & [http://air.imag.fr/mediawiki/index.php/File:Flyers-IDS-BISCH-FOURURE-CLAVELIN.pdf flyer] & [http://air.imag.fr/mediawiki/index.php/File:Poster-IDS-RICM5-BISCH-FOURURE-CLAVELIN.png poster] & [http://youtu.be/N9lzwH4TDQ8 video] & [https://github.com/tetram/ids github]
 
It is now handled by two Polytech students : Christophe Adam and Zhengmeng Zhang
 
   
 
=Project presentation=
 
=Project presentation=
   
  +
Le but du projet est
Le but du projet est d'améliorer la borne interactive qui a été commencé il y a deux ans par des élèves de RICM5.
 
 
La borne doit pouvoir:
 
 
* afficher des informations sur Polytech de façon autonome (les informations seront dans un PowerPoint).
 
* afficher l'emploi du temps des différentes filières.
 
* indiquer le prochain cours lorsqu'une personne passe une carte NFC devant le lecteur NFC.
 
* être autonome (en mettant les emplois du temps à jour régulièrement et automatiquement).
 
   
 
= Team =
 
= Team =
   
* Supervisors : Amr Alyafi, Didier Donsez
+
* Supervisors : Didier Donsez
   
* Members : Christophe Adam, Zhengmeng Zhang
+
* Members : Gallier Romane, Ferrera Alexandre
   
 
* Departement : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]
 
* Departement : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]
Line 46: Line 33:
   
 
* Découverte du projet
 
* Découverte du projet
  +
* Récupération d'une partie du matériel
* Mise en route de la machine
 
* Récupération du code
+
* Récupération de la documentation pour utiliser les technologies
 
* Mise en place des exigences
 
* Mise en place des exigences
   
[[Projet-2014-2015-Interactive_Digitale_Signage/SRS| '''SRS''']]
+
[[Projet-2016-2017-UltraTeam/SRS| '''SRS''']]
   
 
== Week 3 (January 26th - February 01st) ==
 
== Week 3 (January 26th - February 01st) ==
Line 59: Line 46:
   
 
== Week 4 (February 02nd - February 08th) ==
 
== Week 4 (February 02nd - February 08th) ==
 
Utilisation de l'outil Scrum.
 
 
*Réalisation du Planning Poker avec les User story pour chaque acteurs (cf. les acteurs du diagramme de cas d'utilisation réalisé dans la partie UML).
 
*Réalisation de Product Backlog avec les différents niveaux de priorités.
 
*Écriture du 1er Sprint et de 2nd Sprint.
 
 
[[Projet-2014-2015-Interactive_Digitale_Signage/Scrum| '''Scrum''']]
 
 
Bilan de la marche à suivre.
 
 
Pour la fonctionnalité emploi du temps :
 
 
*Utilisation de la fonctionnalité Export d’ADE pour obtenir l’emploi du temps au format ICalendar et en suite le traité pour extraire l’information désirée. Au final, c’est une base de donnée qui sera remplit pour l’emploi du temps de chaque filière. La base de données sera réalisée avec MongoDB et sera mise à jour régulièrement.
 
 
Pour l'affichage des informations sur Polytech :
 
 
*L’affichage des informations sur Polytech avec Reveals.js. Les informations à afficher seront dans un PowerPoint pour plus de facilité.
 
*La récupération de l’emploi du temps se fera à travers un serveur Node.js.
 
*L’ensemble du projet est codé en HTML/CSS/PHP/JavaScript/JSON.
 
   
 
== Week 5 (February 09th - February 15th) ==
 
== 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) ==
[[Media:Conception Architecturale.pdf|Conception Architecturale]]
 
   
  +
*Documentation et integration d'une carte
* Mise en place d'un système de synthèse vocale avec Voxygen pour faire parler la borne. (Fonctionnel avec 20 voix différentes)
 
  +
*[Meteor] Recherche de framework pour utiliser meteor en java
  +
*[Meteor] Multiples tentatives vaines d'utilisation de android-ddp
   
  +
== Week 7 (March 02nd - March 08nd) ==
* Découverte de node.js.
 
   
  +
*Documentation sur l'utilisation des fonctionalités GPS du telephone
* Continuation de la réalisation d'une présentation de Polytech avec l'outil Reveal.js.
 
  +
* [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) ==
* Etude sur la façon de récupérer l'emploi du temps de chaque filière. (Choix du format iCalendar)
 
   
  +
*[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()
* Parsage du fichier iCalendar en node.js.
 
   
  +
*[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.
* Utilisation probable de MangoDB pour stocker les emplois du temps dans une base de donnée.
 
   
  +
*[Meteor-MQTT] Ajout de code sur une todo List pour que l'appli Meteor puisse se connecter à un broker via mqtt.
Lien waffle.io : https://waffle.io/zhangzhengmeng/projetids2015
 
   
== Week 6 (February 23th - March 1st) ==
+
== Week 9 (March 16nd - March 22nd) ==
   
  +
* [Serveur] Location d'un serveur amazon (version d'essai).
Travail réalisé :
 
  +
!! La version gratuite est trop petite pour héberger un serveur utilisant Meteor.
   
  +
* [Serveur] Broker fourni par l'enseignant pour qu'on puisse publier des messages sur un serveur privé. Tests validés avec mosquitto
* Emploi du temps (chargement auto, traitement, sauvegarde) -> OK
 
* Synthèse vocale (lecture d’information, création de phrase dynamique) -> OK
 
* Présentation dynamique de Polytech avec Reveal.js -> OK
 
* Affichage emploi du temps -> OK
 
* Création d’un serveur avec node.js -> OK
 
   
  +
* [Meteor-MQTT]Test de la connexion MQTT effectuée par l'appli Meteor grâce à mosquitto. Connexion validée par les tests.
Travail restant :
 
   
  +
== Week 10 (March 23nd - March 29nd) ==
* Utilisation du lecteur NFC
 
* Utilisation de la Kinect pour contrôle par gestes sur les pages web
 
https://github.com/bengfarrell/nuimotion
 
https://github.com/pgte/node-openni-browser
 
* Installation des programmes réalisés sur la borne
 
   
  +
* 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
[[Media:Evalution mi-parcours IDS.pdf|Slides évalution mi-parcours]]
 
  +
=> Concentration sur la connexion mqtt sur l'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
== Week 7 (March 02nd - March 08nd) ==
 
  +
*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.
* Nettoyage du code réalisé en Java pour la partie emploi du temps et synthèse vocale.
 
* Présentation du travail réalisé jusqu'ici lors de la soutenance de mi-parcours.
 
* Travail sur la partie NFC (récupération du lecteur NFC).
 
   
  +
*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)
== Week 8 (March 09nd - March 15nd) ==
 
 
* Travail sur la partie NFC.
 
* Récupération des puces NFC et du code réalisé par des élèves de l'ENSIMAG pour utiliser le lecteur NFC.
 
* Adaptation du code au projet.
 
 
== Week 9 (March 16nd - March 22nd) ==
 
 
* Problème avec le lecteur NFC et le code fourni.
 
* Problème avec une puce NFC... décidemment '^^...
 
* Visite de la CTI.
 
 
== Week 10 (March 23nd - March 29nd) ==
 
   
  +
*Mise en place de l'envoi de messages avec le service mqtt
* Problème du lecteur NFC résolu -> nouveau lecteur bien mieux
 
* Intégration du code NFC -> OK
 
* Récupération de puces NFC supplémentaires car seulement une puce fonctionne (pas terrible pour les tests)
 
* Récupération du nouveau PC à installer dans la borne (il y a de la musique quand on ouvre la boite ou qu'il y a de la lumière)
 
* Récupération d'une clé pour installer Windows 7 Professionnel 64bits
 
* Récupération d'un téléphone Android pour programmer les puces (Android c'est nul xD)
 
   
 
== Week 11 (March 30nd - April 05nd) ==
 
== 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)
* Nous avons trouvé une solution formidable pour afficher les emplois du temps de chaque filière avec Reveals.js ce qui permettra de consulter très facilement les emplois du temps sur la borne
 
  +
* LoRaMote finalement flashée avec succes. On n'aura finalement pas le temps de s'en servir.
* Réalisation de lien les gestes et les diapositives de Reveal.js avec Openni + Processing en utilisant websocket
 
  +
* 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.
* Installation de Windows 7 Professionnel sur le nouveau PC + tous les drivers Intel NUC D54250WYKH
 
  +
* merge des applications avec l'autre groupe sur ce projet
* Installation du programme qui gère les emplois du temps (avec WampServer)
 
  +
* résolution de problèmes post merge.
* Installation du programme qui gère l'affichage sur la borne et la détection des gestes
 
   
 
=Synthèse du projet=
 
=Synthèse du projet=
   
 
==Contexte==
 
==Contexte==
[[Interactive Digital Signage]]
 
   
  +
==Matériel==
Les bornes interactives à la pointe de la technologie commencent à apparaitre dans nos villes. Au potentiel infini, elles vont révolutionner le monde de l’information et de la publicité.
 
   
  +
*2 Loramote
'''Examples:'''
 
  +
*2 antenne
* http://vds-technology.com/PLV-dynamique/nos_produits/e-totems/
 
  +
*ceinture bluetooth
* http://www.connected-store.com/des-cabines-d%E2%80%99essayage-virtuelles-et-connectees-dans-un-magasin-john-lewis-4894
 
* http://www.connected-store.com/un-miroir-interactif-et-connecte-dans-un-magasin-de-lenseigne-princess-polly-9832
 
* http://www.connected-store.com/une-vitrine-tactile-et-des-bornes-connectees-pour-le-nouveau-concept-store-dorange-a-lile-maurice-4002
 
 
==Matériel==
 
*Borne IDS contenant
 
** Intel NUC D54250WYKH avec Windows 7
 
** TV 37 Pouces Full HD
 
** Verre trempé IKEA
 
** Kinect XBox
 
** Haut Parleurs
 
** Lecteur NFC (SCM Microsystems Inc. SCL3711 reader & NFC device 0)
 
*Tag NFC
 
 
*Téléphone Android (pour programmer les puces NFC)
 
*Téléphone Android (pour programmer les puces NFC)
 
Lecteur NFC SCL3711:
 
 
[[File:ids_nfc.png | 200px]]
 
 
Kinect:
 
 
[[File:Kinect.jpg | 200px]]
 
   
 
==Logiciels (utilisés)==
 
==Logiciels (utilisés)==
 
* http://voxygen.fr/index.php (synthèse vocale)
 
* javax.smartcardio (lecteur NFC)
 
* Reveals.js (affichage interactif des informations)
 
* [[OpenNI]] (Kinect)
 
* Processing
 
* [[Intel® Perceptual Computing SDK]]
 
   
 
==Logiciels (réalisés)==
 
==Logiciels (réalisés)==
 
Le dépôt global des sources est sur [https://github.com/zhangzhengmeng/ProjetIDS2015.git '''github''']
 
 
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre au cahier des charges.
 
 
=== Emploi du temps et NFC ===
 
 
Le programme créé tourne en tache de fond sur la borne. Dès qu'une puce NCF est détectée, une fenêtre s'ouvre avec les informations sur le prochain cours de la personne, la salle dans laquelle elle sera, son enseignant ainsi que les horaires du cours. Au moment de l'ouverture de cette fenêtre, la borne se met à parler à la personne qui est en face d'elle pour lui donner verbalement ces informations via la synthèse vocale. À la fin du speech, la fenêtre se referme.
 
 
'''Fonctionnement du programme :'''
 
 
Le schéma ci-dessous résume la façon dont le logiciel fonctionne de façon schématique. Tout d'abord, lors de son premier lancement, le programme télécharge les emplois du temps de chaque filière au format iCalendar. Ensuite, les fichiers iCalendar sont traités et les informations utiles sont stockées en mémoire dans des structures de données. Maintenant vient le début de la boucle principale de fonctionnement. Il ne sortira jamais de cette boucle sauf en cas d'arrêt du programme évidemment. Le programme est autonome. Il se mettra à jours automatiquement. Lors qu'une personne passe une puce NFC devant la borne, le programme interroge ses structures de données contenant les emplois du temps comme expliqué dans le paragraphe qui suit. Ensuite, il vérifie qu'il dispose bien des emplois du temps de la semaine courante et effectue la mise à jour si nécessaire. Il affiche alors le résultat de la requête dans une fenêtre et active la synthèse vocale qui fait parler la machine.
 
 
[[File:caca1.png | 300px]]
 
 
'''Interrogation des structures de données :'''
 
 
Le schéma ci-dessous résume la façon dont le logiciel procède après identification de la personne qui a passé la puce NFC devant la borne. Ce qu'il faut retenir, c'est que si 'est un élève, c'est facile, il suffit d'aller interroger la liste correspondant à l'emploi du temps des la classe de l'étudiant. Ensuite on cherche une correspondance entre l'élève, la date et l'horaire. En revanche, dans le cas d'un enseignant, nous ne disposons pas de la classe avec laquelle il a cours puisque qu'un enseignant peut faire cours à plusieurs classes de différentes filières. Il faut donc chercher dans toutes les listes contenant les emplois du temps des différentes filières une correspondance entre l'enseignant, la date et l'horaire.
 
 
[[File:caca2.png | 400px]]
 
 
'''Mise à jour automatique des emplois du temps :'''
 
 
C'est une histoire de différence entre la date correspondant à la dernière fois que les emplois du temps ont été mis à jours et la date actuelle en tenant compte du jour de la semaine où la demande est effectuée. Un code tel que celui-ci est robuste et fonctionnera toujours. Dans le cas présent, les emplois du temps sont mis à jour chaque semaine.
 
 
[[File:caca3.png | 600px]]
 
 
'''Info sur le programme'''
 
 
Le programme a été écrit intégralement en Java.
 
 
Les emplois du temps de chaque filière sont téléchargés automatiquement dès la première demande qui est effectuée.
 
 
La synthèse vocale fonctionne grâce au site web de l'entreprise Voxygen qui permet d'utiliser des voix à la pointe de la technologie qui ont été mise en ligne comme exemple.
 
 
Le texte du speech est créé dynamiquement par le programme pour s'adapter à chaque utilisateur. Ensuite, il est envoyé sur le serveur de Voxygen qui va alors renvoyer un fichier audio au format mp3 avec le contenu vocal souhaité. Enfin, le programme lance la lecture du fichier son pour faire parler la borne.
 
 
Les adresses web pour télécharger les emplois du temps de chaque filière se trouve dans un fichier nommé "adweb.txt". Il est donc très simple d'ajouter des classes, d'en enlever ou de mettre à jours une adresse qui aurait changé.
 
 
Le fichier est construit de la façon suivante :
 
 
[[File:ids_edt.png | 300px]]
 
 
Les puces NFC contiennent simplement un numéro d'étudiant (numéro d'étudiant par exemple). Une fois le numéro lu, il suffit d'aller chercher l'étudiant correspondant dans la base de données qui est en fait un simple fichier texte nommé "nfc.txt". Une des améliorations de notre projet sera d'aller chercher les informations dans la base de données en ligne qui a été réalisée par l'université. Ce sera ainsi plus simple que de rentrer tous les étudiants avec leur numéro d'étudiant, leur nom, leur prénom et leur classe dans un fichier.
 
 
Le fichier est construit de la forme suivante :
 
 
[[File:ids_etu.png | 400px]]
 
 
Pour ce qui est de la voix choisie, c'est également dans un fichier que l'on peut la choisir. Dans le fichier "speak.txt", il faut donc indiquer la voix que l'on veut utiliser et également indiquer le chemin du dossier qui contient la partie du code PHP qui est utilisé par WampServer chaque fois qu'une requête est effectuée. Enfin, c'est également dans ce fichier que l'on saisit le jour de la semaine et l'heure où le téléchargement automatique des emplois du temps sera effectué.
 
 
Le fichier est construit de la forme suivante :
 
 
[[File:ids_voix.png | 200px]]
 
 
Fenêtre du programme (cas d'un élève):
 
 
[[File:ids_fenetre.png | 400px]]
 
 
Fenêtre du programme (cas d'un enseignant):
 
 
[[File:ids_fenetre2.png | 400px]]
 
 
La machine dira par exemple : "Bonjour Didier, vous avez cours de projet en salle TP259IIA ou peut être en salle S125 avec les RICM4 de 13h30 à 17h30. Je vous souhaite une excellente journée."
 
 
'''Info sur la partie en PHP Voxygen'''
 
 
Le code PHP est exécuté par WampServer. Le dossier "PHP-Voxygen-master" doit donc se trouver dans le dossier "www" de WampServer pour que tout fonctionne correctement. Il faut donc bien mettre le lien vers le dossier "PHP-Voxygen-master" dans le fichier "speak.txt" comme expliqué un peu plus haut sinon ça ne pourra pas fonctionner.
 
 
=== Kinect et Reveals.js ===
 
 
Pour utiliser Kinect dans Windows il faut installer
 
*nite-win64-1.5.2.21-dev
 
*openni-win64-1.5.4.0-dev
 
*SensorKinect092-Bin-Win64-v5.1.2.1
 
(Il existe un conflit de pilot de Kinect entre SensorKinect et Windows Kinect)
 
 
On créer le sevrer et faire la communication entre Processing et page web en utilisant webbit
 
* https://github.com/webbit/webbit
 
 
Pour réaliser les gestes on utilise le API de openni
 
* http://kinectcar.ronsper.com/docs/nite/classXnVSwipeDetector.html
 
 
Pour utiliser les gestes dans reveal.js on utilise le façon en base des gestes avec webcam
 
*https://github.com/willy-vvu/reveal.js
 
   
 
=Ressources=
 
=Ressources=
* https://github.com/SalemHarrache/ricm.quicker
 
* https://developer.mozilla.org/fr/docs/IndexedDB/Using_IndexedDB
 
* [[Reveal.js]]
 
* https://github.com/hakimel/reveal.js/issues/1039
 
* http://revealjs.herokuapp.com/
 

Latest revision as of 09:11, 3 April 2017


Preambule

The project subject Ultra Trail


Enseignant Didier Donsez. fiche de suivi

transparents & flyer & poster & video & github

Project presentation

Le but du projet est

Team

  • Supervisors : Didier Donsez
  • Members : Gallier Romane, Ferrera Alexandre

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 4 (February 02nd - February 08th)

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)

  • [Serveur] Location d'un serveur amazon (version d'essai).

!! La version gratuite est trop petite pour héberger un serveur utilisant Meteor.

  • [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)

  • 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

=> Concentration sur la connexion mqtt sur l'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

Contexte

Matériel

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

Logiciels (utilisés)

Logiciels (réalisés)

Ressources