Magazine Informatique

Raspberry pi zero : installer un OS et configurer MyMedia

Par Chezmat @chezmat

Après une période d’indisponibilité (pénurie sur les composants), j’ai enfin pu mettre la main sur un raspberry pi zero 2 chez Kubii. L’idée étant de m’installer un petit serveur, notamment pour faire tourne le service « MyMedia » pour lire mes MP3 sur mon echo show 5. Sauf que mon enthousiasme naïf s’est vite heurté à quelques problèmes pratiques (mais pas insolubles).

Matériel / Logiciels

Matos

  • Un Raspberry Pi zero 2
  • Une carte micro SD (8 Go mini)
  • Un câble micro USB (alimentation du Raspberry Pi)
  • Un lecteur de carte micro SD
  • PC Windows 10 (ou supérieur)

Logiciels

  • Raspberry Pi Imager (dispo ici)
  • Putty (ou tout autre logiciel SSH à votre convenance)

Installer une image

Là, c’est devenu hyper simple ! Vous téléchargez le Raspberry Pi Imager sur le site de raspberry. L’utilitaire permet de tout gérer. Du formatage de la carte à l’OS que vous voulez installer. Vous pouvez même installer une image d’une distribution que vous aurez téléchargé au préalable.

Petit conseil, si la carte micro SD a déjà été utilisée, faites un formatage avant l’installation, ça peut vous éviter un problème lors de l’installation sur des corruptions de fichiers (c’est du vécu bien évidement). :-)

Une fois le Pi Imager lancé, indiquez l’emplacement de la carte micro SD, choisissez l’OS (j’ai pris la version 64 bit du Raspberry Pi OS censée être un peu plus performante) et patientez un long moment pour que l’image soit installée…

Raspberry pi zero : installer un OS et configurer MyMedia

Allo Houston ? On a un problème!

C’est à ce moment que les choses se compliquent… Sur un Raspberry Pi « ordinaire », je le branche en RJ45 et soit je me connecte en SSH depuis mon PC, soit je le branche sur un écran et j’utilise un mini-clavier. Sauf qu’avec le Pi Zero, que du wifi et une prise micro-usb (pas d’usb standard). Donc impossible de configurer quoi que ce soit ou d’installer un logiciel.

Là, je suis en mode, oups, comment je fais ? Impossible de brancher un clavier et la flemme de chercher mon câble mini-HDMI. Je me suis senti un tout petit peu con.

Heureusement, Google est mon ami! La solution n’est pas si compliquée finalement.

On configure le wifi et on récupère une IP

Bonne nouvelle, la carte micro SD est lisible depuis le PC en windows 10. On peut donc configurer le wifi via un fichier .conf. Si vous n’arrivez pas à lire la carte, allez voir ce lien.

Ajoutez un nouveau fichier texte à la racine de la carte et renommez-le « wpa_supplicant.conf ».

A l’intérieur du fichier mettez le texte suivant :

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=FR

network={
     ssid="Nom de votre réseau wifi"
     psk="clé wifi"
     key_mgmt=WPA-PSK
}

Il faudra bien sûr personnaliser avec vos infos le nom du réseau wifi et sa clé. :-)

Clic droit sur la carte micro SD et « éjecter » pour la retirer proprement. Il vous reste ensuite à booter votre raspberry pi avec la carte. Il va se connecter à votre wifi. Reste à récupérer son adresse IP. Moi, je regarde dans les périphériques vus depuis ma freebox :

Raspberry pi zero : installer un OS et configurer MyMedia

Mais vous pouvez aussi lancer un ping sur le raspberry :

ping raspberrypi

Ou forcer l’ip V4 si le ping répond en ipv6 en ajoutant le suffixe -4 :

Raspberry pi zero : installer un OS et configurer MyMedia

Bonus : MyMedia

MyMedia est une application à utiliser avec un appareil Alexa pour lire vos fichiers musicaux. Il synchronise votre bibliothèque musicale (en local ou sur un répertoire réseau).

Installation de MyMedia

On se connecte en ssh sur l’IP récupérée à l’étape précédente. Pour cela n’importe quel utilitaire ssh fait l’affaire. J’utilise Kitty personnellement (version portable).

Pour se connecter, on prend les valeurs par défaut : pi / raspberry (user / mot de passe).

On se met d’abord dans le répertoire tmp :

cd /tmp

Puis on télécharge l’application :

wget https://s3.amazonaws.com/bizmodeller/MyMediaForAlexa/Release+1.3.122.0/mymedia_1.3.122.0-1_armhf.deb

J’ai eu un message d’erreur :

Raspberry pi zero : installer un OS et configurer MyMedia

Il faut recommencer jusqu’au moment ou ça passe. :-)

Une fois l’application téléchargée, on peut lancer l’installation :

sudo apt-get install ./mymedia_1.3.122.0-1_armhf.deb

Une fois terminée, vous aurez ce message :

Raspberry pi zero : installer un OS et configurer MyMedia

Vérifier à l’adresse donnée que le service tourne bien (dans mon cas http://192.168.1.198:52051) :

Raspberry pi zero : installer un OS et configurer MyMedia

C’est tout bon, vous pouvez mettre votre Pi dans son boitier, le mettre dans un coin et l’oublier !

La configuration MyMedia

Je ne vais pas rentrer dans le détail, car la configuration est assez simple (et détaillée sur le site).

Mais il reste un point encore bloquant ! En effet, dans mon cas, les mp3 sont stockés sur un répertoire réseau. Et pour que MyMedia puisse les voir, il faut mapper un lecteur réseau sur la machine qui héberge l’application. Autrement dit, il faut mapper un lecteur sur le raspberry pi. Ça doit se faire probablement aussi simplement que sur Windows dans l’interface graphique. Mais une fois encore, flemme de brancher le raspberry pi sur un écran et une souris. Hop, c’est parti pour faire ça en ligne de commandes!

Mapper un répertoire réseau

Créer un nouveau répertoire, par example « music » :

mkdir /home/pi/music

Editer le fichier /etc/fstab pour mapper votre répertoire avec le lecteur réseau :

sudo nano /etc/fstab

Il faut ajouter une ligne qui va lier votre répertoire avec le disque réseau :

//192.168.1.136/commun/Musique /home/pi/music cifs guest,_netdev 0 0

La première partie est mon répertoire NAS (voir mon tuto OMV pour un NAS avec un raspberry pi) : //192.168.1.136/commun/Musique

La seconde, le répertoire que vous avez créé : /home/pi/music cifs guest,_netdev 0 0

Raspberry pi zero : installer un OS et configurer MyMedia

Ajoutez la ligne, puis faire « ctrl + x » pour sortir. Cliquez sur « Y » pour enregistrer. Patientez le temps que le fichier s’enregistre.

Il ne vous reste plus qu’à monter le répertoire réseau :

 sudo mount /home/pi/music

Il vous suffit désormais d’indiquer le répertoire dans le « watch folder » de MyMedia pour synchroniser votre bibliothèque :

Raspberry pi zero : installer un OS et configurer MyMedia

Laisser tourner la synchronisation (c’est longgggg).

Epilogue

EDIT 1 : Après plusieurs indexations qui finissent par faire planter le pi, j’ai « fragmenté » l’indexation (j’ai des sous-répertoires par catégories).

J’ai également rapproché mon Raspberry Pi de la box (un étage de moins, ça aide) pour un meilleur wifi. Mais pas de mystère, sur les gros répertoires, c’est compliqué d’indexer sans faire planter le service. Je pense qu’on atteint ici les limites de performance de la petite framboise (je n’ai pas eu ce souci quand j’avais My Media installé sur mon PC).

Astuce pour ne rebooter que le service My Media (sans rebooter le raspberry) en cas de plantage :

service mymedia restart

Il faudra remettre le mot de passe du compte « pi », mais ça permet de récupérer l’accès à la console My Media en 15 s.

Raspberry pi zero : installer un OS et configurer MyMedia

EDIT 2 : Après reboot, je perdais le lecteur réseau, je devais le re-monter « manuellement » via la ligne de commande en SSH (la commande « mount »). Pas génial…

J’ai trouvé comment régler ça dans les options de l’OS. Pour cela, lancez la commande suivante :

sudo raspi-config

Choisissez « System Options » :

Raspberry pi zero : installer un OS et configurer MyMedia

puis « Network at Boot » :

Raspberry pi zero : installer un OS et configurer MyMedia

réglez le paramètre sur « Yes » :

Raspberry pi zero : installer un OS et configurer MyMedia

Cela permet d’attendre d’avoir la connexion réseau pour valider le lecteur réseau. Et du coup, le lecteur est bien re-mappé automatiquement après le boot.

VN:F [1.9.22_1171]

Retour à La Une de Logo Paperblog

A propos de l’auteur


Chezmat 117 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte