Installer Squeezelite sur Raspbian

Bonjour à tous !

Aujourd’hui, je vais vous guider pour installer une platine Squeezebox sur votre chère framboise !

 

Débutons !

Nous devons créer une image de Raspbian Jessie Lite sur votre framboise
Nous allons utilisez notre raspberry sans écran. En effet, nous allons se connecter en SSH dessus ! N’oubliez pas de mettre un fichier vide appelé « ssh » sur la racine de la SD.

On introduit la carte SD, on branche le câble réseau et on se connecte en SSH (Putty est mon logiciel favori 🙂 ).

En premier, on effectue nos petites mises à jour avec la commande suivante (Prenez un café car ça peut être long…) :

sudo apt-get -y update && sudo apt-get -y dist-upgrade

Et dés que c’est fini, on lance l’utilitaire de configuration :

sudo raspi-config

On prends toute la place de la SD et on configure notre zone géographique.

Changeons le nom d’hôte

Le nom de l’hôte est très important car il va remonter dans le serveur Squeezebox. Je vous conseille le nom de la pièce où la platine sera mise.

On va le configurer très simplement en allant dans l’utilitaire de configuration du raspberry (Attention, il est possible que le chemin change selon les versions) :

  1. On va dans “8 Advanced Options”,
  2. Puis “A2 Hostname”,
  3. Choisissez “OK”,
  4. Mettez à jour le nom

A savoir : Utilisez uniquement des lettres, numéros et le signe moins « -« . Les autres caractères ne sont pas acceptés.

Nous pouvons aussi le changer sans passer par l’utilitaire. Il suffit d’ouvrir le fichier :

sudo nano /etc/hostname

Changez le nom comme vous voulez (les mêmes restrictions s’appliquent aussi).
Ensuite, il faut mettre le même nom derrière « 127.0.1.1 » dans un second fichier :

sudo nano /etc/hosts

Configuration du WiFi (optionel)

Si vous souhaitez utiliser le Wi-Fi, il faut modifier le fichier suivant :

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Et notez cela :

ctrl_interface=/var/run/wpa_supplicant
network={
ssid="NOM RESEAU WIFI"
psk="MOT DE PASSE WIFI"
}

Après un redémarrage, j’ai utilisé « ifconfig » et si vous avez une IP c’est que la connexion s’est effectuée 🙂 Vous pouvez à présent débrancher le câble réseau.

Installation de Squeezelite

En premier, nous allons configurer le volume du son :

sudo alsamixer

Il faut utilisez F6 pour sélectionner la bonne carte son (j’utilise une carte son USB).

Pour configurer le son, il suffit d’appuyer sur les flèches directionnelles. Attention de ne pas être dans le rouge.
J’ai configurer le son du micro à 0 pour être sur de ne pas avoir d’interférences.

On installe quelques librairies :

sudo apt-get install -y libflac-dev libfaad2 libmad0

On va créer un dossier squeezelite et on le télécharge :

mkdir squeezelite
cd squeezelite
wget -O squeezelite-armv6hf http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg

(Merci a Ralphy pour avoir effectué un script!)

On le déplace dans le dossier « USR » et on le rends exécutable:

sudo mv squeezelite-armv6hf /usr/bin
sudo chmod a+x /usr/bin/squeezelite-armv6hf

 

J’utilise une carte son USB, donc je dois configurer Squeezelite pour utiliser la bonne carte.
On liste toutes les cartes :

sudo /usr/bin/squeezelite-armv6hf -l

Le résultat :

Output devices:
null                      - Discard all samples (playback) or generate...
default:CARD=ALSA         - bcm2835 ALSA, bcm2835 ALSA - Default Audio D...
sysdefault:CARD=ALSA      - bcm2835 ALSA, bcm2835 ALSA - Default Audio D...
default:CARD=Set          - C-Media USB Headphone Set, USB Audio - Defau...
sysdefault:CARD=Set       - C-Media USB Headphone Set, USB Audio - Defau...
front:CARD=Set,DEV=0      - C-Media USB Headphone Set, USB Audio - Front...
surround40:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 4.0 S...
surround41:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 4.1 S...
surround50:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 5.0 S...
surround51:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 5.1 S...
surround71:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 7.1 S...
iec958:CARD=Set,DEV=0     - C-Media USB Headphone Set, USB Audio - IEC95...

La seconde et la troisième sont les cartes son du raspberry. La qualité n’est pas superbe (J’ai eu beaucoup de craquages :/ ).

Ma carte son est bien reconnue sous le nom de “C-Media”.
Je souhaite que les « front speakers », donc je demande a squeezelite d’utiliser “front:CARD=Set,DEV=0” .

A présent, on démarre Squeezelite avec la configuration de la carte son et l’ip du serveur LMS:

sudo /usr/bin/squeezelite-armv6hf -o front:CARD=Set,DEV=0 -s 192.168.2.4

Ça fonctionne !

On peux démarrer aussi sans l’adresse IP du serveur LMS :

sudo /usr/bin/squeezelite-armv6hf -o front:CARD=Set,DEV=0

Sans l’adresse IP, Squeezelite va balayer le réseau pour le trouver.

Lancer Squeezelite au démarrage

Si cela la fonctionne correctement, j’ai bien envie de créer un script pour le démarrer automatiquement.

Nous allons créer un « démon ».

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

Attention, Vous devez configurer votre carte son dans le script
On ouvre les paramètres du script avec Nano :

sudo nano /usr/local/bin/squeezelite_settings.sh

On cherche la ligne :

SL_SOUNDCARD="sysdefault:CARD=ALSA"

Changez “sysdefault:CARD=ALSA” avec la ligne que vous avez mis tout à l’heure (Pour moi, j’ai mis “front:CARD=Set,DEV=0”).
Si vous souhaitez que ca soit la carte son par défaut, vous ne modifiez rien.

Quand, vous aurez fini le tuto et que vous avez un mauvais son ou de la distortion, ouvrez le script et cherchez la ligne :

#SL_ALSA_PARAMS="80"

Il suffit de la dé-commenter (enlevez le diése (“#”)), cela augmentera le cache de squeezelite.

Sauvegarder et fermer le fichier.

Vous pouvez tester votre configuration :

sudo /etc/init.d/squeezelite start

La commande lance le démon immédiatement. On peux le vérifier en tapant la commande :

ps -A |grep squeeze

Ca doit vous retourner quelque chose comme ça (Le numéro sera différent):

617 ?   00:45:02 squeezelite-arm

Pour arrêter squeezelite:

sudo /etc/init.d/squeezelite stop

Vous pouvez mettre à jour le Squeezelite en effectuant la commande suivante. Quand une nouvelle version est disponible elle est présente sur le site squeezelite (squeezelite)

sudo /etc/init.d/squeezelite update

La commande va arrêter Squeezelite, le mettre à jour et le relancer.

 

Voilà c’est fini, vous pouvez effectuer un redémarrage de votre raspberry (sudo reboot), squeezelite démarrera automatiquement. 😎

Redémarrage la nuit

Mon raspberry tourne 24h/24 et 7j/7. J’ai remarquer qu’au bout de 2 semaines, le raspberry ne réponds plus aussi rapidement.

La solution est de le redémarrer toutes les nuits à 3h.
Pour ce faire, on va utiliser CRONTAB :

crontab -e

On ajoute en bas :

0 3 * * * sudo /sbin/shutdown -r now

Le fichier peut-être ouvert dans Nano. Pour quitter, il suffit d’appuyer sur CTRL-X et de sauvegarder le fichier.

Maintenant, la règle est crée et votre raspberry sera redémarré tous les jours à 3h.

 

N’hésitez pas à commenter !

A bientôt !

Laisser un commentaire

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