Une belle association.
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.images/posts-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’aptfull-upgrade
sur 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/