Anleitung Teil 1: Der RPi als "Sender"
In diesem Abschnitt zeige ich Euch, wie Ihr einen "RPi-Radio-Sender" erstellt. Am Ende könnt Ihr dann schon einmal Musik als Stream hören.
Ein allgemeiner Hinweis, der das Leben leichter macht: Wenn Ihr hier die Befehle markiert und `kopiert` (<STRG>+<C>), dann könnt Ihr Sie mit "Rechte-Maustaste-Klick" direkt in PuTTY "einsetzen" (Sowohl als Befehl, also auch in nano).
Voraussetzung:
Ihr habt einen RaspberryPi (im folgenden RPi) und eine passende SD-Card mit mindestens 4GB Speicher. Außerdem benötigt Ihr ein USB-Kartenleser und eine PC oder Mac
Installation RaspberryPi Raspian Stretch Lite:
Ihr benötigt:
- Das Image Raspian Stretch Lite*
- Ein IMG2USB Programm, z.B. balenaEtcher
- Ein SSH-Terminal Programm, z.B. PuTTY
- (optional): Advanced IP Scanner
- (optional): SONOS-Player für Windows bzw. iOS
Step-By-Step
- Download RPi-Image, download ein IMG2USB-Programm. Installiert das Programm und flasht als erses das RPi-Image.
- Hinweis: balenaEtcher wirft nach erfolgreichen Brennen den Kartenleser aus - Ihr müsst den Kartenleser noch einmal neu mit dem PC verbinden. Windows 10 wirft daraufhin Fehler aus, das 2 Laufwerke nicht lesbar sind - einfach ignorieren.
- Erstellt nun auf dem USB-Laufwerk (Laufwerk "boot") eine Datei "ssh", ohne Endung (Rechtsklick: Neu -> Textdatei), ggf. müsst Ihr vorher in Windows einstellen, dass Ihr die Endungen aller Dateitypen sehen wollt.
Das machen wir, damit wir via SSH-Protokoll (PuTTY) auf den RPi zugreifen können - wer das nicht will, der muss sich eine Tastatur und einen Monitor besorgen. - SD-Karte in den RPi und starten
- PuTTY aufrufen und sich mit den RPi verbinden - über die Netzwerkumgebung (Windows), über Euren Router oder mit dem Advanced-IP-Scanner erfahrt Ihr, welche IP-Adresse der RPi bekommen hat.
- ggf. bietet es sich an, im Router dem RPi immer die selbe IP Adresse zuzuweisen.
- Login für den RPi: Benuztername ist: pi, das Kennwort ist: raspberry
Nun kommt die Installation der einzelnen Pakete (gefunden bei Jan Karres , dort ist es etwas ausführlicher beschrieben):
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install mpc mpd icecast2
Mit dieser Befehlszeile ist schon 70% zum "Grundplayer" erledigt .
Ihr werdet im weiteren Prozess gefragt, ob Ihr Icecast2 konfigurieren wollt, antwortet mit Y
Dann müsst Ihr drei Kennwörter vergeben. Diese solltet Ihr Euch notieren. Später kann man dann über http://<IP-RPi>:8000 auf den RPi zugreifen. Benutzername admin und Eurer Kennwort.
Solltet Ihr während der Installation eine Warnung bekommen, dass Port 6600 nicht funktioniert, dann gebt bitte noch foldes ein:
sudo modprobe ipv6
Anschliessend müssen wir den MPD (Music Player Daemon) konfigurieren, dazu bearbeiten wir die Datei /etc/mdp.conf
sudo nano /etc/mpd.conf
und tragen dort folgendes ein:
audio_output { type "shout" name "NOPLLI-Stream" description "NoPlayList-RPi" host "localhost" port "8000" mount "/mpd" password "<Kennwort>" bitrate "192" format "44100:16:2" encoding "mp3" }
Name und Despription könnt Ihr natürlich frei wählen, bei password nutzt Ihr das eingebene Kennwort und bei der Bitrate scheiden sich die Geister - ich nehme 192 - das ist dann schon ordentliche Qualität.
Jetzt muß der Daemon (Dienst) neu gestartet werden:
sudo /etc/init.d/mpd restart
In der Grundinstallation sind die Musikdateien zum Streamen unter /var/lib/mpd/music/ und die Playlisten unter /var/lib/mpd/playlists/ gespeichert. Dies wird dann zukünftig geändert, jetzt aber zum ersten Testen reicht es.
Der Benutzer pi hat aber nicht die nötigen Rechte um darauf schreiben und lesen zu können. Wir fügen den Benutzer pi nun zu der Gruppe audio hinzu und geben dieser entsprechende Rechte. (Die Gruppe audio sowie die Verzeichnisse wurden durch die Installation des MPD hinzugefügt).
sudo usermod -a pi -G audio sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/ sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/
Jetzt muss nur noch Musik (MP3) in das Verzeichnis kopiert werden, dazu müssen wir z.B. einen USB-Stick mounten (einbinden) und die MP3s kopieren, oder Ihr habt eine NAS- bzw. Windows-Freigabe, dann kann man die mounten.
Weil auf der SD-Karte nicht so viel Platz ist, mounten wir einfach eine NAS-/Windows-Freigabe (es geht natürlich auch eine iOS-Freigabe) in den Ordner /var/lib/mpd/music.
sudo mkdir /var/lib/mpd/music/NAS sudo mount -t cifs -o username="<Benutzername-auf-dem-NAS>",password="<Passwort-auf-dem-NAS>" //<IP-Adresse-des-NAS>/music /var/lib/mpd/music/NAS
Hinweis: Dieses mount ist noch temporär, d.h., wenn Ihr den RPi neu startet, dann ist die Verbindung nicht mehr da (
später mehr in Teil 2
)!
(Benuztername,Passwort,IP-Adresse bitte an Eure Verhältnisse anpassen (den Freigabename music ggf. auch!)
Wichtiger Hinweis: Der Benutzername und das Passwort müssen in " stehen!
Kontrolliert, ob es geklappt hat. Außerdem stellt sich W10 manchmal zickig an, wenn es also nicht klappt, dann sucht bei W10, nicht beim Pi:
ls /var/lib/mpd/music/NAS
Als Ausgabe sollten dann Ordner und MP3-Dateien zu sehen sein.
Nun müssen wir dem MPC noch sagen, dass er aktuelle neue MP3s hat, diese in seine Playliste übernimmt, ggf. REPEAT und/oder SHUFFLE einschalten und dann "Play" drücken:
mpc update mpc ls | mpc add // optional: mpc repeat on // optional: mpc shuffle on mpc play
Mit mpc playlist könnt Ihr Euch die aktuelle Playliste ansehen.
Wenn alles bis hierher erfolgreich war, dann solltet Ihr, wenn Ihr im Webbrowser Eurer Wahl folgendes öffnet:
http://<IP-Adresse-RPi>:8000 ungefähr folgendes sehen:
Klickt oben auf den Link M3U, der Browser Eurer Wahl wird dann versuchen den Stream z.B. mit dem Media-Player zu öffnen.
Der Link zum Stream lautet wie folgt: http://<IP-Adresse-RPi>:8000/<mountpoint>.m3u (Den mountpoit> haben wir in der mdp.conf angegeben: mount "/mpd", also in diesem Falle: http://<IP-Adresse-RPi>:8000/mpd.m3u
Ende Teil 1.
Jetzt habt Ihr einen eigenen Radio-Sender! Ihr könnt es auch sofort auf Eurem SONOS-System einrichten. Leider wird dazu der SONOS-Player für Windows bzw. iOS benötigt - in der SONOS App geht es nicht!
Im Windows-SONOS-Player könnt Ihr unter "Verwalten" einen "neuen Radiosender hinzufügen". Kopiert hier den Link rein, gebt dem Ding einen Namen und fertig - Ihr findet den "Sender" dann unter TuneIn > Meine Radiosender.