Fly Me

(To The Moon)

En imprimant le design de Pierre Muth pour un client de l'association C&R ID nous avons découvert un design splendide ! Une fois imprimé en 50cm de haut pour le demandeur qui nous a trouvé via Partage 3D, nous avons décidé de modifier légèrement le design pour en faire un lecteur audio. Dans les lignes ci-dessous se trouve l'essentiel du projet, un client "player audio" dans la base de la fusée et un serveur audio motorisé par LMS : Fly me to the Moon !

Dans les lignes suivantes on va vous parler :

  • du design de Pierre Muth

  • de la fabrication d'un lecteur audio "client" du LMS (Logitech Media Server) avec une Orange Pi Zero LTS

  • de la fabrication du serveur LMS avec une Orange Pi Zero 2

  • de l'ajout d'un éclairage dans un nuage de fumée avec un Arduino

Whaaaa, quel programme !

Le superbe design de Pierre Muth

La description est ici et il existe aussi un repo github.

L'objet est composé de pièces qu'il est impossible de monter à l'envers. Comme c'est de l'impression 3D on peut modifier le facteur d'échelle et c'est assez facile d'imprimer une fusée de 50cm de haut. Attention cependant, les pièces sont pleines et il faut de la matière, c'est à dire du filament, pour les remplir. L'impression à donc un coût, surtout si comme nous vous préférez un beau filament avec la vraie couleur RAL3020 de chez Francofil.

On imprime régulièrement des objets de toutes sortes et c'est rare de voir une aussi belle conception, à la fois en terme de design et en terme d'objet terminé.

Il ne faudra pas trop l'ébruiter parce que les ayants droits (vous avez reconnu l'objet) sont très agressifs. Mais bon, aujourd'hui on imprime des Yodas et des Benders sans que ça pose problème : il ne s'agit pas de faire un commerce, c'est de la "consommation personnelle", des petits objets que l'o s'échange dans le cadre familial.

Modification du nuage

Nous n'avons pas touché à la fusée, nous nous sommes contentés de modifier le nuage de fumée qui sert de support à l'objet.

En effet, après avoir imprimé une version 37cm de la fusée, je me suis dit que l'on pouvait ajouter une fonction de lecteur audio à celle de décoration.

Est-ce que vous connaissez quelqu'un qui installe des Orange Pi partout ?

Donc notre modification consiste à installer une petite Orange Pi Zero LTS très économique dans le nuage.

La carte offre des performances suffisantes pour faire un joli player audio. Et surtout, elle consomme très très peu (environ 200mA) et ses dimensions sont très réduites.

On dispose tout de même d'un processeur à quatre cœurs et ça pulse !

En ce moment avec la TVA + la pénurie de composants la carte a vu son tarif bien augmenter, presque de 50%, mais elle reste très abordable et agréable à utiliser.

Pour transformer la carte en player, en gros, il suffit d'installer le système Armbian et ensuite d'installer le code squeezelite pour fabriquer un lecteur audio.

Il reste deux points un peu difficiles pour le débutant :

  • indiquer le réseau Wifi à utiliser (il faut d'abord se connecter avec un câble réseau pour faire ça et ensuite lancer la commande armbian-config)

  • configurer le player pour qu'il utilise le DAC sur le port USB : ca se passe dans le fichier squeezelite

En avant : la carte n'a pas d'écran (Headless) et pour commencer il faut la connecter au réseau filaire afin de prendre la main dessus et configurer le Wifi.

On peut prendre la main à distance avec des logiciels tels que MobaXterm, Putty etc... Sous Windows, selon la version, on peut avoir quelque chose d'identique à la commande de terminal Linux "ssh" qui consiste à taper la ligne suivante en remplaçant l'adresse IP par celle attribuée par votre box à la carte :

ssh root@192.168.1.114

C'est ainsi que l'on prend la main à distance.

Lorsque l'on boote pour la première fois sur la petite carte installé dans le nuage de la fusée, il est de bon ton de mettre à jour le système en tapant les deux commandes suivantes :

apt-get update

apt-get upgrade

Configuration du Wifi avec armbian-config

Quand la mise à jour est terminée, on peut configurer le Wifi à l'aide de l'utilitaire armbian-config, pour se faire on tape :

armbian-config

Un petit utilitaire s'affiche qui va permettre d'aller dans la section Network.

Puis de choisir la section Wifi

Puis de choisir une réseau Wifi...

Installation et configuration du lecteur audio Squeezelite

Squeezelite est une solution logicielle pour la lecture audio. Sur notre petite carte l'installation est ultra simple, il suffit de taper la commande suivante :

sudo apt install squeezelite

Quand le logiciel est installé, il faut connecter un DAC USB sur le lecteur, par exemple l'exceptionnel D10Balanced de chez Topping. A ce moment là, on peut regarder comment le DAC est identifié en tapant la commande suivante :

squeezelite -l

Le DAC est bien reconnu, mais là il y a une petite ruse. Soit vous utilisez la section "default" mais tout va sortir en 48kHz, soit vous utilisez la section "Direct hardware device without any conversions"...

Nous allons recopier la chaine suivante :

hw:CARD=Balanced,DEV=0

La chaine est l'identification de la sortie du logiciel Squeezelite.

Pour configurer la sortie, il faut éditer le fichier etc/default/squeezlite en tapant la commande suivante :

nano /etc/default/squeezelite

Et ensuite on change le lecteur par défaut en ajoutant la chaine que l'on vient de récupérer :

Voilà, c'est fait, on peut rebooter avec la commande suivante :

sudo reboot

Heu, à noter que ma carte ne reboote par, le système s'arrête mais il faut la débrancher et la rebrancher pour qu'elle reboote :/

En conclusion du lecteur

Je vois de nombreuses personnes acheter des "players audio" aux nombreuses fonctions réseaux. Ce sont souvent des machines onéreuses qui sont fabriquées par des entreprises dont l'informatique n'est pas du tout le métier. Les machines sont rarement bonnes en audio, et sont pénalisées par du logiciel interne pas très bon. Elles seront au mieux jamais mise à jour et au pire une mise à jour va les rendre moins performantes ou totalement inopérantes.

A part le fait que l'on n'a ainsi pas besoin de s'occuper de quoi que ce soit du moment que l'on paye, de mon point de vue j'ai du mal à comprendre pourquoi ces machines se vendent.

Parce que ce n'est pas très compliqué, en dépensant une somme réduite, de fabriquer un lecteur audio. Sans le tarif du DAC (il y en a d'excellents à 150€) on peut fabriquer un player pour une trentaine d'euros : le tarif d'une carte qui a en plus besoin d'un d'alimentation USB et d'une carte SD.

Est-ce que c'est fiable ? Oui ! J'ai chez moi des lecteurs vieux de plus de trois ans sur lesquels je n'ai absolument rien fait de plus qu'une installation et qui servent tous les soirs et les matins (chambre / cuisine).

Même sans installer un serveur supplémentaire, sans aller à utiliser un NAS ou autre, sur la même carte on peut installer la partie serveur LMS et profiter des chaines de Radio France en bonne qualité (mieux que du MP3), de Radio Paradise en FLAC, de Quobuz ou Deezer si vous en avez envie, de centaines de milliers de chaînes de radio... Si vous débutez prenez une Raspberry avec la solution logicielle PiCorePlayer. Si vous avez envie de corriger en temps réel, un PC genre NUC ou une carte Radxa, dans les 100€, ça fera l'affaire avec la solution logicielle Daphile.

Allez-y, faites-le, demandez de l'aide autour de vous, lancez-vous et vous aurez le plaisir de profiter d'une solution pérenne, échappant à l'obsolescence programmée, avec la capacité d'être mise à jour et tout ça pour un peu de temps et une poignée de cacahuètes.

Serveur Logitech Media Server

Pour ce projet, nous avons aussi installé le serveur Logitech Media Server sur une Orange Pi Zero 2. La carte n'est pas très chère, consomme peu et offre des performances vraiment très satisfaisantes par rapport à ce que l'on va lui demander (ça bastonne en réseau). On a récupéré le système d'exploitation sur le lien google fourni par Orange PI pour le server bionic qui nous intéresse :

https://drive.google.com/drive/folders/1ZAkiEmpbAeZv_eyJGDzLm7-vJF7Gizqy

On va poser la Orage Pi Zero 2 qui contient la partie "serveur" LMS près du HUB réseau pour bénéficier d'une liaison par câble. L'idée est de pouvoir servir plusieurs lecteurs audio disséminés dans la maison et il est important que le serveur puisse bénéficier d'une connexion câble moins chaotique qu'un Wifi, tolérable pour un lecteur.

On a imprimé une boite pour le serveur pour lequel on va aussi utiliser un petit écran LCD.

Hélas la carte à quasiment doublé de tarif par rapport à se sortie, grrrr !

Mais comme elle vaut le coup, allons-y !

Le système s'installe facilement avec un utilisateur / password qui est root/orangepi (pout éviter de chercher).

Je n'avais qu'une carte de 16Go pour installer le système sous la main ce soir là.

Que dire de plus, on commence par mettre à jour le zinzin

apt-get update

apt-get upgrade

Et ensuite je ne sais plus très bien ce que j'ai fait.

wget http://downloads.slimdevices.com/LogitechMediaServer_v8.1.1/logitechmediaserver_8.1.1_arm.deb

apt-get -f install ./logitechmediaserver

dpkg -i logitechmediaserver_8.1.1_arm.deb

apt-get update

apt-get upgrade

apt --fix-broken install

apt-get -f install ./logitechmediaserver

apt-get -f install logitechmediaserver

Et ensuite j'ai installé cifs parce que je veux que le serveur indexe les fichiers qui sont sur un NAS Syno

apt-get install cifs-utils

apt-get install cifs --fix-missing

Ensuite j'ai créé un dossier syno dans le dossier /mnt

puis j'ai lancé l'édition du fichier /etc/fstab pour expliquer comment on se connecte au syno

cd /mnt

mkdir syno

cd /etc

nano fstab

Dans le fichier fstab j'ai ajouté la ligne suivante qui indique :

  • l'adresse du syno,

  • le dssier partagé sur lequel on peut se connecter

  • où on le monte en local

  • quel système de fichier utiliser

  • quel compte utilisateur utiliser pour se connecter

//192.168.1.21/Volume2 /mnt/syno cifs user=marcel,password=LesNouillesSontFroides2100

Dans l'interface sur LMS j'ai ensuite effectué quelques paramètres :

  • installation du plugin Radio France pour avoir les radios en meilleure qualité que MP3

  • Radio Paradise pour avoir une radio en FLAC

  • et Material Skin pour avoir une interface moderne qui marche même sur le téléphone.

Voilà, c'est plié en moins d'une heure pour avoir un serveur qui fonctionne au poil, pas plus d'explication, on en a déjà parlé par ailleurs.