Vélo

De fablab
Aller à : navigation, rechercher

Description du sujet

Description et objectifs

Notre projet a pour but la création d'un objet connecté qui se place sur un vélo afin d'offrir plusieurs fonctionnalités. Un aspect antivol, avec un mode parking, une alarme, des envois de notifications et un suivi GPS en cas de vol. Un suivi de trajet, avec l'affichage de la position GPS, de la vitesse, altitude. Un aspect gestion de groupe de ballade, avec affichage de la position des autres membres, envoi de notifications/alertes. Un aspect gestion de flotte, avec localisation des vélos, création de zones autorisées et interdites, gestion d'alertes. Un aspect sécuritaire, avec détection de chute et appel automatique aux secours.

Évidemment nous présentons ici l'intégralité de l'objet comme nous l'imaginons terminé et prêt à rejoindre le marché, notre production finale représentera tout ou partie de ces objectifs selon nos contraintes.

Contraintes

  • Dans la limite du temps imparti.
  • Avec le matériel disponible au fablab.

Équipe

  • ASSALI El Mehdi
  • GRAVALLON Guillaume
  • MAARAKI Zakaria
  • ROSSO Loïc

Code source

Retrouvez notre code source à l'adresse suivante : https://gitlab.ensimag.fr/gravallg/pilb

Scénario d'usage

  • 1 - En tant que cycliste, je peux me localiser en temps réel sur une carte lors d’un trajet.
  • 1 - En tant que cycliste, je peux obtenir ma vitesse en temps réel lors d’un trajet.
  • BONUS - En tant que cycliste, je peux obtenir mon altitude en temps réel lors d’un trajet.
  • BONUS -En tant que cycliste, je peux sauvegarder mes trajets effectués et les revoir.
  • 3 - En tant que cycliste, je peux retrouver le vélo que j’ai garé grâce à sa position GPS.
  • 3 - En tant que cycliste, je peux définir des zones de parking automatiques pour mon vélo.
  • 3 - En tant que cycliste, je peux activer et désactiver le parking de mon vélo.
  • 3 - En tant que cycliste, je suis alerté si mon vélo en parking subit trop de mouvements.
  • 3 - En tant que cycliste, je suis alerté si mon vélo en parking quitte sa zone de parking et je peux le tracer par GPS.
  • BONUS - En tant que cycliste, je peux connaitre mon nombre de kilomètres parcourus (par ballade, jour, mois, année etc…).
  • BONUS - En tant que cycliste, je suis alerté des besoins d’entretien de mon vélo (en fonction des kms parcourus).
  • BONUS - En tant que cycliste, je peux définir des proches à appeler en cas d’accident.
  • BONUS - En tant que cycliste, lors d’une chute, mes proches et les secours sont alertés si je ne désactive pas l’alerte dans le temps imparti.
  • 1 - En tant que membre d’un groupe de cyclistes, je peux suivre en temps réel la position de tous les membres du groupe.
  • 1 - En tant que membre d’un groupe de cyclistes, je peux lancer des alertes aux autres membres (pause, ralentissement, problème technique etc…).
  • BONUS - En tant que membre d’un groupe de cyclistes, si je chute et ne désactive pas la notification dans le temps imparti, les autres membres du groupe sont alertés.
  • 2 - En tant que superviseur, je peux localiser le vélo que je loue.
  • 2 - En tant que superviseur, je peux définir des zones interdites au vélo que je loue.
  • 2 - En tant que superviseur, je suis alerté si un vélo entre dans une zone interdite.
  • 2 - En tant que superviseur, je peux définir un périmètre autorisé au vélo que je loue.
  • 2 - En tant que superviseur, je suis alerté si un vélo sort d’une zone autorisé.

Choix techniques

  • Arduino
  • GPS
  • Bluetooth
  • Lora
  • Gyroscope
  • Beeper
  • Bouton
  • Android Natif
  • API REST en NodeJS

Gestion de projet

  • 24/11/2019 - Version 0

Appli fonctionnelle qui permet d'afficher la postion GPS du téléphone en temps réel et la vitesse.

  • 02/12/2019 - Version 1

Appli fonctionnelle qui permet d'afficher la position GPS en temps réel et la vitesse (données de l'arduino dans un premier temps).

  • 22/12/2019 - Version 2.0

Gérer la flotte avec le téléphone

  • 22/12/2019 - Version 2.1

Gérer une simple flotte. Communication entre les membres en Lora.

  • 31/01/2019 - Version 3

Terminer l'applicatif + Bonus + finir ce qui est pas fini.


En cours

App Android fonctionnelle, affichage GPS temps réel avec API Google Maps. Connectivité Bluetooth Android/Arduino fonctionnelle.

Création API sur instance EC2 AWS. Travail sur la connectivité Lora Arduino/API. Travail sur la connectivité Android/API.

Difficultés et limites rencontrées

Nous étions tous les 4 assez novices à la fois en Arduino et en Android. Il a donc fallu passer un certain temps, non négligeable à nous former un minimum sur ces technologies, conduisant à de la perte d'efficacité en terme d'heure travaillées pour le résultat obtenu. Pour nous former nous avons utilisé la documentation officielle d'Android, qui est, très bien faite, ainsi que des cours en ligne et forums.

Au niveau de la gestion de projet, nous avions fait le choix de se répartir par groupe de 2. La partie plus embarquée et capteurs d'un côté ; et la partie développement mobile et serveur de l'autre. De ce fait, il était simple de ne pas empiéter sur le travail des autres mais en prenant du recul, ce n'était peut être pas la meilleure des stratégies puisque l'intégration de ces 2 parties s'est réalisée vers la fin du projet, un peu dans la précipitation.

Impact Environnemental

L'idéal serait de réaliser une analyse de cycle de vide (ACV). C'est une étude retraçant les impacts des différentes étapes de vie du produit (extraction, fabrication, distribution, utilisation fin de vie). C'est un exercice complexe qui nécessite beaucoup de rigueur et qui ne pourra être traité dans le temps restreint de ce projet. L'idée est ici de pouvoir se donner des ordres de grandeurs afin de comparer son projet à un objet de la vie courante (un vélo, une bouilloire, ...).

Quel impact sur l’environnement ? (Positif, neutre, ou négatif, votre projet permet t'il d'économiser des ressources ou au contraire pousse t'il à la consommation ?) Quel impact en terme de déchets ?

Liste des matériaux utilisés, calcul GES (ex 1kg d'électronique = 500 kg GES), autres pollutions ?

Quel impact en terme d'utilisation réseau ?

Pour un nombre d'utilisateurs donné, combien de Mo de données échangés, de requêtes échangés

Quel impact à l'utilisation ?

Coût financier du projet

Au final, si on devait estimer le coût en euros de notre vélo connecté, on pourrait l'estimer de la sorte :

  • Coût humain
    • Nombre de membre : 4
    • Estimation du nombre d'heure travaillé : 20 jours/homme
    • Coût d'un ingénieur fullstack : 3 125€/mois

Sous-total : 2 016€

  • Coût matériel de développement :
    • 2 Arduino Uno : 2x20€ = 40€
    • 2 Soft shell : 2x5€ = 10€
    • Module Bluetooth : 23€
    • Modules Lora : 2x20€ = 40€
    • Module WIFI : 14€
    • Buzzer : 2€
    • Divers câbles et nappes : 10€
  • Amortissement PC portable à 1 200€ (3 ans) utilisé pendant 6 mois : 1 200x(33.33/100)x(180/360) = 200€
  • Coût d'une instance EC2 en fonctionnement pendant 20 jours, 7h par jour : 20x7x0.013 = 2€

Sous-total : 341€

Coût total : 2 357 €