Webradio-Wecker auf Raspberry
Edit: Neue Version hier verfügbar.
Um etwas mehr ins Englische einzutauchen und Kompetenz im mündlichen Verständnis zu erlangen, möchte ich morgens mit US-Radios aufwachen. Nur hier kostet ein mit Webradios arbeitender Radiowecker im Schnitt um die 150 €. Ich schlage vor, Sie tun es für den Preis eines Himbeer-Pi. Notwendiges Material:
- Ein Himbeer-Pi
- Ein Paar Lautsprecher zum Anschließen an den Raspberry.
- (Optional) Ein Android-Smartphone
Zusammenfassung
Voraussetzungen auf dem Rpi-System
Die schöne Zeit
Um die Zeit Ihres Rpi anzuzeigen, geben Sie den Befehl ein
1
|
date
|
Wenn die Uhrzeit nicht stimmt, ist die Zone sicherlich nicht richtig eingestellt. Dann tippe
1
|
sudo dpkg–reconfigure tzdata
|
Wählen Sie dann 'Europa / Paris'.
Webserver
Ein Webserver zum Verteilen der in HTML5 und PHP geschriebenen Anwendung.
1
|
sudo apt–get install apache2 php5 libapache2–mod–php5
|
Um zu überprüfen, ob die Installation in Ordnung ist, gehen Sie mit unserem bevorzugten Browser zur Adresse des Rpi. Bei mir wird es IE6 sein. Der Apache-Webserver sollte Ihnen die Standardindexseite wie in der folgenden Abbildung anzeigen.
Audio-Tuning
Beim Rpi kommt der Ton standardmäßig über die HDMI-Schnittstelle. Um den Ton über den analogen Ausgang auszugeben, um Lautsprecher zu verwenden, geben Sie den folgenden Befehl ein
1
|
sudo amixer cset numid=3 <n>
|
Oder ist die Ausgabenummer. 0 = automatisch, 1 = analog, 2 = HDMI.
Um die analoge Ausgabe zu erzwingen, geben wir
1
|
sudo amixer cset numid=3 1
|
Ein einfacher Klangtest zur Überprüfung.
1
|
speaker–test
|
Sie sollten ein Zischen hören.
Sie können die Ausgabelautstärke des Rpi über den Befehl anpassen
1
|
alsamixer
|
Standardmäßig wird der Rpi auf 50% verstärkt. Der Befehl alsamixer bietet Ihnen über die Tasten „Pfeil nach oben“ und „Pfeil nach unten“ auf der Tastatur ein Einstellungsmenü.
Media Player
Die Anwendung basiert auf einem Open-Source-Player namens MPlayer. MPlayer ist ein Multimedia-Player für Linux. Es unterstützt die meisten Formate und verarbeitet auch Audiostreams aus dem Netz, was in unserem Fall für uns interessant ist.
1
|
sudo apt–get install mplayer
|
mplayer ist ein Kommandozeilenprogramm piloted durch die Standardeingabe.
Um es zu testen, schließen Sie ein Paar Lautsprecher an das Rpi an und führen Sie den folgenden Befehl aus
1
|
mplayer –playlist http://provisioning.streamtheworld.com/pls/KDNDFM.pls
|
Aktualisieren von Apache-Berechtigungen
Die Idee ist daher, piloter dieses Programm über die Webschnittstelle. Nur, es gibt ein Problem. Auf Nunux hat jedes Programm seinen eigenen Benutzer zum Ausführen. Dies aus Sicherheitsgründen. Es ist normal, dass der Benutzer des Apache-Webservers (www-data) keine Systembefehle ausführen kann. Dieser Benutzer hat daher nicht das Recht, das MPlayer-Programm zu starten. Wir ermächtigen den Benutzer www-data, bestimmte Systembefehle auszuführen, die für das Programm erforderlich sind. Dazu verwenden wir sudo. Sudo ermöglicht es dem Systemadministrator, bestimmten Benutzern (oder Benutzergruppen) die Möglichkeit zu geben, einen Befehl als Administrator oder als anderer Benutzer auszuführen. Es kann fein konfiguriert werden, um die Ausführung privilegierter Aufgaben zu autorisieren oder zu verweigern. Dank dessen gewähren wir unseren Benutzer-www-Daten die folgenden spezifischen Rechte:
- MPlayer starten
- Finden Sie heraus, ob MPlayer läuft
- MPlayer stoppen
Dazu bearbeiten wir die sudoer-Datei mit dem Befehl
1
|
sudo visudo
|
Fügen Sie die folgende Zeile am Ende der Datei hinzu
1
|
www–data ALL=NOPASSWD:/usr/bin/mplayer* ,/usr/bin/pgrep mplayer ,/usr/bin/killall mplayer
|
Installation der Piclodio-Anwendung auf dem Rpi
Ich habe die Piclodio-App benannt nach Rapsberry Pi Radiowecker. Der Code ist hier auf GitHub verfügbar.
Wir rufen die neueste Version des Archivs direkt auf dem Rpi . ab
1
|
wget https://github.com/Sispheor/Piclodio/archive/master.zip
|
Wir extrahieren
1
|
unzip master.zip
|
Wir legen den Ordner in das Apache-Verzeichnis
1
|
sudo mv Piclodio–master/ /var/www/piclodio
|
Wir geben dem Benutzer von Apache (www-data) die Rechte an diesem Verzeichnis
1
|
sudo chown –R www–data:www–data /var/www/piclodio
|
Die Anwendung wird installiert.
Wie wird das Kissen verwendet?
Sie können die Anwendung über einen beliebigen Browser auf einem Terminal in Ihrem lokalen Netzwerk verwenden. Gehen Sie einfach zur IP-Adresse des Rpi und fügen Sie den Namen des Piclodio-Ordners am Ende der URL wie folgt hinzu
1
|
http://192.168.0.20/piclodio
|
Die Anwendung ist aufgrund ihrer Oberfläche eher für mobile Endgeräte vom Typ Smartphone gedacht, funktioniert aber genauso gut auf einem PC-Browser.
Wo finde ich Webradio-URLs?
Ich empfehle die Seite http://tunein.com oder http://www.radio.fr. Sobald Sie ein Webradio gefunden haben, müssen Sie nur noch die URL abrufen, die den Audiostream generiert, um ihn in Piclodio einzufügen.
Auf Chrome:
- Rechtsklick auf die Seite
- Untersuchen Sie das Element
- Registerkarte „Netzwerk“
- Finden Sie das Skript, das die meisten Daten überträgt (das mit dem größten gelben Balken)
- Kopieren Sie die „Anfrage-URL“ in Piclodio
Piclodio Android-App
Es ist nicht gut, jedes Mal, wenn Sie den Wecker umstellen oder einfach das Radio starten möchten, über den Browser Ihres Smartphones zu gehen. Sie müssen den Browser starten und dann die URL der Himbeere eingeben oder in Ihren Favoriten suchen. Kurz gesagt, es ist zu lang. Also habe ich eine kleine Android-Anwendung erstellt, die einfach die Rpi-Webseite anzeigt.
Der Code ist hier auf GitHub verfügbar, damit bärtige Puristen überprüfen können, dass ich nicht unwissentlich eine Hintertür platziert habe, die ihre Daten direkt bei Ebay verkauft.
Ansonsten können Sie die apk hier herunterladen. Beim Start fragt das Programm Sie nur nach der Piclodio-URL auf dem Rpi.