Voila encore un lecteur a base de pi, une formule bien connue et qui marche bien.
Je suis un grand fan du Pi, a vrai dire j'en ai déjà 3 que j'utilise diversement comme lecteur réseau audio, multimedia (kodi) ou encore serveur domotique.
J'utilise volumio depuis quelques années déjà, sur un Pi1, puis 2 accrochés a un DAC USB - le phiree D1 a base de WM8741 - que j'aime vraiment bien. Son problème est que dans le meuble TV (proche de la prise téléphone), il y a beaucoup d’équipement et de fils.
J'en ai rajouté sur le phiree avec un relais histoire de commandé l'allumage a l'allumage de l'ampli. Mais ça fait toujours pas mal de fils: USB, alim pi, alim phiree, cable audio, cable relais...
J'ai donc changé un peu (j'aime bien), en adoptant volumio et puis le touchscreen officiel du pi (le même que sur le rasptouch), en apportant un peu: volumio2.
La dernière version de volumio2 fonctionne bien, et apporte vraiment beaucoup au volumio de base (le derniere 1.55), et je dois dire que le tactile n'est pas bien géré sur ce dernier, ce qui m'a fait passé au 2.
Donc la bête:
C'est un Pi3 (le Pi2 me sert a kodi, en attendant que je réussisse à intégrer kodi sur ce même pi - le challenge repose sur la config dual screen), monté sur un écran touchscreen officiel pi (7", 1200/800), et en DAC, j'ai retenu le DAC audiophonics Isabre V3 9023, un peu a l'essai pour plusieurs raisons:
-essayer. Ça me coute un peu, mais j'aime bien essayer des trucs et je voulais savoir ce qu'un DAC récent pouvais donner. J'ai essayé le Rpi Dac de Torsten Jeakel et j'avais été un peu déçu. Il a revu un peu sa copie et l'a mis en prod (le durio sound), mais je passe à autre chose.
-Il est alimenté par une alim "type atx", c'est a dire un bouton poussoir, qui facilite son utilisation. Disons que c'est un plus "waf" (avec le tactile... On peut l'allumer et l'éteindre facilement, et on a plus besoin d'un ordi en plus grace au touch.
-Il alimente le pi, et avec 2 soudures, alimente aussi l’écran. J'ai préféré la soudure plutôt que de me repiquer sur le connecteur oled du i-sabre mais ca reste possible.
-Il est compact et bien désigné (je bosse dans la micro elec et j'ai pas mal d'elec a faire).
Bon, bien sur, entre un DAC standalone comme le phirée D1, excellemment désigné - la carte est superbe dans sa simplicité et ses composant, et un petit DAC comme le 9023 et les quelques condo, je me disais qu'il y allait avoir une perte; et il y en a une, mais elle reste acceptable. Disons que la dynamique en a pris un coup. Mais la qualité est quand même au rendez vous.
Donc 1: la bete:



EC que vous voyez derrière est une sonde JTAG Lauterbach - ca vous donne une aperçu de mon boulot... Mais c'est pas nécessaire ici.
J'ai pris un support officiel pour l’écran, en plexiglas de couleur, dans toute sa simplicité. Je ne voulais pas des boitiers type galaxy, lourd comme un âne mort, et qui tient de la place, je voulais un truc aéré même si ça fait pas "shiny hifi" a fond. Cela m'importe peu...
Une fois le montage réalisé (l’écran, l'empilement des cartes, les fils à connecter - mettre un radiateur sur le pi3 car il chauffe plus que le 2), il reste le soft...
J'ai testé volumio 1.55 puis laissé tombé a cause de la mauvaise gestion du touchscreen. Je ne sais pas comment ca se passe sur le rasptouch, mais j'avais des problemes sur le haut et le bas de l'ecran qui partait en live probablement à cause de la tension d'alimentation de l’écran un peu basse.
L’écran alimenté en standalone ne montrait pas de soucis, mais j'avais 4.95V avec l'alimentation a travers le DAC. C'est peut être pour cela que l'alimentation du rasptouch a une alimentation un peu différente.
J'arrive donc sur volumio2. Le tuto de ce forum sur l'installation de volumio sur une base raspbian ne peut se faire pour volumio2. Il n'y a pas encore de guide ou de buildlog d'un tel montage, et la nouvelle architecture utilise un client-serveur basé sur des websocket, ce qui rend difficile l'extraction pour quelqu'un qui veut pas trop se casser la tête.
J'ai donc pris l'image officielle volumio2 (très récente, elle date du 13 et on est le 15), mais c'est une image type raspbian lite - semble t'il -, sans interface graphique. Une fois qu'elle boot, soit vous vous connectez sur la machine en SSH, soit vous avez un clavier. à porté d'USB.
Il faut donc installer:
- X, lightdm, .... -> Je me suis inspiré de ca: https://www.raspberrypi.org/forums/view ... 6&t=133691" onclick="window.open(this.href);return false;
Sans rentrer dans le détail - j'ai du en oublier mais ca donne:
Code : Tout sélectionner
sudo apt-get install -y --no-install-recommends xserver-xorg xinit lxde-core lxappearance lightdm
La on a l'interface graphique du pi. On désinstalle chromium qui est un espion des chinois du FBI et on installe iceweasel de la même manière que le topic audiophonics que je link:
viewtopic.php?f=4&t=1501" onclick="window.open(this.href);return false;
Code : Tout sélectionner
sudo apt-get install iceweasel unclutter -y
-locales, tzdata pour pouvoir le mettre a la bonne heure - ce dont volumio2 se fiche. comme ca on a l'heure et un clavier azerty (qui en vaut 2).
Voila, après ça devient délicat car il faut que root se connecte au startup; j'ai pas encore optimisé mais c'est clairement une faille de votre installation informatique - ça l’était déjà sur volumio1 qui était tourné par root. On crée un répertoire /etc/lightdm/lightdm.conf.d et un fichier /etc/lightdm/lightdm.conf.d/12-autologin.conf avec le contenu suivant:
Code : Tout sélectionner
[SeatDefaults]
autologin-user=volumio
Code : Tout sélectionner
passwd
On installe locales et tzdata pour avoir la bonne heure et les bonnes valeur relatives aux clavier, ...
Code : Tout sélectionner
sudo apt-get install locales tzdata
sudo dpkg-reconfigure tzdata
sudo dpkg-reconfigure locales
Code : Tout sélectionner
/etc/xdg/lxsession/LXDE/autostart
Code : Tout sélectionner
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@xset s off
@xset -dpms
@xset s noblank
@iceweasel -fullscreen -url http://localhost:3000
Sauf qu'on a une grosse barre d'outil au dessus et en dessous, c'est moche. Et comme on a pas de clavier pour taper F11, on peut pas les faire disparaitre. Heureusement, il y a l'add-on mKiosk, qui va vous aider, sauf qu'il vous FAUDRA un clavier en USB sur le pi pour cette étape:
Une fois installé, cet add-on vous permet de faire disparaitre les barres. Je rentre pas dans le détails, farfouiller un peu, mais ça se configure au premier lancement. On doit naviguer dans les option pour activer le démarrage en fullscreen, sans les barres. Il faut egalement saisir la page d'accueil: http://localhost:3000" onclick="window.open(this.href);return false;
Une fois le mode plein écran activé, tapez ALT+F4, ca arrête firefox dans cet état. Et ensuite, vous enlevez le clavier, et rebootez, et firefox démarrera toujours dans ce mode.
A ce moment, on rentre dans volumio2 pour faire sa configuration, DAC, music, add-on quan dils seront dispo.
Attention, quand vous faites des modifications qui demandent un reboot, c'est parce que le fichier /boot/config.txt a été modifié. Lors du redémarrage, il faudra remettre le setting lcd_rotate=2 ou sinon l'image sera a l'envers sur l’écran.
Voila, ca y est, ca démarre - lentement. Il vous faudra connecté en RJ45. En wifi (avec un pi3, il est integré), ca peut se faire mais il y a un timout dhcpd tres long, et j'ai pas reussi a le retirer. C'est la nouvelle architecture de la base de volumio et c'est pas terrible, mais je m'en fiche, je suis en RJ45.
Ensuite, a la fin du startup, firefox se lance avant que le soft volumio soit pret, donc il y a une erreur "host unknown" pendant 10s. On peut mettre une attente dans l'autostart pour pas avoir l'air d'un geek peu pointilleux aux yeux des ses amis ("ou ses clients, je me dis que le rasptouch finira bien par se mettre a volumio2").
Ensuite, dans volumio, il y a un peu de configuration a faire, mais on est à des lieux de la legere compléxité de volumio1:
-les dac I2S sont tous gérés
-On peut le mettre en francais
-l'onglet "ma musique" permet de monter sans problème les disques et partages réseaux. Enorme progrès de volumio sur ce point: il scanne votre réseau local et vous montre les disques réseaux!!
-sur l'onglet Lecture, on configure 2 ou 3 trucs (le dac, la sortie audio, quelques options), mais plus d'oversampling, de profil kernel type placebo... Le nécessaire. SI vous changez la srtie audio et que volumio2 vous demander de rebooter, pensez a vous connecter en SSH pour modifier le /boot/config.txt et ajouter le parametre lcd_rotate=2.
-L'onglet apparence donne des superbes fond d’écran, et la langue de l'interface
-Des plugins sont en développement et pourront être rajouté. Il y a notamment spotify (qui ne marche pas chez moi).
-des fonctions inutiles d'alarme ou de sommeil...
On peut néanmoins installer les scripts associé au bouton poussoir et a la led du module ATX. Ça m'a pris un peu de temps ce soir, mais j'ai reussi. Les script sds.sh, softreboot.sh et softshutdown.sh sont a télépchargé dans la home de l'utilisateur volumio, en mode root, et chmodez les en +X.
Sur les scripts de shutdown et reboot, j'ai commenté les actions de shutdown et reboot car je prefere qu'elles soit faite par le code de volumio.
Le fichier de volumio a modifié est:
Code : Tout sélectionner
sudo nano /volumio/app/platformSpecific.js
Code : Tout sélectionner
PlatformSpecific.prototype.shutdown = function () {
var self = this;
execSync("/bin/sync", { uid: 1000, gid: 1000});
exec("sudo /home/volumio/softshutdown.sh");
exec("sudo /sbin/shutdown -h -P now", function (error, stdout, stderr) {
if (error !== null) {
self.coreCommand.pushConsoleMessage(error);
} else self.coreCommand.pushConsoleMessage('Shutting Down');
});
};
PlatformSpecific.prototype.reboot = function () {
var self = this;
execSync("/bin/sync", { uid: 1000, gid: 1000});
exec("sudo /home/volumio/softreboot.sh");
exec("sudo /sbin/reboot", function (error, stdout, stderr) {
if (error !== null) {
self.coreCommand.pushConsoleMessage(error);
} else self.coreCommand.pushConsoleMessage('Rebooting');
});
};
Il faut aussi faire l'installation du tuto (depuis /home/volumio):
Edition du fichier de démarrage :sudo apt-get install gcc
cd /home/pi
git clone git://git.drogon.net/wiringPi" onclick="window.open(this.href);return false;
cd wiringPi
./build
wget https://raw.githubusercontent.com/audio ... ter/sds.sh" onclick="window.open(this.href);return false;
Code : Tout sélectionner
sudo nano /etc/rc.local
Code : Tout sélectionner
sudo bash /home/pi/sds.sh &
Toutes mes félicitations à Nicko et ses tuto direct et sans bavures, je pense que j'aurais eu du mal sans. Et comme ca j'apporte ma pierre à l’édifice, je pense que ça peut servir à ceux qui ont un rasptouch et qui veulent tenter volumio2. Attention, disclaimer: Utiliser une nouvelle carte SD, comme ça si ça marche pas, vous aurez toujours la possibilité de faire marcher l'ancienne. Une autre solution est de faire une sauvegarde de leur caret Sd avec Win32diskimager, si vous etes pingre au point de ne pas acheter une SD a 10e.
Je résume les points négatifs (+1 dont je n'ai pas parlé):
-Startup lent, et qui passe par 10s de "host unknown" le temps que volumio2 se lance
-son de bonne qualité, mais pas au niveau d'un DAC standalone type WM8741, burr brown, avec une carte plus grosse. C'est pas non plus la vocation de l'ESS9023, très bien placé dans les petits DAC.
-A l'extinction par l'interface de volumio, l’écran reste allumé. Je pense qu"il faut que je debug mais l'alimentation n'est pas coupé, et il faut que j'appuie sur le bouton 2s pour le faire s’arrêter. Il faudrait déjà que j’achète un bouton parce que pour le moment c'est un tournevis plat :P. Rien de bien méchant, c'est mon métier mais pas ma priorité.
-c'est root qui se connecte, donc si quelqu’un prend le contrôle via une faille de volumio, il est root sur votre réseau, c a d le maitre du monde: vol de donné privé, effacement de vos données, installation de ransomware... Vous êtes prévenus, mais si vous utilisez volumio, vous le savez sans doute déjà... Ah non, on vous l'avez pas dit? Ben je vous le dis, je bosse dans la sécurité informatique et micro électronique.
Sur ce dernier point, il est important que:
-si vous vous connectez a un NAS, ajoutez un compte utilisateur spécifique sur le NAS qui n'a QUE LES DROITS DE LECTURE SUR LE REPERTOIRE DE MUSIQUE, vous réduisez les chances qu'un utilisateurs y accède.
-Il n'y a pas grand chose a prendre dans volumio2, mais si vous avez de la musique en local (avec d'autres choses) sur un périphérique USB, il est important de le déplacer.
-si quelqu'un a réussi a rentrer chez vous par volumio2, il saura sans doute rentrer ailleurs donc bon, sachez que ca ne peut durer, il faudra trouver une solution. La plus simple est de mettre la musique sur un périphérique USB et débrancher la prise réseau.
DEBUG: Si vous voulez debugger volumio2, la commande:
Code : Tout sélectionner
sudo journalctl -f
Edit1: Sécurisation de premier niveau:
Modification de l'utilisateur par defaut de la session LXDE --> volumio au lieu de root.
Modification du mdp volumio.
edit2:
-suppression des commentaire debut/fin des modif dans le fichier platform volumio, ca faisait planter le script.
-
Voila, la suite:
-securisation de premier niveau: done
-acheter et connecter un bouton
-intégrer kodi sur la prise hdmi sans que ca casse volumio.