II. Installation logicielle
J'ai testé différentes suites logicielles pour cette installation, car il fallait en trouver une supportant facilement la carte Hifiberry. J'étais parti au début sur la suite piCorePlayer, très légère, et supportant le matériel:
Mais finalement je me suis orienté vers Max2Play, qui intègre maintenant Squeezeplug, que je vous avais présenté ici. Plusieurs raisons à cela:
- une installation ultra simple, il suffit de copier les fichiers sur la micro SD. Pas besoin d'utilitaire pour écrire l'image sur la carte, un simple glisser déposer.
- une gestion complète via interface web, pas une seule ligne de commande à taper
- le support de différents plugins pratiques, avec des nouveautés qui sortent assez régulièrement
- certaines fonctionnalités pré installées comme le plugin Airplay
- etc…
Seule chose à signaler, l'obligation d'acheter une licence à 9€ pour pouvoir utiliser la carte Hifiberry (ce qui débloque aussi d'autres options du Raspberry). Pas vraiment cher, étant donné que la même licence peut être utilisée sur les 7 Raspberry pi.
Note: il semblerait que la version gratuite intègre maintenant les cartes Hifiberry.
2.1 Installation de la partie commune
Les 7 raspberry pi ont la même base commune. Seuls quelques ajustements seront faits à la fin entre les clients et le serveur.
On commence donc par télécharger Max2Play, qui une fois décompressée va nous donner ces fichiers. Il suffit de les copier coller sur notre carte micro SD:
Il ne reste plus qu'à insérer la micro sd dans le Raspberry pi et à le démarrer (tous les branchements ont été faits précédemment). Pas besoin de brancher un écran, il suffit d'attendre un quart d'heure que l'installation se fasse automatiquement. Au bout d'un quart d'heure, un appareil (ou plusieurs si vous faites tout dans la foulée) devrait apparaitre sur votre réseau. Il suffit de taper l'adresse IP dans votre navigateur pour accéder à l'interface.
Si vous êtes curieux, si on branche un écran, voici ce qu'on verra:
Le défilement de l'installation en cours:
Puis après un redémarrage les informations habituelles au démarrage du Raspberry Pi. Bref, rien qui ne demande votre intervention, c'est automatique, donc on peut se passer de brancher un écran.
Quand on saisit l'adresse IP du raspberry dans le navigateur internet, on arrive sur cette page, qui nous présente un peu la solution:
Plusieurs onglets sont disponibles pour configurer différentes options. L'onglet Audioplayer donne accès aux réglages du client Squeezelite, Airplay (appelé ici Shairport), DLNA, etc…
On peut sélectionner la sortie audio à utiliser, mais comme on le voit la carte Hifiberry n'est pas proposée, nous n'avons que les sorties habituelles du RPI:
Il faut en fait acheter une licence sur le site Max2Play, qui donnera accès à l'ensemble des plugins de la solution. A payer une seule fois pour tous les Raspberry, ce qui reste très correct.
Une fois la licence achetée, il suffit de se rendre dans l'onglet “Settings/Reboot” et d'indiquer l'adresse mail utilisée pour acheter la licence. On peut en profiter aussi pour donner un nom au Raspberry (exemple Salon, Chambre, etc…, c'est le nom qui apparaitra sur le réseau et pour la gestion du multiroom). On peut aussi sélectionner la langue française (tous les textes ne sont pas traduits, mais une bonne partie tout de même):
Tout en bas de la page, on peut indiquer le lien de téléchargement des plugins et les activer:
On indique donc ici le lien http://shop.max2play.com/media/downloadable/currentversion/raspberrysettings.tar pour installer l'extension qui permettra d'utiliser la carte Hifiberry, puis on clique sur “Install new plugin”.
L'installation se fait automatiquement:
Il ne reste plus qu'à activer le plugin “Raspberry Settings” en le sélectionnant, en cliquant sur le bouton “>” pour le passer dans les plugins activés, puis d'enregistrer avec le bouton juste en dessous:
Un nouvel onglet “Raspberry Settings” apparait. En se rendant dessus, une liste déroulante permet de sélectionner notre carte HifiBerry. Comme on le voit différents modèles sont supportés:
On peut aussi overclocker le Raspberry si on le souhaite, mais ce ne sera pas nécessaire ici:
Une fois les réglages enregistrés, il nous est signalé que notre carte Hifiberry ne peut pas être utilisée par plusieurs logiciels simultanés. Autrement dit, elle ne pourra ici pas être utilisée par Squeezelite et Shairport :/ Pas de soucis, nous utiliserons une autre astuce, indiquée d'ailleurs par Max2Play.
Pour que la carte soit disponible dans Squeezelite, il faut redémarrer le Raspberry Pi. On peut le faire facilement via le bouton “Reboot” dans l'onglet Settings.
Une fois le Raspberry redémarré, on se rend dans l'onglet Audioplayer, puis “Edit Advanced Options”:
On sélectionne la carte Hifiberry (celle avec sysdefault fait l'affaire), et dans Alsa Parameter personnellement j'ai modifié en 2000:4:: qui permet d'avoir 2000ms de cache pour éviter toute coupure de son:
Au passage on peut désactiver le lancement de Shairport au démarrage, puisqu'il ne sera finalement pas utile.
Enfin, une mise à jour Max2Play sera sans doute proposée, cette suite évoluant assez régulièrement. On peut donc lancer la mise à jour, via l'onglet Settings:
Ces manipulations sont donc à faire pour chaque Raspberry Pi. Les connaisseur pourront faire une copie de la première carte et la dupliquer sur les autres, mais la configuration présentée ici va assez vite à réaliser.
Passons maintenant aux petites spécificités.
2.2 Installation du serveur
Ayant un Nas Synology à la maison, on pourrait se demander pourquoi je n'ai pas installé la partie Squeezebox serveur sur le Nas tout simplement. En fait je me suis heurté à un problème durant mes tests pour avoir la compatibilité Airplay.
Sur Max2Play, nous avons Shairport, qui permet d'avoir le Airplay sur le Raspberry. Sauf que la carte Hifiberry ne peut pas être utilisée à la fois par Squeezelite et Shairport (je n'avais en effet aucun son sur ce dernier). Dans ce cas Max2Play indique une astuce, en installant un plugin Airplay directement dans la partie Squeezebox, puisqu'il est possible d'y installer de nombreux plugins. Ainsi comme tout est géré par Squeezelite, celui ci switche automatiquement le son comme il faut. Problème: le plugin en question est un peu compliqué à installer, sur le Synology il nécessitait diverses lignes de codes à exécuter en console. D'une part malgré les tutos je n'ai pas réussi à le faire fonctionner, d'autre part ces modifications du système sont écrasées à chaque mise à jour Synology, il aurait donc fallu refaire la manip à chaque fois. Ce n'est pas le plus pratique :/ C'est pourquoi j'ai finalement décidé d'installer la partie serveur sur un Raspberry Pi, en prenant un RPI 2 pour ne pas avoir de problème de performances (puisqu'il fera office de serveur ainsi que de client pour le séjour). Et là, le plugin s'installe tout seul, puisqu'il est proposé directement par Max2Play :D
Pour installer la partie serveur, on commence donc par aller dans l'onglet Squeezebox Server, on clique sur “Show available Versions” pour récupérer les versions disponibles de LMS (Logitech Media Server), puis on clique sur “Démarrer l'installation de Squeezebox Server”:
L'installation prend quelques minutes mais se fait automatiquement:
Veillez bien à cocher “Démarrage automatique Squeezebox Server” pour qu'il se lance automatiquement quand le Raspberry Pi démarre.
Enfin, tout en bas, sélectionnez le plugin “Shairtunes Plugin” et cliquez sur “Install choosen Plugin”. Le plugin Airplay va s'installer tout seul sur la partie Squeezebox Server”.
Dernière étape: perso ma musique est hébergée sur mon Nas. On va donc ajouter le partage réseau. Pour cela on va sur l'onglet “Système de fichiers monté”, et on ajoute un partage réseau comme indiqué dans l'exemple, en renseignant le chemin réseau vers l'endroit où se trouve votre musique, en indiquant ensuite vers quel répertoire du Raspberry ce dossier sera monté, puis en indiquant les identifiants pour pouvoir se connecter à ce partage réseau:
Si vous n'avez pas de Nas, votre musique peut tout à fait être stockée sur un disque dur externe branché en Usb au Raspberry faisant office de serveur.
Redémarrez ensuite le Raspberry. Une fois redémarré, revenez dans l'onglet Squeezebox Server et cliquez sur le lien “Open Squeezebox Server Webadministration”. Vous accéderez à l'interface de gestion du système Squeezebox. La première fois le système vous demandera d'indiquer où se trouve votre musique, vous indiquerez donc le dossier monté précédemment.
Rendez vous ensuite dans les paramètres, en cliquant tout en bas à droite. Ensuite, rendez vous dans l'onglet Plugins, et veillez bien à ce que le plugin Shairtunes soit activé pour pouvoir bénéficier de l'Airplay.
Si vous voulez également profiter de Spotify, décochez le plugin Spotify d'origine, pour activer celui de Triode, qui fonctionne nettement mieux (s'il n'apparait pas cochez en bas “afficher les plugins tiers”). Il faudra en revanche avoir un compte Premium pour pouvoir profiter de Spotify. Les identifiants de votre compte Spotify devront être renseignés en cliquant sur “Paramètres” à côté du nom du plugin.
Ces deux plugins vous permettront d'avoir Airplay sur chacune de vos Squeezebox, ainsi que Spotify :D
C'est fini pour la partie serveur.
2.3 Installation du client
On va finaliser l'installation des Raspberry faisant office de clients en installant le plugin SD Card Protection. Ce plugin a pour effet de mettre la carte SD en lecture seule afin de protéger le système de toute mauvaise manipulation ou de coupure de courant (ce qui évitera à la micro sd d'être corrompue).
On retourne donc dans la configuration Max2Play, puis on indique le lien http://shop.max2play.com/media/downloadable/currentversion/sdcardprotection.tar dans la partie ajout de plugin. On clique sur “Install new Plugin”.
Comme d'habitude, l'installation se fait toute seule.
Un nouvel onglet apparait “SD Card Protection”. Une fois sur cet onglet, cliquez sur “Install” pour que le plugin soit actif.
Vous verrez apparaitre le message “Enabled” vous confirmant que la protection est bien active.
Un message en jaune apparaitra également sur les différents onglets vous rappelant que la protection est active. Si jamais vous avez besoin de modifier un paramétrage, il suffira de revenir sur l'onglet SD Card et activer l'écriture jusqu'au prochain redémarrage.
Attention: ne surtout pas activer ce plugin sur le Raspberry faisant office de serveur, sinon le serveur Squeezebox ne fonctionnera plus (il faudra désinstaller le plugin SD Card).
Il est temps maintenant de voir comment s'utilise ce système multiroom. Suite page suivante…
Wahoo, le projet et la réalisation sont vraiment impressionnantes.
Il ne manque plus que la détection automatique de la pièce dans laquelle tu te trouve pour que le son te suive lorsque tu te déplace chez toi ;)
En tout cas, chapeau
Merci ! Le suivi de la musique devrait être réalisable avec le plugin Jeedom qui va arriver. J’ai des détecteurs de mouvement dans chaque pièce, il devrait être facile de lancer une synchro entre les différentes pièces en fonction de la présence des personnes, et couper les pièces inoccupées. Ca fera l’objet d’un prochain article ;-)
Bonjour Cedric,
Your blog about building a 7-board Hifiberry setup is very similar to something I am trying to do. There is however one thing that I am struggling with: power supply.
I have only a very basic knowledge of electronics, and am trying to find a correct power supply to buy. I will have probably 8-10 Raspberry-2 boards, each with Hifiberry Amp2.
Hifiberry tells me to supply 55-60W per board at preferably 18V DC. After trying and trying, I am unable to find which power supply to buy and where.
Do you have any tips for me what and where to buy? I live in the Netherlands, so it needs to be from a shop which delivers to there.
I hope you can help and give some advice.
Merci! – Gerard
Je te retourne le compliment, très belle intégration ;)
Petite question –> je souhaite également faire du multiroom. Par contre je n’ai pas de cable audio qui se ballade dans mes murs ;(
Je pense donc brancher le tout en Wifi (est-ce assez stable ? )
Comment gérer l’alimentation du hifiberry au cas par cas ?
J’ai déjà une bibliothèque itunes très bien rangée et organisée !!! des heures et des heures de recherche !! sera-t-elle compatible avec le server squeezbox ?
Merci d’avance pour les réponses et bravo !!
Salut Cédric!
Merci de cet excellent tuto en complément de celui d’Aurel de domoblog.
N’y connaissant rien en RPi et souhaitant me lancer, notamment pour du multiroom audio, j’ai une question.
Est-ce possible d’utiliser le RPi2 pour le server et de coller une jeedom dessus aussi?
ou autre soft, genre Mysensors? ou un module Bluetooth pour lier du parrot Flower Power?
ou bien est-ce : un Pi, un soft?
Merci
j’ai la même question pour le wifi.
faut-il le laisser actif comme Korben le présente ici:?
http://korben.info/raspberry-pi-comment-garder-le-wifi-toujours-actif.html
pour l’alim voici ce qu’il faut:
https://www.hifiberry.com/guides/connecting-power-supply-and-speakers-to-the-hifiberry-amp/
Squeezbox gère parfaitement mon dossier de musique très bien rangé; tout comme le fait iTunes. La présentation peut varier en fonction de l’appli télécommande que tu vas utiliser
Top top tout ça ! Ça me donne envie de tester cette fameuse carte, merci pour ce retour d’expérience !
Merci pour ce super tutos, J’ai mis en place la solution chez moi en une après midi :) (deux RPi branché sur un ampli + un Rpi pour le serveur).
Il faut que je trouve un moyen d’interfacer ça avec Fibaro
On est d’accord qu’il me faut 2 Alimentations : 1 pour RPI et 1 pour Hifiberry ???
Non, le hifiberry alimente le RPi en retour.
il n’en faut qu’une pour le Hifiberry
Avec ton dernier article, tu m’avais déjà donné très envie, mais je n’avais pas de solution pour Airplay, c’est maintenant fait. Bravo ! Je ne savais pas qu’il pouvait être géré côté serveur. Avec ce système, je peux même recycler de vieux téléphones Android comme clients multiroom sans fil.
Les 25W mesuré, c’est donc l’alimentation des 7 Pi + switch réseau, en idle je suppose ? As tu mesuré en diffusion à volume “moyen” sur les 7 ?
Oui le wifi doit être toujours actif, les clients Squeezebox ouvrent une connexion permanente pour réagir immédiatement aux ordres (vérifiable avec netstat -n sur un serveur squeezebox sous Windows)
Excellent article ! rien à redire à tel point que je vais me lancer :)
Une question néanmoins : est-ce que depuis un iphone/ipad on est en mesure de diffuser en airplay sur plusieurs clients simultanément ? (en utilisant la liste native des devices airplay détectés sur le réseau) ou est-ce seulement depuis l’interface Web ?
Merci pour ce dernier petit détail avant que je me lance :)
Il y a bien une appli payante “multiroom by Whaale” mais c’est pas optimal.
Merci !
Oui, je confirme, le Rapsberry récupère l’alim de la carte Hifiberry, il n’en faut donc qu’une seule en 12v.
Oui, ca doit être faisable. Tu peux installer un OS “classique” type Debian, puis ensuite installer les paquets pour Jeedom, Squeezelite, etc… Par contre ca nécessite quelques compétences en Linux, l’avantage des images toutes faites est que ca fonctionne direct.
Oui, j’ai testé en allumant tous les Raspberry à volume intermédiaire, mais bizarrement la conso n’a pas augmenté. J’oscille entre 24 et 25w maximum. Par contre le switch n’est pas dans les 25w (il n’y a que les 7 RPI avec leurs cartes), mais il ne doit pas consommer beaucoup.
De base, non, j’ai jamais réussi. Certains avaient évoqué l’idée d’ailleurs d’utiliser des bornes Airport Express pour balancer la musique qu’on veut dans la pièce qu’on veut, mais dans tous mes tests je n’ai réussi à envoyer que la même musique partout. Pas un vrai multiroom, donc.
C’est apparemment une limitation du Airplay. Mais ce n’est que pour lui, pour tou tle reste tu peux envoyer où tu veux ce que tu veux.
Merci pour ce tuto!
Ca va bien m’aider ! Je commence à monter ma solution domotique (pas seulement multiroom) avec une RPi dans chaque pièce et Jeedom.
Pour le Airplay en multi-room, je ne pense pas que ce soit une limitation de Airplay mais de iOS car on peut le faire depuis iTunes: j’ai déjà transmis à la fois sur mon iMac, une borne Airport, le Freebox player et le Freebox server.
C’est vraiment dommage de ne pas pouvoir le faire depuis l’iPad… :(
Oui, sur le mac tu peux le faire, mais ce sera le même morceau partout, non ?
Exselent, je garde cet article dans mes favorits pour plus tard.
Bonjour,
Magnifique réalisation..
Mais j’ai une question,
tu as 7 RP avec 2 sorties HP¨chacun, mais seulement 7 haut parleurs de plafond (ou alors j’ai loupé un épisode).
Du coup tu ne gères pas la stéréo ?
Est-il alors possible d’avoir sur chaque RP 2 clients squeezeplug dirigé chacun sur un hp (gauche ou droite). Cela permettrait d’avoir un seul RP pour 2 pièces…
Le projet est vraiment cool ! Par contre. En faisant le compte. Pi + SD + Pi serveur + shield HIFI + cable + enceinte + …. Ca revient dans la même gamme de prix qu’un Sonos One.