Airplay est une famille de protocoles permettant à Apple de voir n’importe quel type de contenu média sur la TV d’Apple, depuis n’importe quel dispositif iOS (iPhone, iPod ou iPad) ou iTunes. Ces flux de données ne sont normalement lisibles, de par leur protocole, que par de appareils Apple. Heureusement, nous pouvons contourner cette règle.
Le but de cet article est de vous montrer comment, avec une Raspberry Pi, vous pouvez créer votre borne Airplay, et la connecter à une chaîne Hifi, pour créer votre propre circuit streaming depuis vos appareils Apple. Votre Rasbperry Pi deviendra alors, pour les initiés, une Airplay Receiver.
Sommaire
Pré-requis à la transformation de votre Raspberry Pi en borne Airplay
- Une chaîne Hifi munie d’un DAC (Digital Analog Converter) avec entrée USB, et d’enceintes
- Un iPhone
- Un casque (optionnel)
- Et bien sûr, une Raspberry Pi
Paramétrages de la Raspberry Pi
Notre Rasbperry Pi utilise ici le système d’exploitation Wheezy. De plus, nous utiliserons dans ce tutoriel un dongle wifi, dont nous avons indiqué l’installation dans ce tutoriel. Tous les dongles ne sont pas compatibles, veuillez donc vous référer à cette liste pour être certain d’utiliser le matériel adéquat.
Voici les paramétrages de base a appliquer à notre fichier /etc/wpa_supplicant/wpa_supplicant.conf :
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="MONWIFI" scan_ssid=1 key_mgmt=WPA-PSK proto=WPA psk="MACLEWIFI" }
Et ceux de notre fichier /etc/network/interfaces :
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
Installation de Shairport
Shairport est un lecteur audio pour Airplay, qui vous permettra de lire des flux audio depuis les appareils iOS, iTunes, voire d’autres sources.
Voici les lignes à entrer pour son installation :
sudo aptitude install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils git clone https://github.com/albertz/shairport.git shairport cd shairport make sudo make install
/shairport.pl -a ShairPort
Can't locate Net/SDP.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at ./shairport.pl line 48. BEGIN failed--compilation aborted at ./shairport.pl line 48.
sudo cpan install Net::SDP
DAEMON_ARGS="-w $PIDFILE -a NOMDEVOTREBORNEAIRPLAY"
Lancez, enfin, le lecteur audio :
sudo update-rc.d shairport defaults sudo service shairport start
sudo cp ./shairport.init.sample /etc/init.d/shairport sudo chmod a+x /etc/init.d/shairport
Connecter votre iPhone à votre Airplay Raspberry
Depuis votre iPhone, vous devriez désormais voir votre borne Airplay.
En branchant un casque au connecteur Jack de votre Rasbperry Pi, vous devriez pouvoir entendre les musiques lancées depuis votre iPhone.
Grâce à un Glances, vous constaterez que le débit streaming est d’environ 1 Mo/s, et que la consommation CPU ne dépasse pas 10% en connexion filaire. Cependant, cette dernière explose avec un dongle wifi, atteignant 60%. En effet, votre processeur est bien plus demandé par le déchiffrement des données, basées sur le protocole WPA.
Nous sommes donc parvenu à transformer notre Raspberry Pi en borne Airplay, mais pas encore à la connecter à notre chaîne Hifi.
Ecouter la musique de votre iPhone sur votre chaîne Hifi depuis votre Raspberry Pi
Notre Raspberry Pi est pour l’instant paramétrée de façon à diriger le flux audio vers la sortie Jack. Nous allons modifier cela et le rediriger vers la sortie USB :
#options snd-usb-audio index=-2 options snd-usb-audio nrpacks=1
pi@raspberrypi $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0 card 1: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7
7 commentaires
Bonjour
quand j’exécute
/shairport.pl -a ShairPort
j’obtien :
bash: /shairport.pl: Aucun fichier ou dossier de ce type
Je suis a la racine pour l’installation, peut etre dois je le faire dans un dossier particulier ?
Merci
j’ai le meme probleme avez vous trouvez la solution?
Coquille ! C’est ./shairport.pl -a ShairPort
Fais shairport.pl -a ShairPort, sans le “/” avant
Bonsoir,
J’ai installé Shairport et j’aimerai me connecter sans DAC directement depuis la sortie jack.
Le problème c’est que le son est archi pourri par un souffle énorme (et une faible puissance de la musique).
Si par contre, je joue un morceau depuis le RPI directement (genre un youtube), le son est normal.
Il y a t-il un contrôle du son à faire ?
Bonjour,
Pour contrôler la sortie audio, j’utilise volumio un serveur de musique et en plus AirPlay !
A partir de sa, on peut contrôler la sortie audio du RASP et avoir accès à des réglages plus ample: basse , aigus…
Je le trouve beaucoup plus simple à mettre en oeuvre que votre solution qui fonctionne très bien aussi .
Bonjour, j’ai deux erreurs que je n’arrive pas a résoudre.
la 1ère avec la commande: sudo update-rc.d shairport defaults
l’erreur affichée est: update-rc.d: error: unable to read etc/init.d/shairport
la 2ème avec la commande: sudo service shairport start
l’erreur affichée est: failed to start shairport.service: Unit shairport.service not found
Avez vous avec mon problème que je n’arrive pas à résoudre ?