PROJET AUTOBLOG


Nicolargo

source: Nicolargo

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Test d’OpenElec sur Raspberry Pi

dimanche 28 avril 2013 à 20:22

Avec l'apparition du Raspberry Pi et de son GPU Broadcom VideoCore IV intégré, les logiciels de "media center", c'est à dire les systèmes permettant de connecter directement un PC à une télévision pour exploiter sa bibliothèque vidéo, se sont rapidement intéressés à ce nouvel OVNI technologique. Ainsi plusieurs distributions Linux orientés "media center" ont vus le jour pour nous permettre et permettent, pour moins de 30€, de disposer d'un système intégré pour lire des vidéos HD téléchargés plus ou moins légalement sur le Internet.

Nous allons dans ce billet nous intéresser à l'une d'entre elle: OpenElec (Open Embedded Linux Entertainment Center) qui dispose d'un bonne notoriété sur les réseaux sociaux, notamment grâce à une interface de navigation fluide et à une documentation bien fournie (notamment leur Wiki). Il faut juste garder en tête que toutes ces distributions "media center" se base sur le même noyau composé de Raspbian (le système d'exploitation Debian adapté au Raspberry Pi) et XBMC pour le logiciel.

OpenElec screenshot

Installation d'OpenElec

Pour installer OpenElec, les auteurs du projet ont eu la bonne idée de créer un script qui va partitionner et graver la dernière version du système (3.0.1 au moment de l'écriture de cet article) sur une carte SD que vous n'aurez plus qu'à insérer dans votre Raspberry Pi.

Voici les lignes de commandes à saisir sur votre machine GNU/Linux pour installer la version 3.0.1 d'OpenElec sur une carte SD disponible via l'identifiant système /dev/sdb (c'est bien sûr à contrôler avec la commande "fdisk -l" pour être sûr que /dev/sdb correspond bien à votre carte SD histoire de ne pas effacer un autre disque dur):

wget -O OpenELEC-RPi.arm-3.0.1.tar.bz2 http://openelec.tv/get-openelec/download/finish/10-raspberry-pi-builds/87-openelec-stable-raspberry-pi-arm
bzip2 -d OpenELEC-RPi.arm-3.0.1.tar.bz2
tar xvf OpenELEC-RPi.arm-3.0.1.tar
cd OpenELEC-RPi.arm-3.0.1/
sudo ./create_sdcard /dev/sdb

Installation de votre Raspberry Pi

Voici la configuration que j'ai utilisé pour le test:

Après branchement, le système devrait démarrer automatiquement et l'interface va apparaître sur votre téléviseur. Si vous avez un modèle B, l'accés en SSH (l'adresse IP de votre Raspberry Pi est donnée dans le menu configuration) se fait à l'aide de l'utilisateur root et du mot de passe openelec.

Test de la bête

J'ai d'abord testé OpenElec avec un Raspberry Pi model B puis quand j'ai reçu mon model A j'ai basculé vers ce boîtier car je n'utilise pas mon NAS pour stocker mes films mais un simple disque dur portable connecté directement au Raspberry Pi.

Le démarrage du système est assez rapide (entre 1 minute et 1 minute 30), on arrive directement sur l'interface XMBC customisée à la sauce OpenElec. La navigation dans les différents menus se fait de manière relativement fluide. Le "relativement" n'est pas vraiment un problème quand comme moi vous utilisez une télécommande. Par contre on ressent une certaine difficulté du Raspberry Pi à suivre le rythme quand on utilise une souris. A noter que l'utilisation direct de la télécommande est assez blufante, une vraie bonne idée cette norme HDMI CEC.

Sur ma configuration, je n'ai presque pas eu de configuration à faire mis à part un calibrage de l'écran. En effet, je perdais des petites bandes d'image sur les cotés. Le plus simple pour faire cela est de lire un film et de cliquer sur le bouton "Vidéos - Paramétrage" puis "Étalonnage de l'écran". Vous aurez alors droit à un wizard qui va vous permettre de bien redimensionner la vidéo par rapport à votre télévision.

On peut ensuite passer au test de lecture vidéo qui est l'objectif principal de notre boîtier.  Pour cela j'ai fait tourner pendant une journée entière OpenElec en lecture d'un rip HD Xvid 720p de "The art of flying" qui avec ses traveling n'est pas une vidéo facile à décoder.

The art of flying

Le résultat est très concluant, aucune saccade constatée de la vidéo lors de la lecture (mais bon je suis pas non plus resté toutes la journée devant l'écran :) ). Le son 5.1, récupéré directement via la liaison HDMI, est bon. J'ai également fait des tests avec des trailers en HD 1080p et il n'y a également aucun problème de lecture. Le GPU fait vraiment bien son boulot.

Le Raspberry Pi ne chauffe presque pas (j'ai mis la carte dans un boîtier transparent que l'on peut trouver pour quelques € pour que la carte ne prenne pas la poussière et pour éviter que mes enfants mettent les doigts dessus, c'est curieux ces bêtes là...).

A noter qu'avant la rédaction de ce billet, j'avais demandé à mon copain Twitter des retours d'expériences sur les "media center" du Raspberry PI. De nombreux followers m'avaient signalés qu'il avait des problèmes de lags lors de la lecture de vidéo HD 1080p sur OpenElec. Je n'ai pas constaté de problème sur ma configuration et je pense que leurs problèmes viennent du fait qu'il utilise des vidéos stockées sur un NAS. Il faut donc regarder du coté du réseau et notamment si vous utilisez un dongle Wifi sur votre Raspberry Pi.

Problème d'avance et de retour rapide

Lors des tests, j'ai constaté un problème au niveau de l'avance et du retour rapide lors de la lecture des vidéos. C'est un problème connu au niveau de XBMC.

Il existe heureusement une solution de contournement qui consiste à remplacer le "fast forward" (& rewind) par le "step forward" (& rewind). Pour cela, il faut éditer le fichier remote.xml (à chercher sur votre configuration via la commande "find / -name remote.xml"), puis à éditer la section FullscreenVideo:

<FullscreenVideo>
    <remote>
      <title>Stop</title>
      <back>Stop</back>
      <reverse>StepBack</reverse>
      <forward>StepForward</forward>
    </remote>
  </FullscreenVideo>

Le pas par défaut est de 30 secondes, pour le changer il faut éditer un autre fichier nommé advancedsettings.xml qui est à créer pour l'occasion (cliquer ici pour voir comment créer ce fichier selon la documentation de XBMC) puis à l'éditer avec le contenu suivant:

<advancedsettings>
<video> <!-- "VideoSettings" instead of "video" for builds prior to May 22, 2006 -->
  <usetimeseeking>true</usetimeseeking>  <!-- Whether to use time based or percentage based seeking. -->
  <timeseekforward>15</timeseekforward>  <!-- Time to seek forward in seconds when doing a short seek.  Defaults to 30. -->
  <timeseekbackward>-15</timeseekbackward>  <!-- Time to seek backward in seconds when doing a short seek.  Defaults to -30. -->
  <timeseekforwardbig>600</timeseekforwardbig>  <!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes). -->
  <timeseekbackwardbig>-600</timeseekbackwardbig>
</video>
</advancedsettings>

Conclusion

Le Raspberry Pi est vraiment un joujou surprenant par ses capacités à faire des choses habituellement réservées à du matériel beaucoup plus cher. Avec les solutions intégrées comme OpenElec, on n'a même plus la complexité de configuration et ces solutions de "media center" deviennent à la porté de n'importe quel bidouilleur.

... pour faire la fine bouche

Il manque encore le support du HDMI Ethernet Channel qui permettrait au Raspberry d'utiliser via le câble HDMI la liaison Internet de la télé. C'est prévue dans la norme HDMI 1.4 mais pas implémenté dans les modèles actuels du Raspberry Pi (voir la page suivante pour les explications).

---

Allez, à vos claviers, parlez moi de votre configuration "media center". Utilisez-vous OpenElec ou bien une autre distribution ? Si oui pourquoi ?

---

Cet article Test d’OpenElec sur Raspberry Pi est apparu en premier sur Le blog de NicoLargo.

Raspberry Pi – Faire un backup de sa carte SD

lundi 22 avril 2013 à 08:30

cartesdCe qu'il y a de bien avec un Raspberry Pi c'est que l'on peut passer d'un système à l'autre en changeant simplement de carte SD et en redémarrant la machine. On peut ainsi avoir une carte avec une distribution classique (Raspbian), une autre avec un média center (OpenELEC ou Raspbmc) ou encore une autre avec un desktop light (ArchLinux). L'idéal étant d'avoir à disposition autant de cartes SD que de systèmes (vu le prix des cartes, ce n'est pas un gros investissement).

Cependant, il est parfois utile, pour des tests ou pour économiser le nombre de ces cartes de sauvegarder puis de restaurer l'image disque sur une machine GNU/Linux classique. C'est ce que nous allons voir dans ce billet.

Sauvegarde intégral d'une carte SD

On commence par insérer la carte SD dans le lecteur du PC GNU/Linux sur lequel on veut faire la sauvegarde.

Pour identifier le périphérique correspondant à la carte SD à sauvegarder sur son système, il suffit de saisir la commande suivante et de regarder le device qui correspond à sa carte SD:

$ sudo fdisk -l
[sudo] password for nicolargo: 

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 têtes, 63 secteurs/piste, 38913 cylindres, total 625142448 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000e3a56

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sda1   *        2048   617170943   308584448   83  Linux
/dev/sda2       617172990   625141759     3984385    5  Étendue
/dev/sda5       617172992   625141759     3984384   82  partition d'échange Linux / Solaris

Disk /dev/sdb: 16.0 GB, 16012804096 bytes
64 têtes, 32 secteurs/piste, 15271 cylindres, total 31275008 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00014d34

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/sdb2          122880    31275007    15576064   83  Linux

J'ai donc deux disques détectés sur ma machine:

On lance la sauvegarde avec la commande suivante:

sudo dd if=/dev/sdb | gzip -9 > ./raspberry-20130420-sdb.img.gz

Restauration intégrale d'une carte SD

Après avoir inséré la clé USB sur laquelle on souhaite faire la restauration (attention la clé va être effacée), on commence par identifier l'identifiant du périphérique comme dans le paragraphe précédant (/dev/sdb dans mon cas).

Puis ensuite, il suffit de saisir la ligne de commande:

gunzip ./raspberry-20130420-sdb.img.gz | sudo dd of=/dev/sdb

---

Nous allons ensuite voir comment sauvegarder les carte SD partition par partition, ce qui peut être utile si vous ne voulez que sauvegarder le système et pas une éventuelle partition de données.

Sauvegarde partition par patition d'une carte SD

Comme on peut le voir sur les deux dernières lignes de la commande fdisk du premier paragraphe , la carte SD (point de montage /dev/sdb dans mon cas) comporte deux partitions (mais il peut y en avoir plus selon la configuration de votre Raspberry Pi).

Il faut sauvegarder toutes les partitions:

sudo dd if=/dev/sdb1 | gzip -9 > ./raspberry-20130420-sdb1.img.gz
sudo dd if=/dev/sdb2 | gzip -9 > ./raspberry-20130420-sdb2.img.gz

Ces commandes peuvent prendre plus ou moins de temps selon la taille de votre carte SD. J'ai ainsi mis plus d'une dizaine de minute pour faire la sauvegarde de ma carte SD de 16 Go. On voit ici l'avantage de choisir la taille de ses cartes SD en fonction de ses besoins...

Restauration partition par patition d'une carte SD

Nous allons maintenant restaurer la carte préalablement sauvegardée. La procédure consiste à créer les partitions avec la commande fdisk puis ensuite à y écrire les images avec dd.

On part sur le principe ou la carte est vierge est sans partition (sinon utilisé la commande d pour chacune des partitions puis w pour valider):

$ sudo fdisk /dev/sdb

Commande (m pour l'aide): p

Disk /dev/sdb: 16.0 GB, 16012804096 bytes
64 têtes, 32 secteurs/piste, 15271 cylindres, total 31275008 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00014d34

Périphérique Amorce  Début        Fin      Blocs     Id  Système

On commence par créer le première partition (sdb1):

Commande (m pour l'aide): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Numéro de partition (1-4, par défaut 1): 
Utilisation de la valeur par défaut 1
Premier secteur (2048-31275007, par défaut 2048): 8192
Dernier secteur, +secteurs or +taille{K,M,G} (8192-31275007, par défaut 31275007): 122879

Commande (m pour l'aide): t
Partition sélectionnée 1
Code Hexa (taper L pour lister les codes): c
Type système de partition modifié de 1 à c (W95 FAT32 (LBA))

puis la seconde (sdb2):

Commande (m pour l'aide): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Numéro de partition (1-4, par défaut 2): 
Utilisation de la valeur par défaut 2
Premier secteur (2048-31275007, par défaut 2048): 122880
Dernier secteur, +secteurs or +taille{K,M,G} (122880-31275007, par défaut 31275007):

Commande (m pour l'aide): p

Disk /dev/sdb: 16.0 GB, 16012804096 bytes
64 têtes, 32 secteurs/piste, 15271 cylindres, total 31275008 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00014d34

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1   *        8192      122879       57344    c  W95 FAT32 (LBA)
/dev/sdb2          122880    31275007     15576064  83  Linux

On valide les partitions:

Commande (m pour l'aide): w
Synchronisation des disques.

Ensuite on restaure les images:

gunzip ./raspberry-20130420-sdb1.img.gz | sudo dd of=/dev/sdb1
gunzip ./raspberry-20130420-sdb2.img.gz | sudo dd of=/dev/sdb2

Et voilà le travail !

Glances a son application Android

lundi 15 avril 2013 à 14:55

Jon Renner est un des contributeur actif du projet Glances. Il vient de mettre en ligne sur Google Play la première version de son client Glances pour Android (cliquer ici pour télécharger Android Glances).

 

Glances 4 Android

 

Ce client permet d'aller directement consulter les statistique d'un serveur Glances à partir d'un smartphone ou d'une tablette Android.

Contrairement au projet MetaGlances (dont j'ai parlé la semaine dernière), il ne necessite pas de machine intermédiaire et utilise une connection directe (via XML RPC) entre un device Android et votre serveur (qui doit bien sûr pésenter une interface publique). Pour cela, Jon a développé une API Glances en Java qui peut être récupéré et utilisé pour d'autres besoins.

Encore un grand bravo/merci pour son travail sur le coeur de Glances et pour le développement de l'ecosystème qui est en train de ce construire autour de Glances.

Quelques liens:

Cet article Glances a son application Android est apparu en premier sur Le blog de NicoLargo.

MetaGlances, une interface pour les gouverner tous…

lundi 8 avril 2013 à 11:00

Depuis la version 1.5 de Glances et la mise à disposition d'une API au format JSON XML/RPC, l'écosystème autour de Glances grandit petit à petit. Un des premier projet à avoir vu le jour est MetaGlances, une interface Web "responsive" permettant de centraliser la gestion de ses serveurs Glances.

metaglances

Développée par Laurent Spinelli (aka spin0us) et distribuée sous licence GPL version 3, cette interface s'installe en quelques commandes sur un serveur Web et permet grâce à un mélange de scripts PHP (pour l'interface JSON XML/RPC avec les serveurs Glances) et HTML/JavaScript/JQuery (pour l'UI):

capture_069
mg-ihone

 

Installer son propre serveur MetaGlances

Si vous disposez d'un serveur Web opérationnel (sinon vous pouvez toujours utiliser ce script d'installation automatique de Nginx) avec par exemple pour racine /var/www alors l'installation nécessite la saisie des commandes suivantes:

cd /var/www
sudo git clone https://github.com/spin0us/MetaGlances
sudo mkdir -p /var/www/MetaGlances/cache/config /var/www/MetaGlances/cache/data
sudo chown -R www-data:www-data /var/www/MetaGlances

Puis saisir l'URL de votre serveur MetaGlances: http://nomdevotreserveur/MetaGlances

La configuration de MetaGlances est centralisé dans le fichier /var/www/MetaGlances/config.php.

MetaGlances est en cours de développement. Pour mettre à jour votre serveur avec la dernière version, il faudra saisir les commandes:

cd /var/www/MetaGlances
sudo git pull
sudo chown -R www-data:www-data /var/www/MetaGlances

Ou tester directement en ligne !

J'ai installé MetaGlances sur un de mes serveurs. Vous pouvez donc directement superviser vos machines disposant d'une interface IP publique et sur lesquelles Glances serveur est lancé (je vous conseille de lancer Glances en configurant un mot de passe et si possible en filtrant à l'aide d'un Firewall les accès entrant venant de mon serveur).

Pour tester MetaGlances cliquez sur le lien suivant: http://metaglances.nicolargo.com

Attention: ce serveur MetaGlances est uniquement mis à disposition pour tester MetaGlances. Ne pas s'en servir pour en production, il peut être arrêté  mis à jour ou déplacé sans préavis.

Utilisation de MetaGlances

Grâce au travail de Laurent, l'utilisation est assez intuitive. Je vous la laisse découvrir dans cette série de screenshots:

capture_070Ajout d'un serveur à superviser

capture_071Saisie des informations sur le serveur Glances

capture_072Affichage de la liste des serveurs

capture_073Affichage des statistiques d'un serveur Glances

capture_074Accès au cloud MetaGlances

capture_075Création d'un compte MetaGlances

capture_076Sauvegarde ou restauration de la liste des serveurs Glances

Nous avons besoin de VOUS !

MetaGlances est en cours de développement et Laurent Spinelli, le créateur à besoin de bêta testeurs pour améliorer ce logiciel. Si vous rencontrez un bug ou que vous trouvez qu'il manque des fonctions, n'hésitez pas à le dire directement via la page suivante sur le GitHub officiel.

Perso, je suis fan de MetaGlances, il y a un bon potentiel pour en faire un outil simple de supervision système.

Vous en pensez quoi ?

Cet article MetaGlances, une interface pour les gouverner tous… est apparu en premier sur Le blog de NicoLargo.

Quand votre Raspberry Pi devient serveur Spotify

jeudi 4 avril 2013 à 08:11

capture_067C'est en lisant un article sur le blog de Korben que j'ai découvert qu'il était possible de transformer une distribution GNU/Linux en une borne audio Spotify, pilotable à distance. L'objectif étant d'avoir un petit boîtier (type Raspberry Pi ou équivalent) branché directement à sa chaîne Hifi et de pouvoir naviguer à distance sur sa bibliothèque Spotify.

La configuration que j'ai mis en place est la suivante:

Mise en place du système

Je ne vais pas faire un copier/coller de mon billet d'installation de Raspbian Wheezy sur un Raspberry Pi, il suffit de suivre ce lien.

Etape optionnelle, uniquement si vous avez un DAC ou une carte son USB branché à votre Raspberry:

Comme j'utilise un DAC afin de remplacer la médiocre sortie analogique du Raspberry, il faut effectuer une petite configuration complémentaire pour forcer le Raspberry à utiliser le DAC (sortie USB) comme carte son. Il suffit d'éditer le fichier /etc/modprobe.d/alsa-base.conf en commentant une première ligne et en ajoutant une deuxième:

#options snd-usb-audio index=-2
options snd-usb-audio nrpacks=1

Après un dernier redémarrage, votre Raspberry Pi est prêt à recevoir l'installation de Mopidy.

Installation de Mopidy, le serveur Spotify

Mopidy est un serveur Audio compatible avec les clients uPnP et MDP et permet donc de jouer des musiques stockés localement ou de streamer des musiques disponibles sur le service Spotify (c'est sur ce dernier point que nous allons nous focaliser dans ce billet).

On commence par installer le dépôt officiel de Mopidy puis le logiciel:

wget -q -O - http://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list http://apt.mopidy.com/mopidy.list
sudo apt-get update
sudo apt-get install mopidy

On doit ensuite lancer un première fois Mopidy:

$ mopidy
INFO     Starting Mopidy 0.13.0
INFO     Platform: Linux-3.6.11+-armv6l-with-debian-7.0
INFO     Python: CPython 2.7.3
INFO     Creating dir /home/pi/.config/mopidy
INFO     Creating dir /home/pi/.local/share/mopidy
INFO     Creating file /home/pi/.config/mopidy/settings.py
WARNING  Could not open tag cache: [Errno 2] No such file or directory: u'/home/pi/.local/share/mopidy/tag_cache'
INFO     Loading tracks from /home/pi/None using /home/pi/.local/share/mopidy/tag_cache
INFO     Loading playlists from /home/pi/.local/share/mopidy/playlists
INFO     Audio output set to "autoaudiosink"
INFO     Audio mixer set to "alsamixer" using track "PCM"
ERROR    Setting "SPOTIFY_USERNAME" is empty.
ImportError: could not import gtk.gdk

Cela va permettre à Mopidy de créer l'arborescence ~/.config/mopidy qui va contenir les fichiers de configuration.

On doit éditer le fichier  ~/.config/mopidy/settings.py avec les paramètres:

FRONTENDS = (u'mopidy.frontends.mpd.MpdFrontend', u'mopidy.frontends.lastfm.LastfmFrontend')
MPD_SERVER_HOSTNAME = u'0.0.0.0'
MPD_SERVER_PASSWORD = u'mdppassword'
LOCAL_MUSIC_PATH = u'/home/nicolargo/Musiques'
SPOTIFY_USERNAME = u'spotifylogin'
SPOTIFY_PASSWORD = u'spotifypassword'
SPOTIFY_BITRATE = 320
LASTFM_USERNAME = u'lastfmlogin'
LASTFM_PASSWORD = u'lastfmpassword'

On peut relancer ensuite Mopidy:

$ mopidy
INFO     Starting Mopidy 0.13.0
INFO     Platform: Linux-3.6.11+-armv6l-with-debian-7.0
INFO     Python: CPython 2.7.3
WARNING  Could not open tag cache: [Errno 2] No such file or directory: u'/home/pi/.local/share/mopidy/tag_cache'
INFO     Loading tracks from /home/pi/.config/mopidy/None using /home/pi/.local/share/mopidy/tag_cache
INFO     Loading playlists from /home/pi/.local/share/mopidy/playlists
INFO     Audio output set to "autoaudiosink"
INFO     Audio mixer set to "alsamixer" using track "PCM"
INFO     Mopidy uses SPOTIFY(R) CORE
INFO     MPD server running at [0.0.0.0]:6600
INFO     Connected to Spotify
ImportError: could not import gtk.gdk
ERROR    MPRIS frontend setup failed (org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11)
INFO     Connected to Last.fm
INFO     Loaded 57 Spotify playlist(s)

Vous pouvez ignore les erreurs, les lignes importantes étant:

INFO     MPD server running at [0.0.0.0]:6600
INFO     Connected to Spotify
INFO     Connected to Last.fm
INFO     Loaded 57 Spotify playlist(s)

Piloter à distance votre borne Mopidy

Pour piloter votre tout nouveau serveur Mopidy, il suffit d'installer un client compatible avec le protocole implémenté dans MPD. Personnellement, j'utilise GMPC sur mon PC Ubuntu mais d'autres solutions existes:

Conclusion

Encore une utilisation sympa d'un Raspberry dans le monde de la Hifi. J'ai encore quelques problèmes de son (gros tics quand je passe d'un morceau à l'autre) mais dans l'ensemble c'est une solution bien pratique pour écouter sa bibliothèque musicale sur sa chaîne !

Retrouvez tous mes billets sur le Raszberry Pi sur ma page dédiée !

Cet article Quand votre Raspberry Pi devient serveur Spotify est apparu en premier sur Le blog de NicoLargo.