AirPi – AirPlay audio sur Raspberry (FR)

mise à jour

J’ai toujours voulu utiliser mon baladeur pour diffuser de la musique dans ma maison en utilisant le réseau. Quand AirPlay est sorti, j’était tout fou, mais le prix de la borne AirPort (99€) ou d’un AppleTV m’a un peu refroidi, même si j’adore mon iPhone et mon MacBook. Heureusement que Free a rapidement intégré shairport dans sa freebox revolution. Mais je ne me vois pas mettre la freebox dans la salle de bain ;)

Avec le RaspberryPi, la fondation m’a apporté une solution low cost, pour environ 30€ en recyclant quelques périphériques optionnels. Comme pour la freebox, on va utiliser shairport, et on va installer le tout sans brancher de clavier, de souris ou d’écran au Raspberry.

Si on a besoin de la vidéo, le plus simple est d’utiliser RaspBMC. Mais si c’est juste pour un player audio, la suite de ce billet est pour vous.

Installer Raspbian “wheezy”
Le plus simple est de suivre les instructions officielles. Une fois que la carte SD est prête, insérez la dans votre Raspberry, brancher un cable ethernet et l’alimentation.

Premier démarrage and login
Pour se logger sur le Pi avec SSH, on a besoin de connaître son adresse IP.
Avec un bon routeur, il est possible que le Pi se soit auto-enregistré sur le DNS local. Le plus simple est donc de commencer par un ping raspberrypi depuis la ligne de commande

Si le DNS ne trouve rien, essayez de vous connecter à l’interface d’administration de votre routeur pour consulter les allocations DHCP.
Vous pouvez aussi essayez toute les IPs de votre réseaux.
Il est aussi possible d’utiliser un scanner comme Fing sur iPhone ou Scapy en Python.

 

Une fois que vous avez l’IP de votre PI, connectez vous avec SSH :
Sur Windows, il faut installer Putty.
Sur Linux/MacOS, il suffit d’ouvrir un terminal : ssh pi@raspberrypi (ou remplacer raspberrypi par son IP)
Tapez le password raspberry quand c’est demandé.

Tout de suite, la première chose à faire est de configurer la distribution Raspbian :

pi@raspberrypi:~$ sudo raspi-config

Commencez par mettre à jour (update), puis étendez la partition (expand_rootfs), changez le password, la locale et la timezone. Laissez SSH activé et le démarrage du bureau désactivé. Quittez et redémarrez. Ca peut prendre un peu de temps pour étendre la partition, patientez et reconnectez vous avec SSH.

Devenir root
Le compte root est desactivé pour la connexion, mais on peut devenir root une fois connecté pour éviter l’utilisation répétée de la commande sudo

pi@raspberrypi:~$ sudo su
root@raspberrypi:/home/pi# cd
root@raspberrypi:~#

Mise à jour de la distribution
Maintenant, mettez à jour les paquets pré-installés :

root@raspberrypi:~# aptitude update
root@raspberrypi:~# aptitude upgrade

Activer la sortie Jack
Une seule ligne de commande suffit à activer la sortie jack :

root@raspberrypi:~# amixer cset numid=3 1

Installer shairport
Avant de télécharger et d’installer shairport, on doit installer les paquets pré-requis :

root@raspberrypi:~# aptitude install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils

On télécharge ensuite les sources de shairport pour les compiler :

root@raspberrypi:~# git clone https://github.com/albertz/shairport.git shairport
root@raspberrypi:~# cd shairport
root@raspberrypi:~/shairport# make

On peut enfin lancer shairport en premier plan :

root@raspberrypi:~/shairport# ./shairport.pl -a AirPi

Il est maintenant possible d’utiliser son iDevice pour essayer AirPlay, sans avoir oublié de brancher un casque ou une paire d’enceinte sur la sortie jack.

Pour lancer automatiquement shairport, il suffit d’installer shairport et de copier le script de démarrage :

root@raspberrypi:~/shairport# make install
root@raspberrypi:~/shairport# cp shairport.init.sample /etc/init.d/shairport
root@raspberrypi:~/shairport# cd /etc/init.d
root@raspberrypi:/etc/init.d# chmod a+x shairport
root@raspberrypi:/etc/init.d# update-rc.d shairport defaults

Avant de démarrer le service, on doit ajouter le nom d’AP dans les paramètres de démarrage. Editez le fichier avec nano shairport et changer la ligne avec la variable DAEMON_ARGS  :

DAEMON_ARGS="-w $PIDFILE -a AirPi"

Remplacez AirPi par ce que vous voulez, sauvegardez, quittez et démarrez le service pour profiter pleinement de AirPlay audio avec shairport en arrière plan :

root@raspberrypi:/etc/init.d# ./shairport start

Pour aller plus loin, on peut remplacer le cable ethernet par un dongle WIFI USB, faire un trou dans une boite tupperware pour l’alimentation et le cable audio, et enfin y mettre le Pi pour avoir un AirPi prêt pour la salle de bain ;)

Le son peut ne pas être de bonne qualité. Cela est dû à la sortie analogique qui n’est pas une vrai carte son. Une une carte son USB donnera de meilleurs résultats.

18 thoughts on “AirPi – AirPlay audio sur Raspberry (FR)

  1. Salut !

    Merci infiniment pour ce tuto ! Ayant reçu ma raspberry Pi aujourd’hui même, j’ai pu installer mon serveur quasiment immédiatement ^^’

    Cependant en suivant à la lettre ce tuto, j’ai eu une erreur lors de la compilation qui, je pense, est due au fait qu’il manque “pkg-config” dans l’installation des paquets -j’ai trouvé ça en fouillant le fichier INSTALL.md-. Avec cela tout fonctionne parfaitement =)
    Merci encore.

    Gatux

  2. Bonsoir
    je viens de finaliser en quelques minutes la mise en route du serveur shairport. C’ est un vrai régal. J’ai installé avant une paire d”enceintes Logitech Z5 sur une des prises USB, l’autre ayant une clef WIFI edimax 7811UN.
    J’ai lancé sur mon Iphone la radio Tunein et basculé sur AirPI, et miracle tout fonctionne parfaitement avec un son parfait (aucune distorsion).
    Encore mille merci pour votre présentation et vive le Raspberry.

  3. Pingback: AirPi, une solution AirPlay low cost avec une carte RasberryPi [Bricolages] | SOSiPhone.com (Le Blog)

  4. Cool, merci pour les infos :)

    J’ai opté pour Raspbmc avec control/télécommande/clavier via l’iphone (Xbmc official remote). Customisé avec quelques add-on (youtube, vimeo, radio, soundcloud etc), j’ai maintenant un media center custom pour moins de 30€

  5. RasberryPi (30€) dongle audio USB (23€) dongle wifi (30€) … 88€ finalement pas loin du prix d’une airport..

    • oui et non…
      on peux recycler du matos qu’on a déjà, et un dongle wifi se trouve pour moins cher.
      et quand bien même, on peut installer d’autres services de streaming comme MPD ou UPNP/DLNA, ce que la borne aiport ne permet pas.
      en plus, c’est full open ;)

  6. Merci !!!
    j’adore et ça a marché du premier coup en 5 min chrono :)
    Super Tuto, super fonction.
    (en réseau Lan, donc 40€ le airport, imbatable…)

  7. Salut, j’ai un soucis quand j’installe et qu’après je lance le script ça plante
    une erreur ligne 48 et impossible de lancer pourtant le make est bien passé une idée ? Je suis sur la dernière version de Raspbian

    • Merci ça marche ;) par contre j’ai un petit bruit a chaque fois qu’un appareil ce connect dessus et qu’on lance une chanson une sorte de “scratch” une idée ?

  8. Bonjour à tous!

    Chez moi ca ne marche pas du tout… C’est à dire qu’aucun appareil ne voit le service :(
    De quoi est ce que ca pourrait venir?

    Mervi d’avance :)

  9. Bonjour, merci pour ce tuto.
    Je reflechis vivement a m’acheter un RPI pour l’utiliser comme media center relié en hdmi a mon ampli, et je me demandais si l’airport fonctionne en redirigeant le flux audio sur le port hdmi, ou cela fonctionne-t-il uniquement avec le jack audio et l’usb ?
    Merci.

  10. Bonjour, avec ce système, pouvons nous faire du streaming vidéo via un câble hdmi ?
    Je pense vraiment me prendre une RPI (a la place d’une AppleTV).

  11. @Laurent @Shun Oui !
    Par défaut, c’est la sortie HDMI qui sert de sortie audio.
    il suffit d’ignorer l’étape avec amixer, sinon :

    sudo amixer cset numid=3
    avec n : 0=auto, 1=jack, 2=hdmi.

  12. Bonjour
    je viens d’installer shairport en suivant le tuto tout fonctionne , merci de votre aide.
    Cependant en faisant des tests j’ai constaté qu’il n’y a aucune gestion des connexions, je m’explique:
    je balance du son depuis mon ipad pas de soucis
    lorsque je balance du son depuis itunes sur mon PC , les 2 flux audios sont mixés
    j’arrive meme a balancer un 3eme flux…
    y at’il une solution pour que seul le dernier soit diffusé?
    merci

  13. Pingback: Raspberry Pi | Pearltrees

  14. Bonjour,

    Bravo et merci pour le developpement, très utile et sympa. J’ai aussi un scratch à la connexion, ça fait la meme chose avec raspbmc, ça etre lié a la sortie audio du rasp.

    guillaume