Radiowecker

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Raspberry-Profis,

    vor einigen Tagen habe ich mir einen Raspberry 3 gekauft und mich seitdem durch einige Tutorials gehangelt.


    Ich würde den Raspberry Pi gerne als Radiowecker einsetzen.

    D.h. von Montag-Freitag von 6-7 Uhr einen Webradio-Stream abspielen.

    Ein Display für Uhrzeiten o.ä. ist nicht notwendig, ein Webinterface wäre schon luxuriös...


    Kann mir jemand grob erklären wie ich vorgehen sollte, oder gibt es ein Tutorial für so etwas?


    Über Tipps würde ich mich sehr freuen.

    Vielen Dank fürs Lesen und viele Grüße

    fap

  • Ok, nen Tipp kann ich geben.
    Ist ne relativ einfache Lösung, klappt aber zuverläßig hier und ist schon etwas weiter gedacht ....

    Zum Abspielen der Radiostreams nutze ich MPD - da mal googlen oder hier im Forum suchen, da gibs ne Menge Anleitungen.
    Für MPD gibt es ne Menge Clients, also Software um MPD von einem PC oder Androiden zu steuern.
    Ich nutze unter Linux und Windows den Gnome Musikplayer Client.

    Um am Pi MPD zu bedienen installiert man dort mpc.

    Für die Weckzeit nutze ich crontab - für den gibt es ebenfalls Anleitungen genug so spar ich mir das.
    Im Ordner /var/lib/mpd/playlists packt man nun ne playlist mit den gewünschten Radiosender(n).
    Diese läd man in MPD und startet mit dem angelegten crontab halt nen script das diesen Stream in MPD mit MPC am Raspberry startet.

    Als Beispiel geb ich mal meine Scripte hier mit bei.
    crontab:

    Code
    30 8 * * 1-5 /home/DEIN_BENUTZERNAME/aufstehen.sh >/dev/null 2>&1


    Das Script aufstehen.sh:

    Du kannst alles weglassen bis auf die MPC - Befehle oder halt noch mpg321 installieren.
    Es wird erstmal geprüft ob MPC schon was abspielt - wenn ja soll er die Liste nämlich nicht ersetzen sondern weiter Abspielen - es wird dann nur die Lautstärke von MPC herabgesetzt, ne zufällige MP3-Datei die von 1-9 durchnummeriert sind abgespielt und im Anschluss die Lautstärke wieder zurück gesetzt.
    Wenn MPC aus ist / war wird die MP3-Datei auch abgespielt, die Lautstärke so eingestellt wie sie zum wecken sein soll, die Playlist geladen wo die Radiosender drin stehen und MPC gestartet.

    Der Befehl -> mpc play 7 steht für den Sender in der Playlist mit dem geweckt werden soll.
    Bei mir stehen da ca 20 Sender drin so kann man das variieren ... ich lass ich von dem Sender auf Platz 7 halt wecken.

    Das zeigt nur nen möglichen Weg ... das selbe ist auch mit omxplayer möglich.
    Hoffe das hilft Dir :)

    Einmal editiert, zuletzt von pelztier (30. April 2016 um 22:40)

  • Moin,
    erstmal herzlich Willkommen im Forum!

    Sach ma, woher hast du eigentlich diesen Eintrag

    Code
    00 7 * * * root chmod 700 /etc/wecker.sh >/dev/null 2>&1


    Abgesehen, das es den Befehl "root" nicht gibt. Du meinst sicherlich "Hallo ich bin Chef" also das Kommando "sudo".
    Und dann setzt du morgens um 7:00 Uhr die Flags der Datei /etc/wecker.sh.

    Dann das Nächste. Benutzerprogramme, Scripte usw. werden NICHT in /etc gespeichert. Wenn man sich kein eigenes Verzeichnis einrichtet, nimmt man normalerweise sein homeverzeichnis.

    Code
    /home/pi

    Wenn du sicher bist das dein Script geht. Also

    Code
    wecker.sh
    oder
    ./wecker.sh

    in der Konsole eingegeben, kannst du weitermachen.

    Um es nun richtig zumachen.

    Code
    0 7 * * * /home/pi/wecker.sh

    Warum du allerdings den omxplayer nutzt um simples Webradio zuspielen...

    Du solltest dir dringend die manpages zu "crontab" ansehen.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Zitat


    In der Datei /etc/crontab die Zeile eingefügt:

    00 7 * * * root chmod 700 /etc/wecker.sh >/dev/null 2>&1


    Mit dem Eintrag läßt Du Dich(wenn die Syntax richtig wäre ... so wie es da steht kann das nicht funktionieren ....) jeden Tag um 7 Uhr wecken - Du wolltest aber nur Montag bis Freitags geweckt werden.
    Übernehme dort also mein 1-5 statt den 3ten Stern.
    Guck Dir mein Beispiel noch mal genau an.
    Wo liegt mein Skript?
    Wie ruf ich es im crontab auf?
    Im Grunde steht alles in meinem ersten Post - Du mußt nur den Namen des Skriptes, die Uhrzeit und den Pfad zu Deinem Homeverzeichnis anpassen ...


    Für jeden Benutzer gibt es nen Crontab - dieser wird eben von jeweiligem Benutzer angelegt.
    Nimm das root und chmod raus aus dem crontab - das hat da nix zu suchen.

    Wenn Du mit einem Editor ein Skript erstellt, es abgespeichert hast und es ausführbar sein soll, dann gibst du in der Bash den befehl chmod +x SKRIPTNAME ein und fertig.
    In dem Fall also :

    Code
    chmod +x wecker.sh

    Um sowas / den Wecker auszuführen brauchst Du auch keine Root - Rechte.
    Nen einfaches:

    Code
    ./wecker.sh


    reicht dann.

    Zitat

    Dann im Ordner /etc die Datei "wecker.sh" angelegt. Der Inhalt lautet:


    Wieso machst Du sowas?
    Skripte gehören in Dein Benutzerverzeichnis.
    In /etc liegen normalerweise die Einstellungen von installierten Anwendungen - wie kommst Du auf sowas?
    Wenn Du angemeldet bist befindest Du Dich in Deinem Verzeichnis.
    Dort bist Du der Herr und kannst Dateien, Verzeichnise, Skripte .... erstellen, diese ausführbar machen usw.

    Zitat

    Du mußt nicht Root sein um Videos oder Musik abzuspielen.
    Versuch es mal mit :

    Code
    omxplayer http://wdr-mp3-m-wdr2-koeln.akacast.akamaistream.net/7/812/119456/v1/gnl.akacast.akamaistream.net/wdr-mp3-m-wdr2-koeln


    Direkt in der Bash - hier geht das.
    Dein Benutzer muß nur in der Gruppe audio und video gehören damit er zum ausführen des omxplayers die Rechte hat.

    Viel erfolg =)

    EDIT:
    Dein Skript lass am besten mal so aussehen:

    Bash
    #!/bin/bash
    omxplayer http://wdr-mp3-m-wdr2-koeln.akacast.akamaistream.net/7/812/119456/v1/gnl.akacast.akamaistream.net/wdr-mp3-m-wdr2-koeln
    exit 0


    Wenn der OMXPlayer auf der Bash startet beendest Du ihn in dem Du die linke Taste STRG(heißt teils auch CTRL) gedrückt hälst und die Taste c drückst.

    Einmal editiert, zuletzt von pelztier (1. Mai 2016 um 03:16)

  • Bitte in Scripts immer den vollständigen, absoluten Pfad zu den Programmen angeben!
    Also:

    Bash
    #!/bin/bash
    /usr/bin/omxplayer http://wdr-mp3-m-wdr2-koeln.akacast.akamaistream.net/7/812/119456/v1/gnl.akacast.akamaistream.net/wdr-mp3-m-wdr2-koeln
    exit 0

    Man kann nie wissen, welcher Suchpfad in der aufrufenden Instanz gesetzt ist.

    Anfragen ausserhalb des Forums (Mail o.ä.) werden ignoriert!

  • Nach einigen Irrwegen und vielem Lesen und Probieren aber vor allem dank eurer Hilfe habe ich es hinbekommen.

    Crontab angelegt:

    Code
    0 6 * * 1-5 /home/pi/wecker.sh

    Datei "wecker.sh" mit folgendem Inhalt angelegt:

    Bash
    #!/bin/bash
    /usr/bin/omxplayer http://wdr-mp3-m-wdr2-koeln.akacast.akamaistream.net/7/812/119456/v1/gnl.akacast.akamaistream.net/wdr-mp3-m-wdr2-koeln
    exit 0

    Und es funktioniert erstmal. :danke_ATDE:


    Zwei Fragen habe ich noch.

    - Um den Wecker zu beenden müsste ich ja auch einen Crontab anlegen. Wie müsste der aussehen?

    - Wenn der omxplayer läuft habe ich noch keine Möglichkeit gefunden, die Lautstärke zu verringern. Der Lautstärkeregler auf dem Desktop hat keine Funktion.


    Vielleicht ist der omxplayer doch nicht das Richtige...

    Das Script "aufstehen.sh" aus dem zweiten Post verstehe ich nicht. Da steht zuviel drin. Ich brache ja nur den Stream und eine Lautstärke.


    Bis hierher schonmal vielen Dank und viele Grüße

    fap

  • Das in meinem Beispiel viel drin steht das Du nicht brauchst war mir klar und ich merkte es auch an ;).

    Ich würde Dir immer noch empfehlen MPD und MPC für Dein Vorhaben zu benutzen / installieren.

    Für Anleitungen hier zu empfehle ich ebenfalls noch mal die Suche hier im Forum oder Google zu bemühen.
    Weil ich einfach keinen Sinn darin sehe Dir hier eine Anleitung zu schreiben die es schon zu Hunderten im Internet gibt.

    Um Dich damit dann wecken zu lassen benutzt Du wieder mein Beispielskript - Du löscht nur eben die Befehle die nix mit MPD / MPC zu tun haben.

    Viel Erfolg =)

    Edit:
    Eine kurze anleitung zum OMXPlayer gibt es hier http://omxplayer.sconde.net/#troubleshooting


    Einmal editiert, zuletzt von pelztier (1. Mai 2016 um 19:16)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!