Une platine Volumio et une antenne blea.

Une belle association

Sommaire

Prérequis

  • Savoir utiliser un terminal
  • Disposer d’un raspberry pi
  • Disposer d’une clé bluetooth pour le fonctionnellement de blea (Avantree DG40S par exemple), celle d’origine de la carte déconnecte régulièrement.
  • Optionnel mais recommandé pour plus de stabilité: Disposer d’une clé wifi (une TP-Link TL-WN722N par exemple).

Contexte

L’objectif de ce papier est de se doter d’une enceinte sans fil tournant sur Volumio. Ce système a l’avantage de disposer d’une api http simple, qu’on peut facilement s’interfacer avec Jeedom par le biais du plugin script.

En outre le système étant basé sur Debian, il est possible de lui faire faire bien d’autres choses, pour le cas d’espèce ici, d’une antenne blea pour Jeedom.

Mais surtout, cet article se propose de donner une solution pour rendre les dépendances de ce plugin compatible avec Debian Jessie. En effet, à l’heure de la rédaction de ce post, Volumio est toujours bloqué dans cette version vieillissante. Une solution pourrait être de retourner à lms de tester l’efficacité des trackers bluetooth basés sur esp32, afin de passer mes enceintes sur des systèmes plus simples et plus robustes comme picoreplayer ou encore pimusicbox.

La carte esp32 est en route, je ferai sans doute un retour après test.

Installation du projet

Gravure de l’image

La première étape est de récupérer une image de Volumio pour raspberry pi sur le site.

Puis il faudra flasher le fichier volumio-XXXXX-pi.img-zip sur sa carte sd. Les ninjas utiliseront la commande dd, ou on pourra le faire plus tranquillement à la souris avec Etcher.

Ensuite on glisse la carte dans le pi, on le démarre, puis on attend 3-4 min que le système s’initialise, puis deux possibilités :

  • Le pi est branché en Ethernet, il suffit de se rendre sur son adresse ip

  • Le pi ne l’ai pas, il va alors initier un réseau wifi, connectez-vous dessus avec votre téléphone et allez dans les paramètres (roue crantée), puis réseau et configurez le ssid et le mot de passe de votre réseau wifi.

Terminez cette partie en activant la liaison ssh sur votre pi en vous rendant à cette adresse :

http://ip-de-votre-rapsberry/dev

Configuration générale

Lancez la liaison ssh avec votre terminal de prédilection, puis :

ssh volumio@ip-de-votre-rapsberry

le mot de passe est volumio

Mise à jour du système

sudo apt update

sudo apt upgrade

sudo apt-get -f install

Attention ne faites d’apt dist-upgrade ou d’apt full-upgradesur Volumio, ces commandes ont pas effet de casser le système (je parle d’expérience).

Création de l’utilisateur pi et ajout d’un mot de passe pour root:

sudo adduser pi

sudo passwd root

Paramétrez temporairement votre serveur ssh comme suit (le numéro de port est à personnaliser).

sudo nano /etc/ssh/sshd_config

Port 23456
ListenAddress 0.0.0.0
PermitRootLogin yes
#PermitRootLogin without-password
service ssh restart

ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip-de-votre-rapsberry -p22555

ssh root@pi-cuisine.home -p 22555

nano /etc/ssh/sshd_config

#PermitRootLogin yes
PermitRootLogin without-password
nano /etc/locale.gen

fr_FR.UTF-8 UTF-8
dpkg-reconfigure locales

Configuration de Volumio

Un bug persistant existe dans les librairies pour mpd, il se règle facilement.

ln -s /opt/vc/lib/libbcm_host.so /usr/lib/

systemctl restart mpd.service

systemctl status mpd.service -l

Le reste de la configuration se fait sur la page web :

  • Ajout de son répertoire musical (local, nfs ou samba)

  • Ajout de son DAC usb ou i2c

  • etc…

Vous pouvez aussi tout de suite créer une playlist à partir d’une url radio, qui sera actionnable à l’adresse http://ip-de-votre-rapsberry/api/v1/commands/?cmd=playplaylist&name=linnradio

linnradio est un exemple ce peut être franceculture, radio canut, etc…

nano /data/playlist/linnradio

[{"service":"webradio","uri":"[http://radio.linnrecords.com/cast/tunein.php/linnradio/playlist.pls","title":"Linn](http://radio.linnrecords.com/cast/tunein.php/linnradio/playlist.pls","title":"Linn) Radio","albumart":"/albumart"}]

La manipulation peut aussi se faire sur l’interface web.

Configuration de blea

Le plugin exige que l’utilisateur que vous lui indiquez appartienne au groupe sudo. J’ai donc apporté les modifications en conséquence.

sudo nano /etc/sudoers

pi ALL=(ALL) NOPASSWD: ALL

Rendez-vous sur la page du plugin blea dans Jeedom, renseignez les informations nécessaires (ip, user, mot de passe), puis envoyez les fichiers sur le pi.

Relancez le terminal, et la liaison ssh, puis tapez :

cd /home/pi/blead/resources/

Avant de modifier install.sh, faites une copie nommée install.sh.save

cp install.sh install.sh.save

Jessie dispose de python3.4 dans ses dépôts, des modifications sur le script blea sont néanmoins à apporter pour forcer le plugin à utiliser cette version pour blea.

sed -i -e "s/python/python3/g" install.sh

sed -i -e "s/ pip/ pip3/g" install.sh

Profitez pour corriger une coquille du développeur.

sed -i -e "s/connmanctl/systemctl/g" install.sh

Lancez l’installation.

bash install_apt.sh

bash install.sh

Parfois les choses ne se passent pas très bien, il ne faut pas hésitez à relancer les deux commandes précédentes si besoin.

Redonnez les droit à pi sur le dossier /blead.

chown -R pi:pi /home/pi/blead

Redémarrez la machine

reboot

Personnalisation du shell

Il s’agit de ma touche personnel. Je suis un fada de fish shell. Pour l’utilisez :

sudo apt install fish

chsh -s /usr/bin/fish

Sauvegarde de son système

Maintenant que vous disposez d’un système fonctionnel, il est temps d’en faire une sauvegarde. Éteignez le pi, mettez la sd dans votre pc et tapez :

sudo dd if=/dev/sde | gzip -9 > ~/volumio--pi-sdb.gz

Sources

https://geekmag.fr/2015/08/16/volumio-guide-installation-configuration-et-utilisation/
https://pimylifeup.com/raspberry-pi-volumio/