Outils pour utilisateurs

Outils du site


cours:oc:gr7_16_17:gr7_16_17

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cours:oc:gr7_16_17:gr7_16_17 [2016/11/30 22:18]
bmessiha
cours:oc:gr7_16_17:gr7_16_17 [2017/02/19 23:49] (Version actuelle)
bmessiha [Installation]
Ligne 21: Ligne 21:
  
  
-Bob utilise notre objet qui est un support des verres qui fait une sorte de liaison entre l'​utilisateur et un appareil (i.e. un TV). Il envoie des commandes à l'​objet par des paroles. Ensuite l'​objet transforme ces commandes en des signaux infrarouges au TV, pour le contrôler. Par exemple, si Bob dit “chaîne suivante”,​ l’objet applique cette commande au TV. De plus, Bob peut recevoir des informations de l'​objet par l’écouteur. Exemple: si le support ne peut pas être connecté au TV, il fait un alerte.  +Bob utilise notre objet qui est un support des verres qui fait une sorte de liaison entre l'​utilisateur et un appareil (i.e. un TV). Il envoie des commandes à l'​objet par des paroles. Ensuite l'​objet transforme ces commandes en des signaux infrarouges au TV, pour le contrôler. Par exemple, si Bob dit “chaîne suivante”,​ l’objet applique cette commande au TV.
  
 L’objet a une place pour différents taille de verre/vase. Alors Bob peut l’utiliser comme un support des verres. L’objet a une place pour différents taille de verre/vase. Alors Bob peut l’utiliser comme un support des verres.
Ligne 57: Ligne 56:
 ==Description de chaque élément:​== ==Description de chaque élément:​==
   * Utilisateur : il parle à l’objet connecté (le support des verres connecté), en lui donnant des commandes , pour qu’il assure certaines fonctionnalités.   * Utilisateur : il parle à l’objet connecté (le support des verres connecté), en lui donnant des commandes , pour qu’il assure certaines fonctionnalités.
-  * L’objet : C’est le coeur du système. Le support des verres, contenant le Raspberry Pi, est responsable à la comprehension des commandes dites par l’utilisateur,​ à l’aide de Google STT et TTS services. Il transforme ces commandes sous forme des rayons infrarouges et le transmet au TV. De plus, l’utilisateur peut commander en utilisant les boutons.  +  * L’objet : C’est le coeur du système. Le support des verres, contenant le Raspberry Pi, est responsable à la comprehension des commandes dites par l’utilisateur,​ à l’aide de Google STT services. Il transforme ces commandes sous forme des rayons infrarouges et le transmet au TV. De plus, l’utilisateur peut commander en utilisant les boutons.  
-  * Google STT et TTS services (Speech to Text and Text to Speech) : API responsable de la transformation des paroles de l’utilisateur sous forme des textes et vis versa.+  * Google STT services (Speech to Text) : API responsable de la transformation des paroles de l’utilisateur sous forme des textes et vis versa.
   * TV : C’est le récepteur final, sur lequel les commandes de l’utilisateur vont être appliquées .  ​   * TV : C’est le récepteur final, sur lequel les commandes de l’utilisateur vont être appliquées .  ​
  
Ligne 69: Ligne 68:
 Service rendus par l'​objet: ​ Service rendus par l'​objet: ​
   * L’objet applique les commandes vocales de l’utilisateur pour gérer l'​émetteur infrarouge et contrôler le TV.   * L’objet applique les commandes vocales de l’utilisateur pour gérer l'​émetteur infrarouge et contrôler le TV.
-  * L’objet peut interagir avec l’utilisateur,​ il peut lui donner des informations et des alertes par l'​écouteur. ​ 
  
 Service utilisé par l'​objet:​ Service utilisé par l'​objet:​
-  * Google STT et TTS – Speech to Text and Text to Speech.+  * Google STT – Speech to Text.
  
 === Emplacement Matériel et Connectique === === Emplacement Matériel et Connectique ===
Ligne 83: Ligne 81:
   * Le microphone et la carte son USB sont branchés au raspberry de l’autre côté (la face de l’utilisateur).   * Le microphone et la carte son USB sont branchés au raspberry de l’autre côté (la face de l’utilisateur).
   * Une ouverture sur la façade de la boite est  responsables au passage des rayons infrarouge émis vers le TV.   * Une ouverture sur la façade de la boite est  responsables au passage des rayons infrarouge émis vers le TV.
-  * Les quatre boutons, dont les rôles sont de changer la chaîne ​et ainsi changer le volume, sont mis dans des autres ouvertures qu’on a déjà crées.+  * Les quatre boutons, dont les rôles sont de commander directement le TV et ainsi commencer la recognition du son, sont mis dans des autres ouvertures qu’on a déjà crées.
   * Le support de verres est organisé sous des formes différentes pour être capable de contenir de tailles différentes des verres.De plus, il a les cotes ouverts pour s’adapter a tous les formes des verres. ​   * Le support de verres est organisé sous des formes différentes pour être capable de contenir de tailles différentes des verres.De plus, il a les cotes ouverts pour s’adapter a tous les formes des verres. ​
  
Ligne 93: Ligne 91:
 {{:​cours:​oc:​gr7_16_17:​capture2.png?​300|}} {{:​cours:​oc:​gr7_16_17:​capture2.png?​300|}}
  
 +
 +=====RENDU FINAL=====
 +
 +
 +====Reste à faire====
 +
 +Notre projet est complet et fonctionnel pour la commande du TV par des commandes vocales depuis l’utilisateur,​ et aussi par des boutons. Ce qui reste à faire est de contrôler autre appareil UPNP, (exemple: Network Light) par le même type des commandes. L'​intérêt de ça est que nous voulons créer un objet qui sera la moyenne de communication avec les autres périphériques de la maison. Alors c’est important que notre objet contrôle, avec la commande vocale, la lumière, la music, la machine à laver...etc.
 +
 +**Comment appliquer ça:​** ​
 +  * Ajouter la possibilité de changer la télécommande (IR remote) dynamiquement avec une action en donnant en paramètre la télécommande exigée (exemple: TV Samsung). Cet action peut être exécuté avec la commande vocal du l’utilisateur.
 +  * Modifier l’architecture en encapsulant en plus les services: Faire une service pour la reconnaissance vocale + une autre service pour l’analyse de la phrase reconnue, au lieu de les faire dans une seule service. Ce qui va nous donner une flexibilité pour utiliser seulement la reconnaissance vocale et aussi pour ajouter plus de fonctionnalité au niveau d’analyse (exemple: analyser la phrase pour savoir si l’utilisateur veut changer la télécommande).
 +  * La service d’analyse qui sera implémentée dans la raspberry pi, va changer l'​événement de la commande qui correspond au périphérique UPNP mentionné dans la phrase de l'​utilisateur. Exemple: L’utilisateur dit “ Turn on the light”. Le périphérique choisit sera les lampes connectées,​ et la commande sera “turn on”.. ​
 +  * Pour contrôler un autre appareil (qui exige par exemple HTTP request), profitant de notre architecture modifié, il va falloir ajouter un bean qui utilise comme événement depuis la raspberry pi la commande vocale analysée, et exécute une action pour contrôler l’appareil (exemple: si on veut communiquer avec un smart TV avec votre objet).
 +
 +====Code Source====
 +  * Embarqué (UPnP): https://​github.com/​bichoymessiha/​PyUPnP-VoiceControl
 +  * Wcomp Source : {{:​cours:​oc:​gr7_16_17:​wcomp.zip|}}
 +====Installation====
 +
 +===Installation réseaux===
 +On a configuré la rasp de sorte qu'​elle connecte automatiquement au réseau privé (mobile hotspot).
 +Il faut d'​abord choisir le réseau sur lequel vous allez connecter et suivre les étapes du lien suivant pour la rendre la connection par default: http://​weworkweplay.com/​play/​automatically-connect-a-raspberry-pi-to-a-wifi-network/​
 +
 +Installer PuTTY pour la connection ssh
 +Utilisateur:​ pi
 +Mot de passe: root
 +
 +===Installation matérielle===
 +  * Brancher l'​émetteur IR dans le port RPISER (serial du raspberry pi) 
 +  * Brancher la carte son usb avec le micro.
 +  * Brancher les boutons sur les port D2,D3,D4,D7
 +      * D2 : Commencer la reconnaissance vocale
 +      * D3 : Bouton Power
 +      * D4 : Bouton Mute
 +      * D5 : Bouton Volume up
 +===Installation et démarrage du raspberry===
 +
 +1- Démarrage UPNP depuis la carte originale:
 +  * Lancer ​ “main.py” (sudo python main.py) depuis l'​espace ~/​PyUPnP-master/​examples/​mediaserver/​
 +2- Installation from scratch et configurations logiciels et matériels:
 +Tout d'​abord,​ il faut installer la version raspbian jessie lite version 4.4.21-v7 sur la raspberry
 +Il faut ensuite installer les composantes suivantes:
 +  * Sudo apt-get install Python 2.7 Python-pip
 +  * sudo pip install soappy ​
 +  * sudo pip install twisted
 +  * Telecharger et installer GrovePi via le lien suivant https://​www.dexterindustries.com/​GrovePi/​get-started-with-the-grovepi/​setting-software/​ puis executer la commande d’installation.
 +  * Téléchargez le repository 1 : suivant: https://​github.com/​fuzeman/​PyUPnP,​ il contient les fichiers sources python UPNP de base. Ça sera le dossier principale de notre projet.
 +  * Téléchargez le repository 2 : suivant: https://​github.com/​bichoymessiha/​PyUPnP-VoiceControl,​ il contient notre fichiers sources pour ce projet. Puis copiez les fichiers du dossier “service” dans le dossier “pupnp/​services”. Puis copiez le contenu du dossier “examples” dans le dossier “examples/​mediaserver”
 +  * Executez la commande “python setup.py install” depuis l'​espace “PyUPnP/​” créer par le repository 1.
 +  * Enfin Lancer ​ “main.py” (sudo python main.py) depuis l'​espace ~/​PyUPnP-master/​examples/​mediaserver/ ​
 +
 +===Installation et démarrage du WComp===
 +
 +  * Il faut ajouter le fichier binaire Raspberry_Pi_Voice_Commander.UPnP2Bean.dll sous la directoire Beans sous la directoire d'​installation de SharpDevelop. Ce fichier contient le UPnP device.
 +  * Sous SharpDevelop : Fichier → Nouveau → Fichier… → Sélectionner la catégorie WComp.Net et choisissez C#Container → Créer. ​
 +{{:​cours:​oc:​gr7_16_17:​container.png?​300|}}
 +  * Importer directement les containers : WComp.NET → Import … et sélectionner le fichier .wcc précédemment téléchargé.
 +
 +====Photos====
 +
 +
 +
 +Copie d'​écran de la composition
 +
 +{{:​cours:​oc:​gr7_16_17:​design.png?​400|}}
 +
 +Copie d'​écran de Device Spy
 +
 +{{:​cours:​oc:​gr7_16_17:​devicespy.png?​400|}}
 +
 +Photo de l'​objet démonté ​
 +
 +{{:​cours:​oc:​gr7_16_17:​untitled_presentation.png?​600|}}
cours/oc/gr7_16_17/gr7_16_17.1480540702.txt.gz · Dernière modification: 2016/11/30 22:18 par bmessiha