====== Logitech Media Server sur Rapsberry Pi 5 avec carte Hifiberry DAC+ ======
Logitech Media Server (aussi appelé Squeezebox Server, SlimServer ou LMS), est un logiciel de streaming audio. Il peut streamer de l'audio vers un périphérique (carte son) grâce au logiciel SqueezeLite ou à distance vers un logiciel comme SqueezeSoft.
Il permet de gérer votre collection de musique en récupérant automatiquement les informations des chansons grâce aux tags ainsi que les jaquettes.
On va voir ici comment installer LMS, SqueezeLite et comment configurer Apache pour accéder à l'interface web.
===== Installation =====
Installez le paquet libio-socket-ssl-perl :
sudo aptitude install libio-socket-ssl-perl libcrypt-openssl-rsa-perl
Récupérez le fichier deb de LMS à cette [[https://lyrion.org/downloads/|adresse]] puis installez LMS avec la commande suivante :
sudo dpkg -i logitechmediaserver_XXX.deb
Pour SqueezeLite, il est présent dans les dépôt. Pour l'installer, tapez la commande suivante :
sudo aptitude install squeezelite
===== Configuration du pilote =====
Ouvrez le fichier /boot/config.txt.
Modifiez la ligne
dtparam=audio=on
par
#dtparam=audio=on
Ajoutez les lignes :
dtoverlay=hifiberry-dacplus,slave
force_eeprom_read=0
Redémarrez le raspberry et lancez la commande aplay -l, la carte dac+ devrait apparaître dans la liste.
===== Configuration Squeezelite =====
Ouvrez le fichier /etc/default/squeezelite et modifiez le comme suit en modifiant le SL_NAME :
# Defaults for squeezelite initscript
# sourced by /etc/init.d/squeezelite
# installed at /etc/default/squeezelite by the maintainer scripts
# The name for the squeezelite player:
SL_NAME="nom visible sur LMS"
# ALSA output device:
#SL_SOUNDCARD="default:CARD=Set"
SL_SOUNDCARD="sysdefault:CARD=sndrpihifiberry"
# Squeezebox server (Logitech Media Server):
# Uncomment the next line if you want to point squeezelite at the IP address of
# your squeezebox server. This is usually unnecessary as the server is
# automatically discovered.
#SB_SERVER_IP="192.168.x.y"
# Additional options to pass to squeezelite:
# Please do not include -z to make squeezelite daemonise itself.
#SB_EXTRA_ARGS=""
===== Configuration Apache =====
Pour accéder à l'interface web de LMS, nous allons avoir besoin de Apache.
Créer un fichier de configuration pour le sous-domaine qui accèdera à LMS, logitech.exemple.fr dans ce tuto, et collez-y les lignes suivantes :
ServerName logitech.exemple.fr
Redirect / https://logitech.exemple.fr/
ServerName logitech.exemple.fr
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/logitech.access.log combined
ErrorLog ${APACHE_LOG_DIR}/logitech.error.log
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/exemple.fr/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/exemple.fr/privkey.pem
Header set Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; connect-src 'self'; media-src 'self'; child-src 'self'; object-src 'self'; form-action 'self'; img-src 'self' * data:"
ProxyPass / http://localhost:9000/
ProxyPassReverse http://localhost:9000/
Require all granted
Remplacez le nom du domaine par le votre puis activez ce fichier de configuration :
sudo a2ensite logitech.exemple.fr
Puis rechargez la configuration de Apache :
sudo systemctl reload apache2.service
===== Enceintes bluetooth =====
Si vous avez des enceintes bluetooth, c'est possible de rediriger le son dessus. Installez les paquets suivants :
sudo aptitude install bluez-alsa-utils bluez bluez-tools
Appairez votre enceinte avec bluetoothctl avec les commandes suivantes (remplacez l'adresse par celle de votre enceinte) :
bluetoothctl
scan on
pair 74:6D:FA:38:87:05
connect 74:6D:FA:38:87:05
trust 74:6D:FA:38:87:05
quit
Modifiez ensuite le fichier de service de squeezelite pour avoir comme suit (remplacez l'adresse par celle de votre enceinte) :
[Unit]
Description=Squeezelite (DietPi)
Documentation=man:squeezelite(1) https://ralph-irving.github.io/squeezelite.html
Wants=network-online.target
After=network-online.target sound.target
[Service]
User=squeezelite
#EnvironmentFile=/etc/default/squeezelite
ExecStart=/usr/bin/squeezelite -o bluealsa -n Barre_son -m b8:27:eb:8b:d2:1c
[Install]
WantedBy=multi-user.target
Si votre enceinte BT se coupe, l'OS ne va pas s'y reconnecter automatiquement. Il faudra soit mettre un script en place soit passer par des services comme bluetooth-autoconnect