Bedienoberfläche für Webradio
ulrich
2018-02-20 e15bc00949694f5b27585c200abc234761325f6f
commit | author | age
299b68 1 # Radio abspielen mit dem Raspberry Pi
U 2
c2f17b 3 Das [radio-ui](README.md) 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](/gitblit/docs/pirc.git) genutzt. Pirc kombiniert zum Spielen von Audiostreams den [omxplayer](https://elinux.org/Omxplayer) mit einer auf [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat) laufenden Fernbedienung, die per HTTP gesteuert werden kann.
175e83 4
U 5 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.
299b68 6
U 7 ## Kombination von pirc und radio-ui
08bce7 8
U 9 Zur Verwendung des radio-ui mit [pirc](/gitblit/docs/pirc.git) 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.
10
299b68 11 In beiden Fällen sendet das radio-ui Kommandos via HTTP an pirc wie nachfolgend beschrieben.
08bce7 12
299b68 13 ## Kommandos an den Raspberry Pi
U 14
15 Wird [pirc](/gitblit/docs/pirc.git) 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
08bce7 16
U 17 1. `http://raspi:8080/` - URL der Maschine
18 1. `pirc/` - Name des Kontext, unter dem die Anwendung pirc läuft
19 1. `sys/rpc` - Service-Endpunkt der pirc-API
20 1. `c=de.uhilger.pirc.App` - Name der Klasse von pirc, die die Abspielmethode enthält
21 1. `m=abspielen` - Name der Methode zum Abspielen
22 1. `p=Sender-URL` - der Parameter mit dem URL zum Audiostream des Webradiosenders
299b68 23 1. `p=` - optionaler Token zur Authentisierung (kann hier leer bleiben)
08bce7 24
299b68 25 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.
08bce7 26
299b68 27 ### Abspielen
08bce7 28
9643e5 29 Das Kommando zum Abspielen des Livestreams des Radiosenders radiobob (vgl. [Senderliste](radiostreams.md)) lautet z.B. wie folgt
08bce7 30
U 31 ````
32 http://raspi:8080/pirc/sys/rpc?c=de.uhilger.pirc.App&m=abspielen&p=http://bob.hoerradar.de/radiobob-live-mp3-hq&p=
33 ````
34
299b68 35 Es bewirkt, dass auf dem betreffenden Raspberry Pi eine Instanz des [omxplayer](https://elinux.org/Omxplayer) gestartet wird und diese fortlaufend den Webradio-Stream unter der angegebenen Adresse abspielt.
08bce7 36
299b68 37 ### Stoppen
08bce7 38
U 39 Zum Stoppen des zur Zeit abgespielten Webradios dient das folgende Kommando
40
41 ````
42 http://raspi:8080/sys/rpc?c=de.uhilger.pirc.App&m=kommando&p=q
43 ````
44
299b68 45 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](https://elinux.org/Omxplayer) das Abspielen stoppt und der Prozess endet.