Installation raspberry pour Squeezelite

Mon raspberry utilisé pour un lecteur audio (avec carte HiFiBerry Digi+) n’était plus à jour. Le passage à Debian Jessie est l’occasion de refaire un petit guide step-by-step pour la mise en route d’un nouveau rasp 🙂

Pour commencer, la dernière version (2016-11-25) de raspbian n’a pas le SSH d’activé par défaut pour des raisons de sécurité, c’est compréhensible mais très embêtant lors d’une installation headless1. La solution est toute simple. Il suffit de créer un fichier vide dans la partition boot nommé “ssh” avant d’insérer la carte dans le rasp :mrgreen:

Ceci étant fait, nous pouvons désormais allumer notre rpi et passer aux installations/configurations.

La base

As usual, les premières lignes ne changent jamais; on étend le système de fichier, on change le fuseau horaire et on change le hostname de notre framboise 😎
Puis on mets à jour les paquets

sudo raspi-config
sudo reboot
sudo apt-get update && sudo apt-get dist-upgrade -y

Étape optionnelle, l’adresse IP fixe

sudo nano /etc/dhcpcd.conf

Éditez en ajoutant et modifiant en fonctions de vos besoins les lignes suivantes

interface eth0
static ip_address=192.168.1.XXX/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

On redémarre le rpi pour avoir notre nouvelle adresse

sudo reboot

Configuration du Pi pour le DAC

Pour autant que vous ayez aussi une carte HiFiBerry (très bon matériel soit dit en passant)

sudo nano /boot/config.txt

Commentez la ligne

dtparam=audio=on

Et ajoutez la ligne en fonction de la carte, liste disponible à cette adresse

Pour une Digi+

dtoverlay=hifiberry-digi

Puis éditez le fichier asound.conf

sudo nano /etc/asound.conf
pcm.!default  {
 type hw card 0
}
ctl.!default {
 type hw card 0
}

On redémarre le fruit

sudo reboot

Vérification de la carte :

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

Tout est OK, étape 3 ➡

Installation et configuration de Squeezelite

Création d’un répertoire de travail, téléchargement du squeezelite, déplacement dans le dossier usr bin et rendons-le exécutable

cd ~ && mkdir squeezelite && cd squeezelite
wget -O squeezelite-armv6hf http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg
sudo mv squeezelite-armv6hf /usr/bin && sudo chmod a+x /usr/bin/squeezelite-armv6hf

Recherchons notre carte son

sudo /usr/bin/squeezelite-armv6hf -l

En ce qui me concerne, voici le résultat :

Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  sysdefault:CARD=sndrpihifiberry - snd_rpi_hifiberry_digi,  - Default Audio Device
  dmix:CARD=sndrpihifiberry,DEV=0 - snd_rpi_hifiberry_digi,  - Direct sample mixing device
  dsnoop:CARD=sndrpihifiberry,DEV=0 - snd_rpi_hifiberry_digi,  - Direct sample snooping device
  hw:CARD=sndrpihifiberry,DEV=0  - snd_rpi_hifiberry_digi,  - Direct hardware device without any conversions
  plughw:CARD=sndrpihifiberry,DEV=0 - snd_rpi_hifiberry_digi,  - Hardware device with all software conversions

Ma carte est bien détectée (sysdefault:CARD=sndrpihifiberry)

Démarrage automatique de Squeezelite

cd /home/pi/squeezelite
sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelite_settings.sh && sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelitehf.sh && sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelite.service
sudo mv squeezelite_settings.sh /usr/local/bin && sudo chmod a+x /usr/local/bin/squeezelite_settings.sh
sudo mv squeezelitehf.sh /etc/init.d/squeezelite && sudo chmod a+x /etc/init.d/squeezelite
sudo mv squeezelite.service /etc/systemd/system && sudo systemctl enable squeezelite.service

En bref le contenu de ces lignes : téléchargement des 3 fichiers nécessaires, déplacement dans leur répertoires respectifs et ajout du service.

Quelques config à faire dans le fichier

sudo nano /usr/local/bin/squeezelite_settings.sh
SL_NAME="NameOfPlayer"
SL_SOUNDCARD="sysdefault:CARD=sndrpihifiberry"
  • SL_NAME : le nom de votre lecteur, si cette variable reste en commentaire, cela sera le hostname de votre RPI
  • SL_SOUNDCARD : la valeur de votre carte son obtenue ci-dessus.

On démarre le service

sudo /etc/init.d/squeezelite start

Surveillance du process

Bien que cela ne me soit jamais arrivé, il est toujours utile d’activer une surveillance du process pour s’assurer qu’il soit toujours exécuté par le système. J’utilise monit, qui est facile et rapide à mettre en place.

Installation de monit

sudo apt-get install monit

Il faut créer le fichier de configuration pour squeezelite

sudo nano /etc/monit/conf.d/squeezelite.conf
check process squeezelite with pidfile /var/run/squeezelite-armv6hf.pid
	start program = "/etc/init.d/squeezelite start"
	stop  program = "/etc/init.d/squeezelite stop"

Mise à jour de la config

sudo monit reload

Et voilà :mrgreen:

Sources :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*