Bedienoberfläche für Webradio
edit | blame | history | raw

Radio abspielen mit dem Raspberry Pi

Das radio-ui kann verwendet werden, um den Livestream eines Radiosenders von einem Raspberry Pi wiedergeben zu lassen. Hierzu wird auf dem betreffenden Raspberry Pi die Anwendung pirc genutzt. Pirc kombiniert zum Spielen von Audiostreams den omxplayer mit einer unter Tomcat laufenden Fernbedienung, die per HTTP gesteuert werden kann.

Auf dieser Seite ist beschrieben, wie pirc aus dem radio-ui heraus genutzt und mithin das Abspielen von Webradio auf dem Raspberry Pi bewerkstelligt werden kann.

Kombination von pirc und radio-ui

Zur Verwendung des radio-ui mit pirc kann die Anwendung radio-ui direkt auf einen Raspberry Pi installiert werden, beispielsweise ähnlich wie pirc als Webanwendung für Tomcat. Stattdessen kann radio-ui auch von einer anderen Maschine aus die pirc-Instanz auf einen Raspberry Pi aufrufen.

In beiden Fällen sendet das radio-ui Kommandos via HTTP an pirc wie nachfolgend beschrieben.

Kommandos an den Raspberry Pi

Wird pirc auf dem Raspberry Pi ausgeführt, können Kommandos via HTTP an die betreffende Maschine gesendet werden. Sie bestehen aus einem Klassennamen c, einem Methodennamen m und Parametern p. Ein Kommando setzt sich wie folgt zusammen

  1. http://raspi:8080/ - URL der Maschine
  2. pirc/ - Name des Kontext, unter dem die Anwendung pirc läuft
  3. sys/rpc - Service-Endpunkt der pirc-API
  4. c=de.uhilger.pirc.App - Name der Klasse von pirc, die die Abspielmethode enthält
  5. m=abspielen - Name der Methode zum Abspielen
  6. p=Sender-URL - der Parameter mit dem URL zum Audiostream des Webradiosenders
  7. p= - optionaler Token zur Authentisierung (kann hier leer bleiben)

Das obige Beispiel geht davon aus, dass der betreffende Raspberry Pi unter dem Namen raspi auf Port 8080 über HTTP erreichbar ist und dass auf dem Pi die Anwendung pirc unter dem Kontextnamen pirc installiert wurde. Zum Aufruf mit dem radio-ui kann das obige Kommando weitgehend unverändert bleiben. Nur der Teil 6. mit dem URL des Senders muss veränderlich gestaltet sein.

Abspielen

Das Kommando zum Abspielen des Livestreams des Radiosenders radiobob (vgl. Senderliste) lautet z.B. wie folgt

http://raspi:8080/pirc/sys/rpc?c=de.uhilger.pirc.App&m=abspielen&p=http://bob.hoerradar.de/radiobob-live-mp3-hq&p=

Es bewirkt, dass auf dem betreffenden Raspberry Pi eine Instanz des omxplayer gestartet wird und diese fortlaufend den Webradio-Stream unter der angegebenen Adresse abspielt.

Stoppen

Zum Stoppen des zur Zeit abgespielten Webradios dient das folgende Kommando

http://raspi:8080/sys/rpc?c=de.uhilger.pirc.App&m=kommando&p=q

Mit dem obigen Aufruf wird das Kommando q an den auf dem Raspberry Pi laufenden Abspielprozess gesendet. Das bewirkt, dass der im Abspielprozess laufende omxplayer das Abspielen stoppt und der Prozess endet.