J’ai reçu à mon anniversaire une petite chaîne hifi pour le salon du haut/chambre d’amis, et j’ai voulu lui adjoindre un lecteur réseau pour pouvoir lire notre musique facilement, comme dans la salle de vie en bas.
En bas, j’avais eu la chance de tomber sur un Pioneer N-30 d’occasion, parce qu’à 500€ neuf, pas moyen que je l’achète autrement. Par contre pour haut ça n’a pas été possible car
- y’en avait pas à un prix acceptable
- ça aurait été moche comme tout avec ce petit set Sony TA-88/ST-88, non ?
Je me suis donc décidé à en monter un moi-même. Pour faire un truc comme ça, la meilleure solution, c’est un Raspberry. Les Raspberry, c’est, en gros, un ordinateur de la taille d’une carte de crédit et de la puissance d’un ordinateur de 2010. Ça fonctionne sous Linux, il y a énormément de ressources sur Internet sur le sujet et, bien que je n’irai pas jusqu’à dire que tout le monde peut s’y mettre, c’est quand même une des portes d’entrées les plus larges pour commencer à adapter du logiciel à ses besoins.
Les courses
J’ai donc fait une liste de courses (dans laquelle j’avais déjà quelques éléments qui traînaient, mais je mets tout pour celleux qui partent de zéro) :
- un Raspberry Pi 3 B+
- un écran tactile 7″, capacitif (les écrans résistifs coûtent moins cher, mais le toucher est bien moins agréable, il faut appuyer sur l’écran comme sur les Tomtom d’il y a dix ans), Waveshare 7″ HDMI LCD (C)
- Une alimentation 12v => 4x 5V USB (Winomo)
- Un doubleur d’alimentation USB (BK USB 2.0 Extra power) (edit: ou pas)
- Un DAC Pizeroaudio
- Une carte microSD (Sandisk), 4 ou 8 Go suffisent
- Un câble HDMI coudé (uniquement nécessaire si peu de place dans le châssis, ce qui est mon cas)
- Une alimentation 12V (SALCAR) (edit: ou pas)
- Un jack d’alimentation 12V (TOOGOO) (edit: ou pas)
Mise à jour : l’alimentation 12V n’était pas une bonne idée (plus de câble, l’écran reste alimenté après extinction du Raspberry, Mieux vaut utiliser une alim 5V 3A directement.
L’installation
J’ai choisi de tester (puis j’ai adopté) Runeaudio, une distribution Linux Raspberry qui fait exactement ce que je cherche : lecture de fichiers audio à travers un partage réseau, et « récepteur » AirPlay et DLNA.
J’ai téléchargé la version Runeaudio 0.5 beta 20180903, qui supporte le Pi 3B+. Attention, il y a plusieurs liens de téléchargements. Bien prendre la version pour le Pi 3B+, à savoir 20180903_runeaudio_rpib2.img.gz.
Ce fichier se dézippe, puis on l’écrit tel quel sur la carte microSD à l’aide d’un logiciel spécialisé (dd sous Linux). Raspberry fournit des documentations pour le faire à partir de Linux, Windows ou OS X. Ils le disent clairement mais ça ne fait pas de mal de le répéter : faites très attention au périphérique de destination, ou vous pourriez écraser le mauvais disque.
Il faut ensuite configurer deux choses : l’écran tactile, et le DAC. Pour le DAC, c’est très facile : il n’y a rien à faire.
Pour l’écran tactile, le manuel très fin qui vient avec nous indique de modifier et/ou ajouter quelques lignes au fichier /boot/config.txt, qui se trouve à la racine de la première partition de la carte SD (d’environ 100Mo) :
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_drive=1
hdmi_cvt=1024 600 60 6 0 0 0
Attention, certaines de ces lignes sont déjà là et doivent être modifiées ou décommentées. Personnellement j’ai aussi ajouté :
display_rotate=3
lcd_rotate=3
Car je voulais mettre l’écran en mode paysage. Ces paramètres pivotent l’écran, mais pas la matrice tactile, pour laquelle il faut modifier le fichier /etc/X11/xinit/xinitrc, qui se trouve dans la deuxième partition de la carte SD (d’environ 4Go), pour y ajouter la ligne :
xinput --set-prop "WaveShare WS170120" "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1
Mise à jour: il n’est plus nécessaire de paramétrer la rotation de l’écran de manière statique. J’ai écrit raspi-rotate, un petit utilitaire pour lancer Xorg dans le sens qu’on veut facilement, et l’équipe Runeaudio l’a intégré (il suffit de passer en mode dev après installation). La rotation de l’écran peut maintenant se régler dans les paramètres Runeaudio.
Il reste à pré-configurer le Wifi, pour ne pas avoir à brancher de câble réseau. Cela se fait dans le fichier /etc/netctl/wlan0 (à créer, sans extension) :
Description='wlan0 connection'
Interface=wlan0
Connection=wireless
Security=wpa-configsection
IP=dhcp
WPAConfigSection=(
'ssid="VOTRE_POINT_DACCES"'
'psk="VOTRE_CLE_WPA"'
'key_mgmt=WPA-PSK'
'proto=WPA'
'group=TKIP'
'pairwise=TKIP'
'priority=3'
)
On peut maintenant assembler les différents éléments et démarrer le Pi !
Connexions et démarrage
La première étape sera de souder les broches du DAC, ainsi que ses prises RCA, et de souder le jack d’alimentation sur l’entrée du convertisseur 12-5V (ne pas confondre le plus et le moins surtout, utilisez un multimètre si nécessaire). J’ai utilisé des câbles pour pouvoir les faire sortir où je le voudrai sur le châssis.
Ensuite, on branche le DAC sur le port d’extension du Raspberry.
On branche un câble USB – Micro USB du convertisseur vers l’entrée du Pi.
On branche le côté data (fil épais) du doubleur de puissance USB sur un port du Pi, puis le côté « power only » sur une autre sortie du convertisseur (ceci est nécessaire car l’écran consomme plus que ne peut fournir le Pi sur un port USB).
On branche un câble USB – Micro USB du doubleur vers l’entrée USB de l’écran.
On branche le câble HDMI.
On met la carte SD, et on branche l’alimentation. L’écran n’est pas utilisé par défaut sur Runeaudio; il faut donc, une fois le Pi démarré, se connecter par un navigateur à http://runeaudio.local/ (ou http://runeaudio.lan/ ou http://runeaudio/, cela dépend des box internet. Au pire, il faudra aller récupérer son IP sur la box, puis s’y connecter directement.
De là, on peut aller activer l’écran LCD par le Menu, puis Settings : Local browser :
On peut aussi en profiter pour activer le DAC (choisir HifiBerry DAC dans la liste dans Settings, puis redémarrer le Pi) :
(Il faut aussi régler la sortie de MPD sur le DAC après redémarrage).
Et voilà, la partie informatique/logicielle est prête. Il reste à mettre tout cela dans une belle boîte, ce qui fera l’objet d’un deuxième article.
Ensuite, j’ai attendu patiemment l’arrivée d’un tuner identique et défecteux, et quand il est arrivé, j’ai installé le Raspberry dedans : Partie deux, intégration esthétique d’un lecteur de musique réseau.
Mise à jour : après fabrication d’un deuxième lecteur, j’ai repris et upgradé la partie alimentation afin de pouvoir éteindre proprement le lecteur via le bouton power. Partie trois, un système d’extinction propre pour RuneAudio.
Bonjour,
J’ai trouvé votre idée génial.
J’utilise Volumio au lieu de Runeaudio, et le Raspiaudio est, aujourd’hui, dans la liste des DAC de Volumio .
Mon problème certainement banal est pour l’instant, la soudure des fiches RCA femelles au DAC. en passant par là, le son est bruité et très très faible. Pas contre, pas de soucis en utilisant un Jack 3,5 sur le DAC vers les RCA de l’ampli.
Soudant rarement et ne faisant pas d’électronique qu’elle est le fil (section) que vous avez utilisé pour souder le DAC vers les RCA. (en espérant que cela viennent de là)
Merci
Maxime
Bonjour Maxime ! Merci :)
Je pense que c’est du 0.25mm², ou peut-être 0.3mm².
bonjour et bravo
tout fonctionne correctement mais est-il possible d’agrandir la police car sur un écran7″ il faut avoir des petits doigts
merci
Gérard
Oui, tu peux changer le device-scale-factor dans /etc/X11/xinitrc, cf https://www.runeaudio.com/forum/runeaudio-0-5-beta-for-all-raspberry-pi-models-t6532-240.html
Dans les dernières versions de Runeaudio il y a une interface graphique pour le changer, dans Settings.