====== 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