Airplay im Auto nachrüsten mit dem Raspberry Pi

Dieser Beitrag zeigt auf, wie aus einem Raspberry Pi ein autotauglicher Airplay-kompatibler Client wird („AirPi“).

Einsatzmöglichkeiten

Wer im Auto nicht auf Podcasts oder Musik vom Smartphone verzichten möchte, kennt das Problem: Die AUX-Schnittstelle des Autos will stets umständlich angestöpselt werden – und anschließend liegt das Handy wenig dekorativ mit dem Kabelgewirr auf dem Beifahrersitz.

Ziel

Folgendes Szenario soll erreicht werden:

  • direkt nach dem Einschalten errichtet der Raspberry einen WLAN-Acccesspoint (AP)
  • wird der AP connected, kann das Smartphone darüber Inhalte streamen
  • sämtliche Konfiguration soll auf ein Minimum begrenzt sein – es geht wirklich nur um Airplay

Voraussetzungen

Der Raspberry passt bequem in die Mittelkonsole
Der Raspberry passt bequem in die Mittelkonsole

Im folgenden gehe ich davon aus, dass im Auto eine AUX Schnittstelle vorhanden ist. Optional empfiehlt sich auch ein 5 Volt Stromanschluss (Zigarettenanzünder), es geht aber notfalls auch ohne. Sinnvollerweise sollte der Zigarettenanzünder so geschaltet sein, dass er ohne Zündung keinen Strom liefert – sonst leidet die Batterie ohne Not.

Anschließend wird ein Raspberry Pi benötigt. Den gibt es schon für kleines Geld auf eBay, das Modell B1 (Baujahr 2013) reicht vollkommen aus. Dazu wird noch eine SD Karte mit 2 GB Speicher, ein Wifi Dongle, ein 3.5mm Klinkenkabel und ein Gehäuse für den Raspberry benötigt. Insgesamt sollte der ganze Spaß nicht über 50€ kosten.

Airplay Image für den Raspberry

Als nächstes wird das vorkonfigurierte Airplay Image auf der SD Karte des Raspberrys installiert.

Das Grundsystem basiert auf einem vorkonfigurierten Raspian Build ergänzt um aktuelle Realtek RTL8188 Wifi Treiber von Jens Segers.

Schnelleinstieg

Nach dem Download muss das Image auf die SD Karte übertragen werden. Unter Windows empfehle ich dazu den Win32DiskImager, Linuxer greifen naturgemäß auf dd zurück.

Sobald das erledigt ist, ist der Raspberry im Prinzip einsatzbereit. D.h.: Wifi Dongle einschieben, Boxen bzw. AUX verkabeln und den Raspberry einschalten. Nach wenigen Sekunden meldet sich der neue Accesspoint und ihr könnt euch verbinden.

WLAN Accesspoint Zugangsdaten:

SSID: wifi
Passwort: airpi2015

That’s it. Von diesem Moment an kann gestreamt werden. Herzlichen Glückwunsch.

Fortgeschrittenes

Wer die Basisinstallation mit ein wenig Feintuning optimieren will, kann das leicht erledigen. Folgende Wege stehen offen:

  • Login direkt über die Konsole
  • via SSH über die LAN-Schnittstelle
  • via SSH über die WLAN-Schnittstelle

Im LAN-Modus holt sich der Raspberry eine IP direkt über DHCP. Falls ihr direkt über den „wifi“ WLAN AP zugreift, erreicht ihr den Raspberry unter der 10.0.0.1.

User Account Zugangsdaten:

Login: pi
Passwort: raspberry

Nach dem Login bekommt ihr root Rechte mit folgendem Kommando:

sudo su

Das Passwort für den Accesspoint kann folgendermaßen geändert werden:

mcedit /etc/hostapd/hostapd.conf

Fehlersuche

Falls der Raspberry über den LAN Anschluss mit dem Internet verbunden ist, können die verbundenen WLAN Clients diesen Zugang ebenfalls nutzen. Er unterstützt NAT, ist aber von mir für diesen Fall nicht besonders gesichert worden. Ausgefeilte Firewall-Regeln werdet ihr hier nicht finden.

Sollte der Accesspoint nicht zu finden sein, dann benötigt die WLAN Karte recht wahrscheinlich einen anderen Treiber. In diesem Fall kann es helfen, das Programm hostapd mit Standardwerten neu zu installieren, da ich hostapd extra mit Realtek Treibern kompiliert habe:

apt-get remove hostapd
apt-get install hostapd
mcedit /etc/hostapd/hostapd.conf

Jetzt nur noch die Settings in der /etc/hostapd/hostapd.conf überprüfen – insbesondere sollte sichergestellt sein, dass die wpa_passphrase gesetzt ist.

Sollte es anschließend immer noch klemmen, empfehle ich einen Rundgang bei Google. Das Thema Airplay und Raspberry wird in zahlreichen Postings aufgegriffen – und in den allermeisten Fällen scheint es der WLAN Stick zu sein, der Schwierigkeiten macht. Für diesen Beitrag habe ich einen Miniatur-WLAN-Dongle von exp-tech.de genutzt.

Stromversorgung

Wer den Raspberry im Auto betreibt, muss sich auch um die Stromversorgung Gedanken machen. Ein Adapter für den Zigarettenanzünder (1.000mA / 5V) ist bereits völlig ausreichend. Wer allerdings keinen klobigen Adapter im Auto haben will, der kann alternativ auch einen USB Akkupack nutzen. Die sind zwar eigentlich zum autarken Aufladen von Geräten gedacht, doch der sparsame Raspberry kann damit problemlos betrieben werden. Im Test hat ein Akku mit 2.200mAh den Raspberry unter Volllast (WLAN Streaming und Soundausgabe) ziemlich genau 3 Stunden betrieben. Für die allermeisten Autofahrten sollte das ausreichen.

HiFi mit dem Raspberry

Wem die interne Buchse des Raspberry nicht genügend Audioqualität bietet, der sollte die Anschaffung einer USB Soundkarte erwägen. Die Creative Soundblaster Play USB Soundkarte gibt es bereits ab ca. 16€ und ist voll kompatibel mit dem AirPi Image. Falls die USB Karte nicht automatisch läuft, schaut euch das USB Soundcard Setup HowTo an.

Der „Umweg“ über die USB Soundkarte ist übrigens auch hilfreich, falls eure Zigarettenanzünder-Stromversorgung oder der WLAN Dongle zu viele Störgeräusche in der Akustik des Raspberry verursachen.

Sollte trotz USB Soundkarte immer noch ein Störgeräusch zu hören sein, hilft ein USB Verlängerungskabel. Schafft etwas Platz zwischen den WLAN Stick und der Soundkarte, spätestens dann sollte Ruhe sein.

Disclaimer

Ein abschließender Hinweis noch: das Thema Airplay im Auto ist mit diesem Blogpost zwar technisch ansatzweise gelöst, aber sicher noch nicht endgültig erschlagen. Ob die Nutzung tatsächlich so einfach ist wie erhofft oder ob sich im Raspberry-Gehäuse Kondenswasser sammelt, der TÜV das mukiert oder andere schlimme Dinge dadurch verursacht werden, muss sich erst noch im Laufe der Zeit herausstellen.

Update 10/2016

In den vergangenen 1,5 Jahren habe ich das Projekt etwas weiterentwickelt:

  • Der in den Kommentaren schon bemerkte Fehler mit den nicht zugewiesenen IP-Adressen wurden behoben. Ursache des Problems war ein fehlender Parameter in /etc/networking/interfaces.
  • Außerdem habe ich das Image dahingehend erweitert, dass es nun standardmäßig mit einer USB Soundkarte zusammenarbeitet.

Sowohl in Sachen Soundqualität als auch Stabilität läuft das Image bei mir auf einem Raspberry 1, Modell B, ausgezeichnet.

Download: AirPI V2 mit Edimax-WLAN-Treiber und USB-Soundkartenunterstützung


7 Kommentare zu “Airplay im Auto nachrüsten mit dem Raspberry Pi

  1. Hi,
    Leider kann mein iPhone (oder andere Clients) nicht mit dem AP verbinden. Ich sehe zwar das „wifi“, kann auch das Passwort eingeben, aber es verbindet sich nicht mit AP. Als ob er versuchen würde die IP abzurufen.
    Muss ich das iPhone noch „paaren“, also z.B. die MAC-Adresse irgendwo eintragen? Beschränkt sich das vielleicht auf eine bestimmte iOS-Version?
    Besten Dank für etwas Unterstützung, bin leider Mausschubser und hab mit Lunix nicht viel am Hut. Mein Wissen beschränkt sich auf den Input aus dem WWW 🙂

    Mein System:
    RPI B+
    Edimaxx EW7811Un
    iPhone 4S (iOS 7.1)

    Besten Dank

    LiveWire

    • Das Problem ist bekannt. Die Ursache habe ich noch nicht herausfinden können, allerdings habe ich einen Workaround gefunden 😉
      1) iPhone WLAN deaktivieren
      2) Raspberry neu starten
      3) Warten, bis der Raspberry voll hochgefahren ist (ca. 60 Sekunden)
      4) iPhone WLAN aktivieren

      In den allermeisten Fällen läuft das WLAN dann. Getestet habe ich das Ganze mit iOS8.4.1. Falls das nicht hilft, empfehle ich, das iPhone mal komplett zu resetten (Backup erstellen und kompletten Restore). Mit einem älteren iOS Release hatte ich schonmal solche Probleme, dass es nur über diesen „harten“ Weg ging.

      • Das Problem tritt auch auf Android Geräten auf. Leider hilft der Universalweg nur gelegentlich. Der Pi scheint Probleme damit zu haben IP-Adressen zu verteilen.

  2. Pingback: hostapd could not connect to kernel driver – Andreas W. Ditze

    • Das Image wurde für einen Raspbi 1 gemacht, habe es unter 3 nicht getestet. Allerdings hat die c’t kürzlich für einen Raspberry 3 eine Bluetooth-Edition gemacht. Das war nur ein Skript mit ein paar Zeilen – eventuell hilft dir das weiter.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.