Extensions XBMC/FicheSuivi

Cette page wiki se veux être une fiche de suivi interactive du projet "extensions XBMC" d'un groupe d'étudiants de la promotion RICM5 2014. Interactive, car nous suivons pour ce projet une méthodologie de type Agile. Revenez donc régulièrement consulter cette page pour suivre ses dernières évolutions, mises à jour et modifications ! Si le sujet de notre projet vous plaît, que vous avez des questions ou remarques, n'hésitez surtout pas à nous [mailto:xbmc_ricm5@googlegroups.com contacter] :)

=Le projet de fin d'année en RICM5=

Ce projet, d'une durée de 8 semaines

=Présentation du sujet=

L'objectif de ce projet de 8 semaine est de créer de nouveaux plugins pour le media center XBMC. Les plugins qui seront développés vont permettre d'ajouter les fonctions suivantes :
 * Réalisation d'un plugin de domotique basé sur OpenHab
 * Réalisation d'une interaction avec les lampes Philips Hue
 * Réalisation d'un plugin permettant de controler des caméras de surveillance D-Link
 * Amélioration de la télécommande Android developpé par la "Team-XBMC" :
 * Ajout d'un système permettant de rendre la télécommande réflexive
 * Ajout d'une fonction NFC permettant de lancer de la musique (par genre ou album)

= Spécifications =

Reconnaissance vocale
S.A.R.A.H (Self Actuated Residential Automated Habitat) est un système de maison intelligente connectée à l'internet des objets.

Installation
Prérequis: Microsoft .NET 4.5, Microsoft Speech Platform, Speech Platform Runtime, (SDK Kinect); http://domotique-info.fr/2014/02/sarah-installation-premiers-pas/

Lien du tutoriel : http://encausse.wordpress.com/2013/02/16/s-a-r-a-h-tutorial-plugin-xbmc/


 * Télécharger l'archive (version actuelle: 3.1.4) http://encausse.wordpress.com/s-a-r-a-h/
 * Extraire dans un dossier dont le chemin ne comporte pas d'espaces
 * Dans le répertoire "plugins", créer un dossier "xbmc"
 * Télécharger l'archive https://github.com/PasDeBol/Sarah-Plugin-Xbmc
 * Copier le contenu du répertoire "plugins" de la nouvelle archive (excepté addonSarahAndXbmc.V1.0.zip) dans le dossier "/plugins/xbmc" précédemment créé
 * Modifier le fichier xbmc.prop :
 * remplacer "[FIXME]:[FIXME]" par "127.0.0.1:8077"
 * Décompresser l'archive addonSarahAndXbmc.V1.0.zip présente dans "Sarah-Plugin-Xbmc-master/Sarah-Plugin-Xbmc-master/plugins"
 * Copier le répertoire "sarah.addon" dans le dossier "addons" de XBMC

Configuration de XBMC

 * System/Services/Webserver
 * Autoriser le contrôle d'XBMC via HTTP
 * Port : 8077
 * Supprimer le nom d'utilisateur
 * Supprimer le mot de passe
 * System/Services/Remote control
 * Tout autoriser
 * System/System/Video output
 * Mode fenêtré
 * System/System/Audio output
 * Play GUI Sounds : Never


 * Vérification de la configuration
 * "localhost:8077" doit vous rediriger vers l'interface d'XBMC
 * "localhost:8080" doit afficher l'interface web de SARAH
 * Cliquer sur l'icône "actualiser" du plugin XBMC
 * Cliquer sur l'icône "planète" (documentation)
 * Cliquer sur "Test de la configuration" et vérifier que tous les contrôles soient OK

Exécution

 * Dans l'archive "WSRRelease314", lancer "Server_NodeJS.cmd"
 * Lancer "Client_Microphone.cmd"
 * Pour tester, dire "Sarah, il est quelle heure ?"
 * Si Sarah répond, lancer XBMC
 * Dire "Sarah, active le mode XBMC"
 * À partir d'ici, toutes les commandes de Sarah sont utilisables (récapitulatif ici : https://github.com/PasDeBol/Sarah-Plugin-Xbmc/blob/master/info/liste%20compl%C3%A8te%20des%20commandes.txt)

=L'équipe projet=

Team:
 * Nicolas Afonso (Chef de projet)
 * Jean-François Bianco
 * Pierre Lartigue
 * Elisa Martinez
 * Rebecca Poustis

= Suivi de l'avancement du projet =

Sprint 1 (semaine 5) : 27 janvier au 2 février
Lundi : Mardi : Mercredi : Jeudi :
 * MPI et Séminaire
 * Choix du projet
 * Recherche documentaire sur les différentes technologies envisagées pour le projet
 * Définition des différentes tâches réalisables suite à nos recherches.

Sprint 2 (semaine 6) : 3 au 9 février
Objectifs : Lundi : Mardi: Mercredi : Jeudi : Vendredi :
 * Ecrire le cahier des charges du projet afin de chiffrer la durée de chaque tâche et leur priorité
 * Etudier la réalisation de plugins sur XBMC et réaliser un HelloWord
 * Commencer les premières tâches décidées dans le cahier des charges
 * MPI et Séminaire
 * Finalisation du cahier des charges
 * Hue : Communication avec le système et découverte plugin XBMC
 * OpenHab : Création du plugin, étude approfondie d'OpenHab
 * MPI
 * Hue : Intégration à XBMC du code python, et configuration de l'interface de paramétrage
 * OpenHab : Récupération des Etages de la maison, et affichage dans XBMC

Sprint 3 (semaine 7) : 10 au 16 février
Objectifs :
 * Extension OpenHab : Listes dynamiques des pièces de la maison avec sous menus dynamiques
 * Utilisation de l’algo de détermination de k couleurs dominantes (méthode basée sur k-means)
 * Extension Philips Hue : intégration de la synchronisation des lampes avec l’image à l’écran. Prise en compte de la vidéo

Lundi : Mardi : Mercredi : Vendredi :
 * MPI et Séminaire
 * OpenHab : Recherche sur la navigation dans les menus et traitement des exceptions pouvant être générée.
 * OpenHab : Mise en place de la navigation dans les différentes pièces de la maison, et affichage dans le menu de l'ensemble des capteurs. Etude sur l'utilisation de label générique pour l'affichage des informations et des messages d'erreur.
 * OpenHab : Etude sur les techniques pour réaliser l'interface XBMC d'une pièce. Prototypage à l'aide d'une librairie python de l'affichage des capteurs.

Sprint 4 (semaine 8) : 17 au 23 février
Objectifs :
 * Extension OpenHab : Récupération et modification des informations des différentes pièces de la maison
 * Extension reflexive remote : Etude de l'existant et compréhension du code
 * Extension caméra de surveillance : Intégration dans XBMC (interaction de l'utilisateur avec la caméra depuis l'interface)

Lundi : Mardi : Mercredi : Jeudi : Vendredi :
 * Openhab : recherche affichage des labels à partir de fichier XML
 * Openhab : gérer l'affichage des labels et de leurs valeurs, à partir du framework PyXBMCt (http://romanvm.github.io/PyXBMCt/)
 * Openhab : gérer l'affichage des labels et de leurs valeurs, mise en œuvre du framework dans l'interface
 * Openhab : finalisation de l'affichage des labels et de leurs valeurs, gestion des exceptions et tests du plugin
 * Reflexive remote : étude de l'existant

Sprint 5 (semaine 9) : 24 au 28 février
Objectifs :
 * Finalisation des plugins : nettoyage et restructuration du code
 * Extension reflexive remote
 * Intégration de NFC
 * Re-priorisation des objectifs

Lundi :
 * Openhab : écriture de la doc
 * Caméra : auto-configuration

Mardi :
 * OpenHab : Validation du plugin
 * NFC : Compréhension de NFC et Android
 * Caméra : Finalisation du plugin
 * Re-priorisation des objectifs : rendez-vous avec N. Palix

Mercredi :
 * NFC : Intégration dans la remote
 * Reflexive remote : Ecriture du cahier des charges
 * Reflexive remote : Récupération du menu principal

Jeudi :
 * NFC : Ecriture d'un tag particulier pour lancer un menu de xbmc
 * Reflexive remote : Intégration de OpenHab

Vendredi :
 * NFC : finalisation de l'application
 * Reflexive remote : Finalisation, récupération de la liste des addons

Sprint 6 (semaine 11) : 10 au 14 mars
Objectifs :
 * Terminer la reflexive remote
 * Récupérer le menu principal de XBMC sous forme de liste
 * Ajouter Open Hab dans le menu principal
 * Modifier la remote avec les nouveaux menus et les rendre dynamiques
 * Déterminer le protocole de communication entre la télécommande et le serveur XBMC
 * Gérer la navigation (afficher les listes ou exécuter les plugins)
 * Rafraîchir automatiquement la télécommande lors de la sortie de veille, ou en appuyant sur un bouton

Lundi :
 * Ajout d'OpenHab dans le menu principal
 * Début de l'étape 3: modifier l'interface de l'application selon l'entrée (si c'est une liste l'afficher, sinon lancer la télécommande)

Mardi :
 * Etape 3: suite

Mercredi :
 * Etape 3: suite

Jeudi :
 * Etape 3: fin

Vendredi :
 * Documentation de l'étape 3
 * Documentation des dépôts BitBuckets pour les différents plugins
 * Rédaction du dossier pour le Management de Projet Innovant

=Rendu Final=

= Documents et liens annexes =