RICM4 2017 2018 - UltraTeam 7.1

From air
Jump to navigation Jump to search

Project presentation

Ce projet est un projet réalisé par deux équipes.

La première équipe composée de Enzo Molion et Léo Valette est chargée de réaliser une application mobile perettant aux membres d'une équipe ou d'un groupe de randonneurs de se localiser entre eux avec différentes informations comme la vitesse de marche, la distance séparant les utilisateurs, la possibilité de voir si un utilisateut est en détresse (par exemple s'il s'est cassé une jambe), etc.

Cette application utilisera le réseau LoRa avec des cartes ESP-32, connectés par bluetooth aux smartphones de l'équipe pour fonctionner.

Les smartphones de l'équipe, s'il sont connectés au réseau 3G/4G, enverrons grâce à une API REST l'ensemble des informations accumulées lors de la randonnée à un serveur que notre équipe composée de Bastien TERRIER et Hugo GROS-DAILLON devront s'occuper de mettre en place.

Ce serveur sera implémenté grâce au générateur d'application JHipster. Il s'agira d'une application Web permettant aux randonneurs de créer un compte puis, grâce aux informations fournies par l'application mobile, de visualiser les informations de la randonnée en cours ou réalisée (avec l'itinéraire emprunté durant la randonnée, la vitesse moyenne, les membres participants, etc.)

Il pourra aussi servir a visualiser la position des randonneurs au cours d'une randonnée et afficher si une personne à énvoyé un signal de détresse avec son smartphone. Cela peut être utile dans le cas ou les secours cherchent à localiser précisément la personne s'étant blessée.

Team

  • Supervisor : Didier Donsez
  • Members : Hugo GROS-DAILLON, Bastien TERRIER

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
  • Mise en route de la machine
  • Récupération du code
  • Mise en place des exigences

23 Janvier 2017

Connexion au modem : lsusb

voir le nom de la connexion

su apt-get install arduino

run arduino

Onglet : outils-> noniteur série-> choisir son device

Onglet : outil->Moniteur série -> choisir 57600 bauds et choisir NL & CR

Merci N. Palix pour l'astuce de l'utilisation d'Arduino.

Utiliser les commandes fournies par D. Donsez dans son doc google ou le manuel pour interagir avec le modem. Manuel

24 janvier 2017

Création d'une mini appli android qui permet d’accéder au modem lorsqu'il est branché en série au téléphone. Si je connecte un modem au téléphone et le second à un PC, je peux les faire communiquer. Upload sur Github d'ici demain au pire. Pour réaliser cette magie noire, j'ai utilisé USBSerial : https://github.com/felHR85/UsbSerial. Et j'ai forké l'appli exemple du même auteur https://github.com/felHR85/SerialPortExample. La difficulté à été de faire fonctionner et surtout comprendre l'ensemble. J'ai ensuite configuré le code pour qu'il marche avec nos modems (bauds rate, parity none, cr and lf).


Week 3 (January 26th - February 01st)

Réalisation des diagrammes UML de cas d'utilisations. Notre application n'as pas vraiment de diagramme de classes car la majorité des classes sont des Activity ou des Service.

Week 4 (February 02nd - February 08th)

Essai d'intégration de l'application à GreenHouseCI pour faire du déploiement continu. Essai de divers IDE online pour essayer de faire du déploiement continu.

Amélioration de l'application de test des boitiers Lora (raccourci, derniere commande utilisé..)

Week 5 (February 09th - February 15th)

Modification de l'appli en application avec des onglets. Un onglet terminal USB série, un onglet GPS, un onglet configuration

Week 6 (February 23th - March 1st)

Travail sur la map. Suivi d'un tuto pendant de longues heures pour que celui ci se révèle obsolete et donc inutilisables. Génération de la clé pour l'API de Google pour les maps.

La clé : AIzaSyB4iTwLc9rSwh5RebtpKjUR0XKIIv5P9gY

Week 7 (March 02nd - March 08nd)

Travail sur la map, tous les tutos se contredisent. Création d'un nouveau dépot GitHub afin de repartir sur de bonnes bases car tout le dépot est cancérisé

Week 8 (March 09nd - March 15nd)

La carte commence à fonctionner, on peut ajouter des markers. On positionne aléatoirement des gens sur la carte. On peut calculer les distances entre eux.

Ajout d'une page de configuration des groupes

Début du travail sur le bluetooth, à l'aide du Googlesamples sur le Bluetooth Low Energy

Week 9 (March 16nd - March 22nd)

Corerection de bug sur la map Partage de données entre activity Ajout de la possiblité de mettre un point de rendez vous que tous le monde voit

Que se passe-t-il sur le bluetooth low energy?? Impossible d'intégrer le google sample

Week 10 (March 23nd - March 29nd)

Ajout d'animation à la carte

Amélioration des structures de données -> création de la classe Personne et UltrateamApplication

Bluetooth finalement opérationnel. Il fallait changer le type de la classe principale en AppCompatActivity (au départ en ListActivity) et résoudre tous les problèmes que ce changement impliquait. J'avais déjà tenté cette solution mais m'étais résigné en voyant l'étendue des problèmes soulevés par ce changement, j'aurai du aller au bout de mes rêves.

Week 11 (March 30nd - April 05nd)

Merge de notre application avec celle que l'autre groupe viens de push, rien n'est en commun. Aucune structure de donnée, rien. Une nuit passée à faire en sorte de concilier les structures afin que les classes les deux applications puissent communiquer au sein d'une seule.

Aucune nouvelle de mqtt et de la reception de donnée par LoRa, le push de l'autre groupe n'incluant rien de cela. Du coup création de méthodes utiles pour la démonstration, afin de montrer que les receivers fonctionnent, qu'il ne manque plus qu'à recevoir les données.... On nous a promis un push, attendons.

Refonte du design de l’application.

Ajout d'un bouton SOS.

Ajout de son lors du démarrage de la carte et de l'appui sur le bouton SOS.

Push arrivé à 23h40 la veille de la soutenance. Tant pis, on fera sans.