Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

cours:plim:projet16_17:gr15:gr15

NiceRide

Présentation du Projet

  • Nom1: Haouel Ameni
  • Nom 2: Jebara Insaf
  • Thème du projet: covoiturage
  • Nom du Projet:NiceRide

Un Scénario d'illustration du Projet

Toto est un étudiant de Polytech Sophia Antipolis qui passe des heures pour arriver à Sophia tandis que normalement la distance ne prend que 45 minutes.

Alors pourquoi pas une solution pour Toto ?

La solution consiste en une application mobile qui permet de géo-localiser les étudiants de Polytech se trouvant à proximité de l’utilisateur pour but de trouver un accompagnant ou du covoiturage. La géolocalisation des étudiants est définie par des coordonnées X, Y se trouvant dans une zone initialisée selon ces coordonnées. L'attribution des étudiants aux voitures sera effectuée à travers un algorithme de clustering.

On prend en considération la position de l’étudiant, le temps écoulé pour un chauffeur pour récupérer un étudiant, etc ..

Par conséquent Toto qui se trouve à Nice. Il se connecte via l'application et trouve N personnes connectées proches de lui sur une Map. Il peut alors contacter ces personnes par messagerie afin de se mettre d'accord pour un covoiturage. Celui qui reçoit la demande peut confirmer ou refuser selon le nombre de places restant. Donc l'application simplifie la vie de l'étudiant à Polytech et lui permet d'avoir un réseau social plus enrichi.

Matériel Disponible

• Référence du SmartPhone : Samsung Galaxy A5

• Caractéristiques techniques: http://fr.gsmchoice.com/fr/catalogue/samsung/galaxya5hspa/Samsung-Galaxy-A5-HSPA.html

• Capteurs: accéléromètre , Proximité

• Communication et réseaux: WLAN, bluetooth, GPS, NFC, 3G(HSPA+)

• Caractéristiques de l'OS : Android 5.0.2

• Environnements logiciels utilisables pour développer sur ce Smartphone : Les services offerts par cet OS facilitent l'exposition des données fournies par le smartphone et spécifiquement l'exploitation des flux des données injectés dans le téléphone.

Architecture logicielle de notre application

Notre architecture est décortiquée en 3 parties :

  1. Le client : L’application Android qui sera installée sur le smartphone de l’utilisateur
  2. La partie serveur : qui constitue la partie de traitement de donnée et qui englobe notre algorithme faisant tourner une partie de l’application
  3. La partie base de données qui est déployée sur le cloud Firebase.

Notre application offre les services suivants :

  • Connexion personnalisée du propriétaire et du client
  • Ajout de trajet (ride) à l’instant donnée
  • Consultation de la liste des trajets disponibles à parti de l’instant où le demandeur de trajet fait sa requête.
  • Filtrage des données de trajets selon la destination demandée.
  • L’utilisateur peut contacter le propriétaire de la voiture pour une demande de trajet, c’est lors qu’une notification informe le propriétaire.
  • Consultation des listes de demandes reçues au propriétaire et affectation aux clients selon la position la plus proche et le nombre de places disponibles dans la voiture.

Les données sont échangées avec le cloud en mode online et mode offline.

Le mode offline est une fonctionnalité offerte par Firebase et qui se charge automatiquement de la sauvegarde des données en mémoire cache. Si aucune connexion à internet n'est disponible alors seulement quelques données sont affichées. Dès lors qu'une connexion est à nouveau disponible la synchronisation s'effectue automatiquement.

Ressources utilisées dans le Projet

Liste des capteurs

  • GPS et réseau mobile pour la géolocalisation et le suivi de l'utilisateur.

API utilisées

Algorithme utilisé

  • Algorithme de Clustering: Les propriétaires de voitures seront des clusterheads et les autres personnes seront des sous cluster afin de simplifier le processus d'affectation des clients aux voitures.
  • Affectation des clients(nœud) au cluster dépend de la distance entre le clusterhead(chauffeur) et le nœud pour cela on a implémenté l'algorithme du plus proche voisin(KNN - Nearest Neighbour)
  • Reconnaissance de l'activité: non supervisé

Version OS: 5.0.2

SDK utilisé: Le SDK d’Android nous permettra d’avoir accès aux données du GPS.

https://developer.android.com/guide/topics/sensors/sensors_motion.html

https://developer.android.com/studio/index.html

Conclusion sur la faisabilité du Projet :

Les fonctionnalités offertes par cet application tel que la géo-localisation est un service à consommer en utilisant les données collectées du GPS pour ensuite être traduites en des coordonnées sur une map en utlisant l'API google Map V2. La communication inter-utilisateurs sera traduite par de simples évènements et une notification pour faire savoir qu'un échange a lieu.

Rendu Final

Code Source

Ci-dessous le lien pour accéder respectivement au code source de la partie serveur Nodejs ainsi que la partie Android: https://github.com/AmeniAol/Elim_App

https://drive.google.com/file/d/0B1qpaIz-lhLMTG9DQTdIU3BRMzQ/view

Fonctionnement de la machine serveur

Le serveur reçoit en entrée les positions de la véhicule (longitude + latitude ) ainsi la longitude et la latitude des utilisateurs qui ont demandé de rejoindre cette véhicule pendant un trajet bien déterminé qui est proportionnelle à la position courante de la véhicule. Pour chaque utilisateur qui a demandé de rejoindre cette véhicule, nous calculons la distance qui sépare chaque client de la véhicules pour ensuite les comparer et les attribués selon les places disponible dans cette voiture. l'attribution est enregistrée sur notre cloud(firebase) sous forme de cluster un Owner(véhicule) plus les clients associés à ce trajet.

Exécution de l'application

  • Installation de l'environnement

Il suffit de télécharger le code du serveur sur le lien https://github.com/AmeniAol/Elim_Server ainsi télécharger l'environnement à partir du lien https://nodejs.org/en/download/ puis entrer dans le dossier du serveur appuyer sur clt+shift pour accéder à la ligne de commande nodejs pour ensuite taper la commande node index.js et le script se lance.

  • Installation de l'apk:

Télécharger l'apk suivant :app-debug.rar Installer l'apk pour pouvoir manipuler l'application: PS: Lors de l'installation si vous rencontrez un problème, activez la fonctionnalité d'acceptation d'applications de sources inconuues sur votre Smartphone.

* Utilisation de l'application: Après avoir téléchargé l'application, ouvrir l'application installée et manipuler les interfaces suivantes: En tant que propriétaire se connecter avec

Login : amelie

Mot de passe : amelie

Après la connexion, une première interface s'affiche pour le menu correspondant au profil de l'utilisateur (propriétaire). Il peut donc soit ajouter un trajet à travers la saisie de données correspondantes dans un formulaire. Sinon il peut consulter le demandes reçues pour un trajet dans la rubrique messages.

  • Les marqueurs présents sur la Map représentent le cluster relatif au propriétaire.
  • Le marqueur rouge correspond au headcluster qui est le proprio de la voiture.
  • Les marqueurs bleus sont les clients.

Le déplacement du proprio est marqué par des marqueurs dynamiquement, à chaque modification des coordonnées géographiques.

En tant que client se connecter avec

Login : insaf

Mot de passe : insaf

cours/plim/projet16_17/gr15/gr15.txt · Dernière modification: 2017/02/19 22:43 par ijebara