Simple Raspberry PI Internet Radio

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

    >hier< kann man ein scheinbar ganz einfaches Internetradio basteln. Es sah für mich auch relativ "einfach" aus.
    Also gesteckt, Code kopiert und gestartet und keine Playlist gefunden.
    Nach lesen und grübeln habe ich mal

    Code
    exec_command("mpc load mylist.pls")


    in

    Code
    exec_command("mpc load playlist.m3u")


    geändert.

    In der Playlist steht nur:

    Code
    http://mp3.webradio.antenne.de:80
    http://mp3.ffh.de/radioffh/hqlivestream.mp3

    Dann hat er scheinbar eine Playlist gefunden, nur war nichts zu hören.
    Nach einiger Zeit kam dann

    Code
    error: Timeout
    error: Timeout
    error: Timeout

    Als ich es kopiert habe mit Strg+C kam noch

    Code
    ^CTraceback (most recent call last):
      File "radio.py", line 56, in <module>
        sleep(0.2)
    KeyboardInterrupt
    Radio stopped

    Was muss man noch machen oder ändern damit es funktioniert?

  • Hast du den Befehl schon mal ausgeführt (ohne Skript) ?

    Versuche mal folgendes:

    mpc crop (löscht alles aus der Playlist bis auf den gerade geladenen Song)
    mpc add http://xyz.de:0815 (fügt den Channel xyz.de:0815 hinzu)
    mpc next (wählt die nächste Datei)
    mpc play (spielt ab)

    Gruß

    Chris

    Oh nicht vergessen:

    die Playlist muss in einen Bestimmten Ordner liegen (ich glaube /var/mpd/playlists oder so - google einfach mal)
    und dann musst du noch den Befehl "mpc update" machen, damit er die Playlist auch an nimmt.

    Einmal editiert, zuletzt von Pfutz (9. Dezember 2014 um 08:54)

  • Hab mal schnell geschaut:

    mit "sudo nano /etc/mpd.conf" kannst du den Ordner selbst ändern. (Bei USB-Stick etc. musst du dich vergewissern, dass dieser auch beim Start eingebunden ist.)

    "/var/lib/mpd/music" ist der Ordner, wo die MP3's drinnen sein müssen (außer du änderst es)
    "/var/lib/mpd/playlists" ist der Ordner, wo die Playlists drinnen sein müssen (^^)

    UND TROTZDEM: "mpc update" nicht vergessen, jedes mal, wenn du neue playlists und MP3's zufügst.

  • Hallo,

    ich habe getestet.
    Nach dem Start eingeloggt und mit

    Code
    mpc play


    lief auch schon der Radiosender.

    Dann mit

    Code
    mpc stop


    war wieder Ruhe.

    Dann das Skript gestartet und wieder

    Code
    error: Timeout
    error: Timeout
    error: Timeout

    In der mpd.log steht:

    Zitat

    Dec 09 20:38 : avahi: Failed to create client: Daemon not running

    und nach

    Code
    service mpd start

    kommt

    Zitat

    [....] Starting Music Player Daemon: mpdlog: failed to open log file "/var/log/m pd/mpd.log" (config line 37): Permission denied
    failed!

    Ich habe keinen Plan was da nicht läuft.

  • dann versuch doch mal "sudo service mpd start"
    aber mpd ist ja schon geladen, sonst könntest du über mpc ja nichts hören...

    Sind die Playlisten auch im Playlist-Ordner oder irgendwo unter /home/ ?

  • Vielleicht als Hinweis: Das liegt an der Software, es gibt ja unterschiedliche 6 versch.Versionen. Am besten sattelst Du um und nimmst Python (also nicht RaspianPython). Leider funktioniert hier duerc h die Steuerzeichen das Einschreiben nicht, sonst hätte ich das hier gleich eingeschrieben, ist nur ein ganz kleiner Code, das Wesentliche ist ja die Ansteuerung an die Radiosender. Und das kannst Du ganz einfach selber schreiben mit CaseElse. Beim Raspi ist es ein Problem, wenn der immer auf eine Datenbank zurückgreifen muss, dann dauerts, bis der Sender da ist. Besser also im Code durch CaseElse und darin sämtliche Sender, die Du haben willst (kann ja untereinander kopiert werden). Einen virtuellen Drehknopf programmieren (wie beim Radio, der zwischen 87,6 und 105,6 geht) und jeder Punkt geht dann direkt auf die Software in den CaseElse Bereich und steuert den Sender direkt an. Wenn Du die Urls nicht weisst, kein Problem, nimm eine Shjareware-Radiosender und darin ist immer eine Datenbank mit den entsprechendes Urls.
    Der Empfang der Sender ist genauso simple wie bei Websites undf kann mit wenigen Code unter Python geschrieben werden. Wenn dann allerdings Dein Lautsprecher nicht funktioniert (das könnte hioer ja wohl das Problem sein), dann musst Du mal den Klinkensteckereingang kontrollieren. Das ist bei dem Raspi eine zwiemliche wacklige Angelegenmheit. Alternativ dann eben über USB oder HDMI, aber das muss am Gerät überprüft werden.
    Wie gesagt, 5 Zeilen Code unter Python und dazu die Verweise auf die http:Radiostationen und schon läuft das Ding als komplettes Internet-Radio. Es braucht auch keinen weiteren, sondern njur den gleichen Code, um den Raspi als Internet-Fernseher zu installieren. Schau bei Zooms rein, da läuft das auch genauso, 100 TV-Sender weltweit mit 5 Zeilen Code.

  • Danke Kesselgucken für die Tipps.
    So halbwegs habe ich verstanden was du meinst. Hast du da ein paar Links wo man sich noch belesen kann? Denn ich muss sagen, ich habe kein Plan wo ich anfangen soll.
    Was meinst du mit Zooms? Google gibt mir da nur Kameralinsen wieder.
    Der Audioausgang funktioniert, mit "mpc play" kann ich ja den Sender hören.

  • Ich meine natürlich Zattoo, wo man 100 TV-Sender einschalkten kann,. Das ist nichts anderes, was man genausogut über den Raspi machen kann. Nachstehend der Code (nur die Ziele müssen noch deklariert werden, besser nicht in einer Datenbank, weil der Raspi da erst zugreifen muss und dann schlapp machen könnte) sondern direkt als Code als Case Else.
    Der Hauptcode nachstehend, nur die Steuerzeichen lassen sich hier nicht schreiben, deshalb noch nachtragen.
    Python-Code (der aber exakt auch im Raspi läuft) (winsound ist nicht etwa Windows!
    from winsound import *
    import time
    PlaySound("SystemExit",SND_ALIAS)
    time.sleep(1)
    Play.Sound("SystemExit", SND_ALIAS SND_ASYNC)
    time.sleep(1)
    PlaySound("SystemExit",SND_ALIAS)

    Noch als Nachtrag: noch einfacher gehts, wenn Du Dir die Zattoo Seite hunterlädts den Code daraus kopierst und in Deine Raspiseite reinbschreibst, dann hast Du zwar den Zugang zu den TV-Sendern, aber der gleiche Code taugt auch für Radiosender (InternetRadioStations)

    Einmal editiert, zuletzt von Kesselgucken (10. Dezember 2014 um 17:46)

  • Pfutz

    Code
    pi@raspberrypi ~ $ sudo service mpd start
    [ ok ] Starting Music Player Daemon: mpd.


    aber nach:

    Code
    sudo python radio.py


    nichts ...???

    Kesselgucken
    dazu muss ich gestehen, das überfordert mich völlig.
    zermarter mir das Hirn um den Code zu verstehen und eine zweite Sache schaffe ich einfach nicht.

    Ich verzweifle noch ... :wallbash:
    Hätte nicht gedacht das es schon am Ausführen von fertigen Skripten scheitert.

    Habe hier ein Skript gefunden zum testen der Taster:

    Nur kommt nach

    Code
    sudo python test_switches.py


    nicht ...???

    nach:

    Code
    sudo service test_switches.py start


    kommt

    Code
    test_switches.py: unrecognized service

    Was, wie und wo muss ich machen um das Skript zum laufen zu bekommen und einfach mal zu sehen das die Taster funktionieren? Was muss mir angezeigt werden wenn das Skript läuft?

  • Hi,

    hab dein verlinktes Radio Script mal schnell getestet.

    Kopiere das mal nach /var/lib/mpd/playlists/radio.m3u

    und das in /home/pi/radio.py

    cd /home/pi/
    sudo python radio.py

    und nach ein paar Sekunden müsste was aus deinen Speakern kommen.

    So ging es jedenfalls bei mir. Hab das ganze nur ohne Taster probiert.

    Gruß mattes

  • Alles so gemacht -> nichts :no_sad:

    dann noch getestet:

    mpc add ... ->geht
    mpc play -> geht
    mpc stop -> geht

    aber dann!

    Code
    mpc load radio.m3u


    und danach

    Code
    loading: radio.m3u
    error: Timeout

    Es scheint an der playlist zu liegen nur weiß ich nicht an was? Was soll denn an einer Textdatei nicht funktionieren? Zumal der Link mit "mpc add" ja funktioniert ...=(

    Edit:

    :D
    Ich hab es geschafft!!!
    Es war die Datei *.m3u
    Nachdem ich eine neue mir "mpc save radio.m3u" erstellt habe konnte ich die auch bearbeiten und diese hat er auch gefressen ... :)
    Welcher Editor ist dafür am besten?

    Jetzt läuft auch das Script.

    Wie kann ich dann noch Befehle wie "mpc next" eingeben, oder geht das solange das Script läuft nicht?
    Wie beende ich das Script?

    Die Taster werde ich morgen testen.

    Einmal editiert, zuletzt von mex_ (10. Dezember 2014 um 23:24)

Jetzt mitmachen!

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