Iedereen die een (of meerdere) Apple apparaten gebruikt, is ongetwijfeld bekend met de AirPlay-functie. Dankzij deze functie kun je allerlei soorten media streamen naar andere apparaten in het netwerk. Je kunt foto's weergeven op een AirPlay-televisie, video's afspelen of zelfs muziek afspelen op AirPlay-luidsprekers.
Dat laatste kan in ieder geval vrij eenvoudig met een RaspberryPi en zo een RaspberryPi omtoveren tot een speaker met AirPlay.
Ik gebruik deze oplossing bijvoorbeeld in mijn MagicMirror. Op deze manier kun je ook de RaspberryPi (die in de magicMirror is ingebouwd) gebruiken als muziekspeaker. 🙂
Alles wat je nodig hebt om je RaspberryPi in te stellen staat beschreven in het volgende artikel.
Veiligheidsinstructies
Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links / reclame links
De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂
Eisen
Handige artikelen:
Voordat je aan dit artikel begint, moet je de RaspberryPi zo hebben voorbereid dat deze via het netwerk bereikbaar en via SSH te bedienen is.
In de volgende drie artikelen wordt beschreven wat er moet gebeuren om de RaspberryPi voor te bereiden:
RaspberryPi – setup voor nerds!
RaspberryPi – De eerste configuratie!
RaspberryPi – Bedien de RaspberryPi via SSH
Vereist gereedschap:
-Nee-
Benodigd materiaal:
In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.
Log in op de RaspberryPi via SSH
Om te beginnen moet je eerst inloggen op de Rasp Pi met Putty via SSH. Hoe je dit doet staat in het artikel RaspberryPi - Bedien de RaspberryPi via SSH beschreven.
Pakketbeheer updaten
Het pakketbeheer in Linux is een "centrale plek" van waaruit verschillende softwarepakketten kunnen worden geïnstalleerd. Om dit betrouwbaar te laten werken, moeten de lijsten en bronnen van het pakketbeheer worden bijgewerkt voor elke installatie van nieuwe pakketten.
sudo apt-get update && sudo apt-get upgrade
Shairport installeren
Shairport installeren is heel eenvoudig dankzij de pakketbeheerder.
Voer eenvoudig de volgende opdracht in de console van uw RaspberryPi in.
sudo apt-get install shairport-sync
U kunt een eventueel verzoek om geheugengebruik bevestigen door op "Y" en "Enter" te drukken.
De installatie wordt dan automatisch uitgevoerd.
Om Shairport na de installatie te starten, moet je nu het volgende commando uitvoeren
sudo systemctl start shairport-sync
Status bekijken
Dankzij de opdrachtregeltool systemctl kun je eenvoudig een overzicht krijgen van de status van je Shairport server.
Voer eenvoudig het volgende commando in de console van uw RaspberryPi in.
sudo systemctl status shairport-sync
Hier kun je nu zien of de Shairport-server "actief" of "inactief" is.
Schakel automatisch starten in
Om ervoor te zorgen dat uw Shairport-server automatisch opnieuw start na een herstart van de RaspberryPi, moet u nu de autostart activeren.
Voer eenvoudig de volgende opdracht in de console van uw RaspberryPi in.
sudo systemctl schakel shairport-sync in
Start het afspelen van muziek
Dat was alles. Nu zou je je zelfgemaakte AirPlay-ontvanger al moeten kunnen gebruiken op je iPhone (of ander Apple apparaat). 🙂
Je vindt nu bijvoorbeeld het gemarkeerde pictogram in je "Podcasts"-app.
Zodra je erop klikt...
...Er wordt een menu geopend waarin ook de AirPlay-luidspreker wordt weergegeven die je net hebt ingesteld (hier "MagicMirror" genoemd).
Zodra je erop klikt, zou de muziek erop moeten beginnen te spelen.
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂
Hoi,
bedankt voor het artikel. Loopt!
Kleine hint: je hebt updatepakketbeheer twee keer binnen.
LG,
Flo
Hé Flo,
bedankt, ik ben blij. 🙂
O, bedankt voor de hint. corrigeerde het. 🙂
Hartelijke groeten
Fabian
Hallo, mijn naam is Achim Graf
Ik heb het probleem dat Shairport-sync, of het nu op de Rapi 3b+ of 4b is, geen verbinding maakt met Airmusic op een geroote Amazon-tablet. Airmusic op de tablet vindt de Raspi onmiddellijk met de Shairport-synchronisatie gestart, maar wanneer ik hem wil verbinden, wordt het Airmusic-pictogram 1 seconde blauw, dan 3-5 seconden rood en begint het spel opnieuw. Na ongeveer 5 runs komt er een foutmelding met tips die ik al meerdere keren heb doorlopen.
Raspian werd elke keer opnieuw geïnstalleerd met Raspberry Pi Imager, alles zoals beschreven.
Airmusic maakt direct verbinding met Shaiport4w op de notebook en met mijn Sony Android TV.
Ik word wanhopig, het zou geweldig zijn als je me zou kunnen helpen dit op gang te krijgen.
Het werkt voor zooo veel, wat doe ik verkeerd.
Alles geprobeerd met de desktopversie, de lite-versie, met wifi en met een LAN-kabel.
lg. A. Graf
Hallo Achim,
Ik kan er nu niet echt wijs uit worden. (Ook omdat ik Airmusic en co niet gebruik).
Maar het klinkt een beetje alsof de Shairport-client op de Raspi crasht en opnieuw opstart. Kun je het journaal (de logger-uitvoer van het proces) controleren en hier posten?
Je zou het moeten kunnen bekijken met het commando "sudo journalctl -f -u shairport-sync". Het is het beste om het dagboek te starten en vervolgens te proberen verbinding te maken. misschien je kunt zien wat daar is gebeurd. 🙂
Hartelijke groeten
Fabian
Hallo Fabian,
Heel erg bedankt voor het regelen van de zaak.
Omdat ik mijn problemen heb met het overbrengen van de tekst van de terminal, schrijf ik het hier in, het herhaalt zich 8x totdat Airmusic het opgeeft.
Elke regel wordt voorafgegaan door de Raspi-naam met de volgende " systemd [1]: "
maar dat is waarschijnlijk altijd het geval.
Gestart met Shaiport Sync - Airplay-audio-ontvanger.
shairport-sync.service: Hoofdproces afgesloten, code=gedood, status=11/SEGV
shairport-sync.service: mislukt met resultaat 'signaal'.
shairport-sync.service: Verbruikte 3.099s CPU-tijd.
shairport-sync.service: geplande herstarttaak, herstartteller staat op 1.
Shairport Sync gestopt - Airplay-audio-ontvanger.
shairport-sync.service: Hoofdproces ex…………. Het geheel wordt dan 7 keer herhaald.
Ik hoop dat dit zinvol genoeg is om het probleem op te lossen.
Groetjes, Achim
Hallo Achim,
Oké, het lijkt erop dat mijn aanvankelijke vermoeden wordt bevestigd. De Shairport-service lijkt te crashen wanneer u verbinding probeert te maken.
Helaas geeft het huidige LogLevel u geen juiste verklaring waarom dit gebeurt. We moeten dus het LogLevel verhogen.
Hiervoor moet je het servicebestand wel wat aanpassen.
Voer hiervoor het volgende in
sudo nano /lib/systemd/system/shairport-sync.service
en verander de lijn
ExecStart=/usr/bin/shairport-sync –daemon $DAEMON_ARGS
naar
ExecStart=/usr/bin/shairport-sync -vvv –daemon $DAEMON_ARGS
(U hoeft dus alleen de "-vvv" toe te voegen.)
Voer vervolgens de volgende opdracht uit om het servicebestand opnieuw te laden:
sudo systemctl daemon-herladen
Nu moet u het logboek van de shairport-service opnieuw starten "sudo journalctl -f -u shairport-sync".
Het beste wat u nu kunt doen, is een andere SSH-verbinding/terminal openen en vervolgens de Shaiport-service opnieuw starten met "sudo systemctl restart shairport-sync". U zou nu meer informatie in het dagboek moeten zien.
Probeer opnieuw verbinding te maken met de Shairport-server. Nu zou de uitvoer in het dagboek veel gedetailleerder moeten zijn.
Kopieer dan de uitgave van het tijdschrift hier nog eens over. 🙂
(Hoe tekst in stopverf te kopiëren wordt hier ook beschreven, bijvoorbeeld: https://www.alphr.com/copy-paste-putty/)
Hartelijke groeten
Fabian
// Inhoud .service-bestand:
[eenheid]
Description=Shairport Sync - AirPlay-audio-ontvanger
Documentatie=man:shairport-sync(7)
Documentatie=file:///usr/share/doc/shairport-sync/README.md.gz
Documentatie=https://github.com/mikebrady/shairport-sync
Na=geluid.doel
Vereist=avahi-daemon.service
After=avahi-daemon.service
Wil=netwerk-online.target
Na=netwerk.doel netwerk-online.doel
[Dienst]
type=eenvoudig
Herstart=bij falen
Omgevingsbestand=-/etc/default/shairport-sync
ExecStart=/usr/bin/shairport-sync $DAEMON_ARGS
Gebruiker=shairport-sync
Groep=shairport-sync
[Installeren]
WantedBy=multi-user.target
——————————————————————————
// Na het invoeren van -vvv maar zonder -daemon , omdat het niet bestaat in het origineel.
// ExecStart=/usr/bin/shairport-sync -vvv $DAEMON_ARGS
login als: guido
guido@192.168.188.47'wachtwoord:
Linux Bestatt02 5.15.56-v7+ #1575 SMP vr 22 jul 20:28:11 BST 2022 armv7l
De bij het Debian GNU/Linux-systeem meegeleverde programma's zijn vrije software;
de exacte distributievoorwaarden voor elk programma worden beschreven in de
individuele bestanden in /usr/share/doc/*/copyright.
Debian GNU/Linux wordt geleverd met ABSOLUUT GEEN GARANTIE, voor zover
toegestaan door de toepasselijke wetgeving.
Laatste login: wo 17 aug. 10:25:33 2022
guido@Bestatt02:~ $ sudo nano /lib/systemd/system/shairport-sync.service
guido@Bestatt02:~ $ sudo journalctl -f -u shairport-sync // .service bestand bewerkt.
guido@Bestatt02:~ $ sudo systemctl daemon-herladen
— Journaal begint op ma 2022-04-04 14:05:58 CEST. —
17 augustus 10:25:33 Bestatt02 systemd[1]: Gestart met Shairport Sync – AirPlay audio-ontvanger.
17 augustus 10:25:33 Bestatt02 systemd [689]: shairport-sync.service: kan uitvoerbaar bestand /usr/bin/shairport-sync-vvv niet vinden: bestand of map bestaat niet
17 augustus 10:25:33 Bestatt02 systemd [689]: shairport-sync.service: Mislukt bij stap EXEC spawning /usr/bin/shairport-sync-vvv: Geen bestand of map
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Hoofdproces afgesloten, code=afgesloten, status=203/EXEC
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Mislukt met resultaat 'exit-code'.
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Geplande herstarttaak, herstartteller staat op 5.
17 augustus 10:25:33 Bestatt02 systemd[1]: Shairport Sync gestopt – AirPlay audio-ontvanger.
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Startverzoek te snel herhaald.
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Mislukt met resultaat 'exit-code'.
17 augustus 10:25:33 Bestatt02 systemd[1]: Kan Shairport Sync niet starten – AirPlay-audio-ontvanger.
^C
guido@Bestatt02:~ $
// herstart Raspi
—————————————————————————————————-
nu met "-vvv –daemon"
guido@Bestatt02:~ $ sudo nano /lib/systemd/system/shairport-sync.service
guido@Bestatt02:~ $ sudo systemctl daemon-herladen
guido@Bestatt02:~ $ sudo journalctl -f -u shairport-sync
— Journaal begint op ma 2022-04-04 14:05:58 CEST. —
17 augustus 10:25:33 Bestatt02 systemd[1]: Gestart met Shairport Sync – AirPlay audio-ontvanger.
17 augustus 10:25:33 Bestatt02 systemd [689]: shairport-sync.service: kan uitvoerbaar bestand /usr/bin/shairport-sync-vvv niet vinden: bestand of map bestaat niet
17 augustus 10:25:33 Bestatt02 systemd [689]: shairport-sync.service: Mislukt bij stap EXEC spawning /usr/bin/shairport-sync-vvv: Geen bestand of map
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Hoofdproces afgesloten, code=afgesloten, status=203/EXEC
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Mislukt met resultaat 'exit-code'.
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Geplande herstarttaak, herstartteller staat op 5.
17 augustus 10:25:33 Bestatt02 systemd[1]: Shairport Sync gestopt – AirPlay audio-ontvanger.
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Startverzoek te snel herhaald.
17 augustus 10:25:33 Bestatt02 systemd[1]: shairport-sync.service: Mislukt met resultaat 'exit-code'.
17 augustus 10:25:33 Bestatt02 systemd[1]: Kan Shairport Sync niet starten – AirPlay-audio-ontvanger.
^C
guido@Bestatt02:~ $
// controleerde het .service-gedeelte opnieuw in nano, alles klopt ... hoop ik.
[Dienst]
type=eenvoudig
Herstart=bij falen
Omgevingsbestand=-/etc/default/shairport-sync
ExecStart=/usr/bin/shairport-sync -vvv -daemon $DAEMON_ARGS
Gebruiker=shairport-sync
Groep=shairport-sync
// dezelfde foutmelding
// Ik kom niet verder
groet achim
Hallo Achim,
Het probleem is waarschijnlijk dat er geen spatie voor de "-vvv" staat.
In de regel "Aug 17 10:25:33 Bestatt02 systemd[689]: shairport-sync.service: Kan uitvoerbaar bestand /usr/bin/shairport-sync-vvv niet vinden: No such file or directory"
je kunt zien dat het de opdracht shairport-sync-vvv probeert uit te voeren. De parameter "-vvv" wordt dus geïnterpreteerd als onderdeel van de bestandsnaam en niet als een parameter.
Controleer nogmaals of er echt een spatie tussen de delen "/usr/bin/shairport-sync" en "-vvv" staat. 🙂
Hartelijke groeten
Fabian
Sorry, ik wilde je gewoon bedanken dat je er zoveel moeite in hebt gestoken.
Helaas lijkt het ding met het uitgebreide logboek niet te werken voor mij, ik weet niet of er te veel spaties in staan, ik ben niet zo bekend met de syntaxis, maar probeer geen onjuiste invoer te maken.
Daarnaast is instellen via reCaptcha een horror. Ik weet nooit wat die stomme knop rechts onder me wil, werkt meestal maar bij 3 of 4x en dan weet ik ook nooit waarom het werkte...grrr.
Hallo Fabian, deze site is een ramp.
Ik heb nu 3x geprobeerd een sms te sturen, wat blijkbaar na x pogingen werkte, maar elke keer als ik de pagina na een paar uur oproep, is mijn opmerking verdwenen.
Dit moet gerelateerd zijn aan de reCAPTCHA, ik krijg geen prompt om op iets te klikken, brandalarm, fiets, etc., hopelijk gaat dit niet weer verloren. Als ik je een van mijn forum-e-mailadressen stuur en we wisselen het via e-mail in voor mijn gezonde adres, kunnen we dan via dat adres communiceren?
Alleen als je me nog steeds wilt helpen met het probleem.
Groetjes achim
Hallo Achim,
de site werkt en uw opmerkingen zijn allemaal aangekomen. Maar ik moet de individuele opmerkingen activeren.
Helaas kan het niet anders, aangezien de commentaarkolommen meerdere keren per dag door spambots worden geplakt.
Ik probeer overdag naar je probleem te kijken.
Hartelijke groeten
Fab
Hallo fantastisch,
nieuwe update, nadat ik afgelopen weekend naar een wijnfestival ging en meteen Corona te pakken had, kostte het me een week om weer rond te komen.
Met nieuwe energie aan de slag gegaan en weer geprobeerd het verlengde journaal te activeren.
Beide Raspi's gingen aan en merkten met een stom gezicht dat beiden na het opstarten direct verbinding maakten met Airmusic op de Fire-tablet.
Zonder Flaks heb ik de onderdelen sinds 18 augustus. niet aangeraakt, zoiets bestaat toch niet?
Het is leuk dat het werkt, maar het stelt me niet tevreden omdat ik niet weet waarom...
Ik wil je niet verder lastig vallen met het mystieke doen van de Raspis.
Heel erg bedankt voor je geduld, je hebt me al die tijd de bevestiging gegeven dat het uiteindelijk zal werken.
Ik had echter niet gedacht dat het zo zou werken.
Veel plezier.
Groetjes, Achim