Fabricarium - partage simplifié : Différence entre versions

De Wiki de Projets IMA
m (Avancement du Projet)
m (Semaine 9 (30/03/2015))
Ligne 140 : Ligne 140 :
 
* Avancée majeure sur la partie software
 
* Avancée majeure sur la partie software
 
** Réalisation des images
 
** Réalisation des images
** Incrustation des différents scénarios d'utilisation selon le [http://boitefablab.plil.net/ modèle validé]
+
** Incrustation des différents scénarios d'utilisation selon le [http://boitefablab.plil.net/boite.php modèle validé]
 
** Début de réflexion de l'incrustation vidéo
 
** Début de réflexion de l'incrustation vidéo
  

Version du 1 mai 2015 à 13:48


Cahier des charges

Présentation générale du projet

Contexte

Dans le cadre de la création récente du fablab de Polytech Lille "le Fabricarium", il est nécessaire de documenter les réalisations qui y sont faites. Chacun de ces projets seront documentés dans une "boite documentaire" au Fabricarium. L'ajout et la modification de ces projets sera possible depuis plusieurs plateformes et pour tout public, sans connaissances préalables.

Objectif du projet

Concevoir et réaliser une “boite documentaire” permettant de partager facilement les réalisations et projets du Fabricarium (FabLab) de Polytech Lille.

Description initiale du projet

Au Fabricarium comme dans tout fablab, il est nécessaire que les réalisations et projets faits au Fabricarium soient documentés et partagés au grand public. Ce public présente des origines très diverses ce qui impose à cette “boite documentaire” d’être la plus simple d’utilisation pour pouvoir partager simplement ses réalisation.


Cette boite documentaire doit permettre de simplement :

  • prendre une vidéo d’une personne désirant expliquer sa réalisation,
  • prendre des photos des objets liés à son projet,
  • ajouter une légende,
  • publier le “reportage” réalisé sur différentes plateformes à l’aide d’un simple bouton.


Les différentes plateformes pourront être un site internet, un smartphone ou une tablette. Sur ces deux dernières plateformes, il pourra être envisagé la réalisation d’une application accessible par tous.

Cette boîte devra être utilisable de 7 à 77 ans, par un public très varié, sans connaissances préalables.

Une extension à cette boite documentaire sera une plateforme permettant aux utilisateurs plus avancés d’ajouter divers éléments à leur projet (textes, présentations, mise en forme, …).


Diagramme pieuvre


Un diagramme bête à corne permet de situer simplement notre système et répond au questions suivantes :

A qui notre projet profite-t-il ?
Au porteur de projet du Fabricarium
Sur quoi agit-il ?
Sur le projet du Fabricarium
Dans quel but ?
Documenter le projet

Diagramme bête à corne



Un diagramme pieuvre prend en compte l'environnement du système et permet d'établir la liste de fonctions suivante :

Fonction principale 
Permettre à l'utilisateur de documenter son projet
Fonction contrainte 1 
Générer la documentation (audio, vidéo ou photo)
Fonction contrainte 2 
Être très facile d'utilisation
Fonction contrainte 3 
Archiver la documentation


Choix techniques retenus : matériel et logiciel

Solution retenue

  • Beagle Bone lien [fournie le 16/02/2015]
  • Batterie (Alimentation USB avec piles) [fournie le 18/02/2015]
  • Ecran LCD 7 à 12 pouces Lien [fourni le 18/03/2015]
  • Boutons poussoirs Lien [fournis le 18/03/2015]
  • Webcam pan & tilt Logitech C270 [fournie le 28/1/2015]


Étapes du projet

Étape 1 - Cahier des charges et choix techniques

  • Élaboration du cahier des charges le plus précis possible
  • Segmentation du projet en 2 parties (hardware et software)
  • Choix du matériel et des technologies utilisées
  • [ pas plus que deux interrupteurs physiques pour une utilisation basique ;-) ]

Étape 2 - Installation du Beaglebone

  • Installation de l'OS et mise en réseau du Beaglebone
  • Configuration de l'interface graphique

Étape 3 - Webcam, bouton et beaglebone

  • Contrôle de la webcam avec Gstreamer
  • Faire communiquer les évènements des boutons avec la prise de photo/vidéo

Étape 4 - Programmation

  • Élaboration du programme du prototype
  • Capture d'une image et d'une vidéo
  • Valider le prototype software par les utilisateurs

Étape 5 - Réalisation du boitier

  • Modélisation du boitier
  • Validation du modèle
  • Réalisation du boitier

Étape 6 - Mise en réseau

  • Réalisation de l'environnement pour les utilisateurs avancés
  • Mise en place du Wiki
  • Créer une spécification fonctionnelle pour les évolutions du projet.


Avancement du Projet

Semaine 13 (27/04/2015)

  • De par la complexité du programme gérant la capture de flux vidéo via la webcam, nous en sommes restés à la prise de photos.
  • Afin de satisfaire tous les utilisateurs, qu'ils soient étrangers ou français, un bouton supplémentaire a été ajouté afin de changer la langue de l'interface (Français/Anglais)

Tout a été testé et fonctionne parfaitement.

    • L'interface web où sont stockées les photos a aussi été modifiée en conséquences.
  • Afin d'éteindre proprement la "boite" (en réalité la Beagle Bone) et non d'arracher violemment le câble d'alimentation, un quatrième bouton a été mis en place.
    • Tout a été testé et fonctionne parfaitement.
  • Côté interface web (ici), l'utilisateur peut télécharger et supprimer les photos qu'il souhaite.
    • Quelques appels de fonctions ont suffi à ajouter aux noms de fichiers la date et l'heure de capture. Ainsi l'utilisateur retrouve aisément ses photos.

/!\ Par la suite, Il serait judicieux d'implanter un système de badge NFC afin que seules les photos prises par cette identification puissent être supprimées sur l'interface web ! (Avec bien entendu une authentification sur l'interface)

Semaine 12 (20/04/2015)

  • Finalisation du software
    • Mise en forme du code
    • Uniformisation des commentaires
    • Rédaction d'un Readme contenant les informations utiles
    • Compilation séparée et propre
  • Réalisation de la vidéo (par nous-même)

Semaine 11 (13/04/2015)

  • Incrustation du flux vidéo dans une fenêtre SDL
  • Recherches sur le CMS
  • Recherches sur l'ergonomie des poignées de la boites

Semaine 10 (06/04/2015)

  • Problème d'alimentation un peu faible pour l'écran, résolu en changeant d'alimentation
  • Tests de capture photo / vidéo
    • Problèmes de puissance de calcul de la board
    • Problèmes de résolution de capture et de fps

Semaine 9 (30/03/2015)

  • Nouveau design temporaire plus spacieux
  • Avancée majeure sur la partie software
    • Réalisation des images
    • Incrustation des différents scénarios d'utilisation selon le modèle validé
    • Début de réflexion de l'incrustation vidéo

Semaine 8 (23/03/2015)

  • Connexion des 2 boutons à la Beaglebone et récupération des informations par scrutation pour naviguer dans l'interface logicielle
  • Résolution du problème d'espace mémoire (nouvelle carte SD 4Go)
  • Recherches d'idée de prise en main de la boite ergonomique et réalisable

Semaine 7 (16/03/2015)

  • Rencontre avec des utilisateurs du Fabricarium. Le prototype en carton est passé de mains en mains et de nombreuses idées en sont ressorties :
    • Prise en main : poignées tout autour de la boîte (exemple : volant Wii)
    • Inclinaison caméra : possibilité d'installer un trépied d'appareil photo
    • Validation de la partie logicielle par tout le monde
  • Réalisation sans succès de différents tests pour afficher correctement l'interface de la Beaglebone sur l'écran reçu cette semaine.
  • Gestion totale du bouton par scrutation : allumage de led, récupération de l'information
  • Problèmes de compilation avec les librairies Gstreamer
  • Problème d'espace mémoire disponible sur la beaglebone

Semaine 6 (09/03/2015)

  • Réalisation du prototype de la boîte (en carton)
  • Choix de la nature de la boîte et emplacement des différents éléments
Prototype en carton à l'échelle

Semaine 5 (23/02/2015)

  • Découverte de la librairie graphique SDL
  • Modélisation du boîtier par une interface Web

Semaine 4 (16/02/2015)

  • Poursuite des tests unitaires, création du prototype par GIF
  • Problème d'utilisation de l'énergie (Contrainte de portativité du système)
  • Installation du Beaglebone, réalisation de l'étape 2 et début de l'étape 3 en attendant le matériel

Semaine 3 (09/02/2015)

  • Recherche pour le matériel
  • Déroulement de différents scénarios, tests unitaires.
    • En ce mettant dans la peau de différents utilisateurs, de différents horizons, de nouvelles problématiques se sont posées.
  • Réalisation d'une maquette prototype qui illustre le fonctionnement
    • Après d'intenses réflexion sur une utilisation la plus simple possible de notre système (aucun clavier, 2 boutons max) nous avons pu commencer l'élaboration d'un prototype décrivant l'utilisation de notre système.
  • Prise en main de la webcam et de Gstreamer à travers uniquement des lignes de commandes

Semaine 2 (02/02/2015)

  • Recherche sur le contrôle de webcam Logitech C270 sur Linux
    • Utilitaire retenu : Gstreamer. Cet utilitaire va nous permettre de contrôler très précisément la webcam. L'utilisation peut se faire en ligne de commande donc l'utilisation à travers notre futur programme principale se fera aisément. Après de nombreux essais, on arrive à capturer des photos et vidéos en ligne de commande.
  • Début des recherches sur le matériel nécessaire
  • Quelques hésitations persistent sur le choix des technologies et du matériel à utiliser (tablette Android ? badge NFC ?)

Semaine 1 (26/01/2015)

Nous nous sommes interrogés sur les technologies à utiliser. Nous avons donc formulé cette liste de questions auxquelles nous allons répondre après entretien avec les responsables concernés.

Pour la boite documentaire :

  • Support de publication (tablette Android, Arduino, Raspberry pi ...)
  • Technologies sans fil (Bluetooth, WiFi ...)
  • Interaction avec l'utilisateur (clavier physique, clavier projeté, écran tactile)
  • Nécessité d'une plateforme mobile ? (partie photo/vidéo indépendante ?)

Pour la capture photo/vidéo :

  • Intégré à la boite ? (ou alors l'utilisateur amène sa vidéo déjà prête ?)
  • Qualité d'image ?

Pour l’extension pour les utilisateurs avancés :

  • Choix d'un Content Management System (Wiki, blog ...)
  • Hiérarchisation (base de donnée, ou simple liste de "reportage" ?)

Après une semaine de réflexion et de discussion avec nos encadrants, nous avons pu réaliser le cahier des charges et répondre à une bonne partie de ces questions.

Liens externes

Les sujets de projets
Prototype actuel de la boite
Codes sources disponibles sur GitHub



http://www.e-boutet.fr/Upload/Produits_Photo/poignee_diablo_p242_10102008171058.jpg
http://www.mapoigneedemeublepascher.com/14-16-thickbox_default/poignee-de-meuble-inox-barreau-diam-11mm-96mm.jpg
http://www.e-boutet.fr/Upload/Produits_Photo/poignee_fabula_p225_10102008161033.jpg
http://www.e-boutet.fr/41/Poignees-avec-tube-aluminium-entraxes-180-a-600mm/Poignee-Diablo-avec-tube-aluminium-o-20-mm-entraxe-180-a-600-mm.html
http://www.decoetcompagnie.com/boutique/images_produits/tringle-auro-corner-court.jpg