Ein Retro-Webradio, mit dem Raspberry Pi !

Vielleicht aus Langeweile, vielleicht aus Interesse oder auch Ehrgeiz…

Die Idee war in mir geboren, eine leicht zu bedienende, schmale Software zu schreiben, die es auch dem typischen “Rentner” erlauben sollte, möglichst einfach seine 2-3 Lieblingssender aus der Internet-Radio-Welt zu speichern, zu verwalten und natürlich an zu hören.

Die Idee der Software

Da ich schon ein bisschen Erfahrung mit Python hatte und auch bereits das Ein oder Andere in PyQt4 erstellt hatte, wollte ich dies auch als Grundlage für meine Super-Rentner-Software nehmen, und habe also einfach mal losgelegt.

Hier meine ersten Gehversuche auf YouTube:

Zwischenzeitlich habe ich mich dann allerdings mit dem Mini-Computer “Raspberry-Pi” etwas beschäftigt und ein bisschen mit den GPIOs gespielt… was zum nächsten “logischen” Schritt geführt hat!

Ein Display musste her!

Gesagt getan, ich habe mir kurzerhand bei Amazon ein 7″ Touchscreen-LCD gekauft, welches man in relativ kurzer Zeit in Betrieb nehmen konnte… Als ich das Ganze dann zum ersten mal etwas “aufgebaut”, die Software für den Pi etwas angepasst und übertragen hatte, wollte ich natürlich auch gleich “mehr”

 

Ein alter Röhrenradio muss her!

Gesagt getan, bei einem Bekanntem, der Historische Radio-Geräte sammelt, konnte ich kostengünstiges ein defektes Gerät erwerben, welches ich “ausschlachten” durfte, wobei diesmal nicht die Elektronik, sondern das Gehäuse im Vordergrund des Interesses stand!

original

Nach einigen Restaurierungsarbeiten und etwas Hilfe durch meine Frau, entstand ein Gehäuse, für meinen Webradio, das zum einen genügend Platz für die Elektronik bot, als auch meinen optischen Ansprüchen genügte 🙂

Den Bau, ein paar Fakten und eine kleine Erklärung zur Funktion habe ich bereits anhand eines Videos auf YouTube gestellt. Mittlerweile findet das Projekt auch einige “Nachahmer”, allerdings im positiven Sinne. Die Software welche zum Download aus meiner Dropbox zur Verfügung steht, findet Anwendung in einigen Eigenentwicklungen von anderen Bastlern…

P.S.: Als Hilfestellung für diejenigen die Interessiert daran sind, sich ihren eigenen Webradio zu bauen, bzw. einfach mal etwas im Quellcode spicken wollen, stehen neben dem Download der Software, auch noch ein paar Installations-Videos zur Verfügung:

 

Hall of Fame der Reproduktionen:

Da es mittlerweile doch schon einige Nachbauten gibt, die meine Software verwenden, will ich euch diese nicht vorenthalten:

52 Kommentare

  1. Hallo Herr Laumer,

    ein sehr schönes Projekt das Sie auf die Füße gestellt haben. Dank Ihrer sehr detailreichen Erklärungen ist der Nachbau (Softwareseitig) sehr gut nachvollziehbar.

    Eine kleine Frage zum “Wetter-Widget” hätte ich jedoch, gibt es eine Möglichkeit, den “Standort” der Wettervorhersage zu verändern?

    Ich bedanke mich für Ihre Bemühungen (auch die in der Vergangenheit, für die Erstellung der Tutorials)

    und verbleibe mit freundlichem Gruß

    Jesch Matthias

    1. Hallo Matthias,

      klar geht das! Du musst das File lib/weatherwidget.py bearbeiten. Sieh dir die Zeile 14 an. Dies ist der Location-Code von weather.com.

      Gehe nun auf die Seite weather.com und starte die Suche nach dem gewünschten Ort (im Suchfeld eingeben und auswählen).

      Nachdem dein Ort gefunden und angezeigt wurde, schau dir den Link in deinem Webbrowser an und kopiere die Location id. Hier am Beispiel von Sattelpeilnstein mal hervorgehoben: https://weather.com/de-DE/wetter/heute/l/GMBY7640:1:GM nun kannst du die Fett markierte Passage anstelle des Enthaltenen Codes in “lib/weatherwidget.py” eingeben. Fertig!

      Viel Spass noch!
      Matthias

  2. Hallo Herr Laumer

    super Projekt Danke für die sehr gute Beschreibung. Ich hbe das Webradio mal nachgebaut, funktioniert alles soweit, bis auf die übernahme von mp3 – Dateien in den Playlisteditor.
    Wen ich im Paylisteditor auf “Plus” drücke, komme ich in das Fenster für die Dateiauswahl. Dort kann ich die mp3’s auswählen, nach drücken der “Plus”-Taste müssten die ausgewählten mp3’s dann doch im Playlisteneditor auftauchen oder liege ich da falsch ?

    1. Hallo Albert,

      Danke erst einmal für das Lob! Sowas hört man immer gerne!

      Bezüglich deiner Frage: Höchtwarscheinlich hast du den Ordner in dem die MP3s liegen die zur Playliste hinzufügen wolltest noch nicht indiziert. Wenn du diesen Ordner in der webradio.py nicht als “VARIABLE_DATABASE” eingetragen hast, wird er standardmäßig nicht eingelesen… Wenn dies gewünscht ist, (weil es sich z.B. um eine große, eher statische Sammlung an MP3’s handelt) dann kannst du auf der Konsole mit “mpc update” diesen Prozess manuell anstoßen (ACHTUNG: bei großen Dateimengen, kann das eine Weile dauern…) Wie der Stand ist, kannst du mit “mpc listall” herausbekommen. Ich lasse dir eine detailiertere Beschreibung noch per Mail zukommen! Viel Spaß noch beim basteln!

  3. Hallo Matthias,

    ich bin Feuer und Flamme, nachdem ich hier Dein Projekt entdeckt hab. Was Raspberry Pi angeht bin ich blutiger Anfänger. Aber ich will es unbedingt nachbauen. Hab mir schon ein altes Radio bei ebay “geschossen” . Dann will ich hiermit :Raspberry Pi: Das umfassende Handbuch, Raspberry Pi: Das umfassende Handbuch von den Autoren Michael Kofler, Charly Kühnast und Christoph Scherbeck vom Rheinwerk Computing Verlag, mir die Grundlagen anlesen.
    Ich hoffe ich kann hier bei Dir die Inhalte nutzen.
    Echt tolle Arbeit, die DU/Ihr hier geleistet habt :-)))).

    Heiko

  4. Hallo Matthias,
    toll, Klasse, genial.
    Ich abe aktuell eine Solarsteuerung /Temperaturdiffernz Steuerung mit dem PI realisiert und Blut geleckt.
    Das geht jetzt in Produktion und mir ist laangweilig 🙂
    Dein WEB Radio Projekt ist das nächste, habe gerade alle bestellt.
    Danke auch für die tolle Anleitung und die Genehmigung es privat zu nutzen (war doch so)
    mit sonnigen Grüßen aus Schönow Thorben

  5. Hallo Matthias,
    erst einmal muss ich Dir zu Deiner super Arbeit gratulieren. Ein tolles Projekt nach dem ich schon lange gesucht habe. Ich habe das Radio nachgebaut und es läuft super. Da ich noch Raspi-Anfänger bin, nun zu meiner Frage. Ist es möglich das Aussehen durch eigene Icons zu ändern? Nicht das mir Dein Design nicht gefällt.
    Ich habe die Icons mit einer anderen Farbe versehen und Sie auf den Pi kopiert. Leider nicht mit dem gewünschten Erfolg. Ich gehe davon aus, dass ich etwas falsch gemacht habe. Vielleicht hast Du eine Lösung. Danke schon mal im Vorraus
    Gruß Andreas

    1. Hallo Andreas,

      wie du schon bemerkt hast, werden die Icons nicht aus den Dateien selbst geladen (*.png) Files sondern aus einem “resourcen” Archiv,
      dass die Bilder in Bit-Form enthält geladen.
      Dies bringt zum einen einen großen Performance Vorteil und ist schöner zu verteilen.

      Wenn du die Bild-Dateien im Ordner ” /pfad/zu/webradio/res/icons” kopiert hast, und die entsprechenden Dateinamen (incl. Dateiendung),
      dann musst du nur ins Verzeichnis ” /pfad/zu/webradio/res/” wechseln, ein Terminal in diesem Ordner öffnen und den Befehl:
      pyrcc4 -o resources.py resources.qrc
      Damit wird die xml Dateil “resources.qrc” eingelesen und die einsprechenden Verweise verarbeitet (kannst dort auch einfach mal mit einem
      Editor reinschauen … ist leicht verständlich).
      Sobald du die neue resources.py erzeugt hast, kopiere sie noch in den Ordner “ui” … also aus dem Ordner res heraus:
      path/to/res:$ cp resources.py ../ui/resources.py
      cd ../ui

      Erst würde ich die “alte” sichern.
      mv resources_database_search.py resources_database_search_BACKUP.py

      dann die neue (aber nur im Ordner ui) umbenennen
      mv resources.py resources_database_search.py

      >> nicht vergessen die *.pyc Dateien zu löschen!
      rm -f *.pyc

      Die Eingelesenen Dateien (Icons) werden dann in die resources.py geschrieben, welche wiederum im “import” in Webradio.py geladen werden.
      (from res import resources) >> vom Ordner “res” importiere “resources(.py)”

  6. Hallo Matthias,
    erst erhielt ich nach Eingabe des ersten Befehls eine Fehlermeldung. Also wieder ein wenig lesen und dann pyQt4-dev-tools installiert. Siehe da, danach hat alles reibungslos funktioniert.
    Danke noch einmal für Deine Hilfe.
    Gruß Andreas

  7. Hi Matthias,

    ich muss und will mich jetzt auch mal “öffentlich” bei Dir bedanken.

    Zum Einen, da Du mir seit Anfang des Jahres soviel schöne Freizeit beschafft hast und zum Anderen, da Du mir soviel und ausführlich geholfen hast, das es einem schon fast peinlich ist.
    Ich bin durch Zufall in youtube auf Dein Projekt gestossen und habe mir sofort alle Teile zugelegt.
    Keine Ahnung von nix…. aber Dank Deiner ausführlichen Videotutorials und Deiner geduldigen Hilfe per Mail… ES LÄUFT!!!
    Es darf sogar mittlerweile in der Küche stehen und wird von der Familie voll akzeptiert und als alltagstauglich bewertet.
    Daher hab ich mittlereile ein Zweites am PC. Mit dem werde ich mich und das Projekt weiterentwickeln. Aber ganz ohne Deine Hilfe wird das nix werden.

    Vielen Dank nochmal
    René

  8. Hallo
    ein sehr geniales Projekt von dir habe mich dort auch schon ran gewagt und es Läuft auch eigentlich alles soweit! Nur das ich noch nicht rausgefunden habe wie ich jetzt am besten MP3 von meiner NAS abspielen kann, mit einem Radio Stream habe ich auch ein Problem das er nicht abgespielt wird von Radio FFN vielleicht kannst du mir da weiter helfen

    1. Hallo Dennis,
      bzgl. des NAS empfehle ich die die Installationsanleitung welche in meiner Dropbox liegt. Im Prinzip läuft es so ab, dass du den Server in einem Ordner innerhalb deines home-Verzeichnisses mountest und von dort aus einen symbolischen Link in deinen Musik-Ordner, welchen du in mpd angegeben hast legst (siehe den File-Tree in der Installationsanleitung). Allerdings solltest du das NAS nicht als “variablen Ordner” behandeln sondern in separat mit “mpc update” einlesen, da dies eine weile dauern kann (je nach Größe deiner Musiksammlung). Bzgl. des Radio-Senders der nicht läuft, könntest du mir bitte per Mail den webradio.log in deinem Home-Verzeichnis senden, solbald das Problem aufgetreten ist. … Alle anderen “Sender” laufen ?? Das wäre ja komisch.

      Gruß
      Matthias

  9. Hallo, wie schon von mehreren Usern vor mir gesagt, kann ich auch nur sagen ein super Projekt das Sie auf die Füße gestellt haben.

    Meine Frage zum Wetter Widget ich bin aus Österreich und das gibt es bei weather.com nicht in der auswahl Liste, was kann ich tun? Vielen Dank im voraus für Ihre Hilfe.

    Schöne Grüße aus Tirol Christian

    1. Hallo Christian, schön dass sich auch mal das Nachbarland beteiligt 🙂 Weather.com liefert Wetterdaten weltweit… Österreich gehört da schon auch dazu, hat allerdings wohl nicht die Größe, auch in der Länderauswahl zu scheinen… Gib einfach in die Suche oben rechts deinen Ort ein, und du wirst sehen, dass dieser trotzdem gefunden wird… Ich habs gerade mit “Graz” und “Linz” probiert. Läuft. 🙂 Schöne Grüße zurück aus dem bayerischen Wald!

  10. Ich möchte mich an dieser Stelle auch mal ganz, ganz herzlich bei Matthias bedanken! Ohne deine Hilfe hätte ich das nicht umsetzen können (manchmal benötigt man einfach den passenden Hinweis, um den Fehler zu finden ;-). Ich werde das Display des Webradios in eine Schranktür in meiner neuen Küche einbauen. Geschaltet wird das Ganze via Pilight über einen weiteren Raspi (nebst Relais). Herzliche Grüße Jesco

    1. Hallo Jesco!

      Danke für das Danke 😉

      Dass man von deinem Projekt hinterher Bilder sehen will versteht sich von selbst oder? Wenn du dran denkst würde ich mich freuen!

    1. Hi Christian,

      ich muss gesehen, ich weiß es nicht… ich habe da irgend einen Encoder genommen den ich daheim liegen hatte… Leider muss man hierzu sagen “probieren geht über studieren”. Wichtig ist, dass der Encoder nicht dauern einen GPIO hart auf Masse zieht ohne Strombegrenzer. Ansonsten gibt es keine “Anforderungen” … mir persönlich kommt dieser aber auch etwas teuer vor. Allerdings muss ich sagen, entspricht mein Preisempfinden sehr häufig nicht der Realität 🙂

  11. Hallo Matthias, Clk bzw. DT zieht je nach stellung auf masse leider.
    Teuer war der Ky-040 nicht den hatte ich bei Ebay gekauft gleich mehrere Stück der preis pro stück lag glaube ich bei ca. Euro 1,50.-

    Danke nochmals für deine schnelle Antwort und noch einen schönen Feiertag wünscht Christian.

    1. Hallo Chrstian, strombegrenzende Widerstände müssen nicht unbedingt am/im Encoder verbaut sein. Ich habe die, die ich verwendet habe (ich glaube es waren 3x 1k Widerstände auch auf einer Platine zwischengeschaltet … Gruß Matthias

  12. Hallo an alle brauche wieder mal Hilfe. Nachdem ich jetzt endlich mein Gehäuse fertig gebaut hatte und alles andere am laufen hatte, habe ich diese Soundkarte gekauft.
    https://www.rasppishop.de/USB-Soundkarte-Soundadapter und dann ging das Problem wie unten beschrieben los kann mir da jemand weiterhelefen.

    ———–
    die Datei /etc/asound.conf geändert wie unten:
    pcm.!default {
    type hw
    card 1
    }

    ctl.!default {
    type hw
    card 1
    }

    ——— bis hier funzt der Sound jedoch funzt der Lautstärkeregleer nicht mehr.

    nach Änderung in der /etc/mpd.conf wie unten versucht das Webradio zu starten beendet sich ohne Ton nach nach ca.20 sec.:

    # type “alsa”
    # name “My ALSA Device”
    # device “hw:0,0” # optional
    # mixer_type “hardware” # optional
    # mixer_device “default” # optional
    # mixer_control “PCM” # optional
    # mixer_index “0” # optional
    }

    #Eigene einbindung
    audio_output {
    type “alsa”
    name “Externe Karte”
    device “hw:1,0”
    # mixer_type “hardware”
    # mixer_device “default”
    # mixer_control “PCM”
    # mixer_index “0”
    }

    schöne Grüße aus Tirol wünscht Christian

    1. Hallo Christian aus Tirol 🙂

      bist du sicher, dass die Änderungen in “asound.conf” notwendig waren ? –> Diese Datei existiert bei meinem webradio gar nicht (raspbian wheezy)
      Bzgl. der mpd.conf, kann ich mir nur vorstellen, dass du mit einer Änderung einen Syntax-Fehler eingebaut hast, durch den nun mpd nicht mehr startet. Dazu wäre allerdings das log-File notwendig, das in deinem Home-Ordner liegen sollten und “webradio.log” heißt.
      Wenn es zu kritischen Fehlern kam, kann es auch sein, dass nur eine Terminalausgabe erzeugt wurde, welche du nicht siehst, wenn du das Programm nicht explizit aus einem Terminal startest.

      Bzgl. der notwendigen Änderungen in der mpd.conf Datei, geht es wie du schon richtig hast um die Definition der richtigen hw-karte (1).
      Bei mir war es damals so, dass nach der Änderung auf 1;0 zwar der Sound erstmal funktionierte, sich allerdings nicht mehr regeln ließ (Lautstärke).
      Um dies wieder gangbar zu machen, suche nach dem Abschnitt “Volume Control Mixer” und aktiviere “mixer_type “software””
      Nach einem Neustart sollte das Ganze nun wieder laufen und sich die Lautstärke der USB Soundkarte auch regeln lassen.

      Falls nicht, schick mir bitte die Dateien “webradio.log”, “mpd.conf” und “asound.conf” per mail an wosimahier@gmail.com… dann schau ich mir das mal an.

  13. Hallo Matthias, danke erstmal für die schnelle Hilfe, gut wäre wenn es irgendwo auf deiner Seite ein Spendenkonto geben würde damit ich ich oder auch andere ein kleines Dankeschön überweisen könnte, das wäre nur angebracht arbeit hast du mit deinen Projekten die jeder kostenlos verwenden kann ja genug.

    Die Datei /etc/asound.conf hab ich nun wieder gelöscht, die Datei /etc/mpd.conf habe ich wie unten geändert jetzt funz alles wieder bestens wie du sagst war es sicher nur ein Syntax-Fehler. Foto meines Bauwerks sende ich dir an wosimahier@gmail.com

    # An example of an ALSA output:
    #
    #audio_output {
    # type “alsa”
    # name “My ALSA Device”
    # device “hw:0,0” # optional
    # mixer_type “hardware” # optional
    # mixer_device “default” # optional
    # mixer_control “PCM” # optional
    # mixer_index “0” # optional
    #}

    #Eigene einbindung
    audio_output {
    type “alsa”
    name “My ALSA Device”
    device “hw:1,0”
    format “44100:16:2”
    mixer_device “default”
    mixer_control “PCM”
    mixer_index “0”
    mixer_type “software”
    }
    #

    Schöne Grüße aus Tirol Christian

    1. Ich schließe mich der Gedanke “spende” an, würde gerne was spendieren. Tolles Projekt, funktioniert bei mir einwandfrei (bis auf ein paar kleinigkeiten 🙂 Hab mir Odroid c1tft monitor zugelegt, der hat gerade mal 3,2 zoll daher sehe ich nicht von den bedienelementen. Kann man die Auflösung responsive machen, bzw manuell verkleinern?

      1. Hallo Juri, ich habe den Gedanken, da er mittlerweile schon öfters und auch an anderer Stelle geäußert wurde nun doch mal aufgenommen und habe ein paar “Donation” Buttons verteilt 😉

        Bzgl. deiner Frage: Nach meinen Internet-Recherchen müsste dein LCD leider nur eine Auflösung von 320×240 pixel bieten, was für die vielen Inhalte etwas wenig ist… Ich bin gerade dabei ein Layout zu erstellen welches in einem bestimmen Bereich “responsive” ist… was allerdings nichts mit dem “responsive-Verständnis” im Webdesign zu tun hat, sondern eher eine geordnete Skallierbarkeit darstellt, die durch Layouts gesteuert wird. Allerdings ist die minimal vorgesehene Auflösung 640×480, da weniger einfach keinen Spass mehr macht. Auch die Bedienung ist ohne Hilfsmittel nicht mehr möglich. Ich werde demnächst mal meinen ersten Stand auf Git-Hub veröffentlichen, damit mal eine Plattform existiert, dass man auch mal aktuelle “Snapshots” bekommen kann. Es gibt dazu übrigends einen separaten Eintrag : Webradio v2

        1. Servus Matthias , du hast ja recht, mit dem 3,2 zoll Display war ja schmarn. Hab mir jetzt 7″ display zugelegt!
          Frage noch: Die Zeile “ftp_server” muss da ip des nas-servers rein? Ich hab mir Raspi nur wegen deinem Projekt zugelegt und bin noch nicht so “fit”:)
          Man… ich hab noch so viele Fragen.. 🙂

          1. Hallo Juri,

            ich denke mal du sprichst über die Installationsanleitung oder? … ich habe mein NAS in einen Ordner gemounted welcher “ftp_server” heißt, welchen ich dann symbolisch in meinen Musik-Ordner verlinkt habe.

            Hast du dir schon die Version2 des Webradios angesehen? Vielleicht ist diese bzgl. Konfiguration etwas einfacher zu handeln. (jedoch ist das setup von MPD und das erstellen der notwendigen Dateistruktur immer zu tun 😉

            Wenn du weitere Fragen/Probleme hast, würde ich dich aber bitten dies per Mail zu tun (siehe Kontakt), damit wir hier die Komments nicht ins unendliche ziehen 😉

  14. Hallo Matthias,

    also ich bin nach wie vor begeistert!!
    Das Umstellen des Wetters hat prima geklappt. Jedoch muss man bei weather.com nach dem Namen des Ortes suchen, und nicht nach der PLZ. Das hab ich gemacht und da bekommt man einen anderen Kürzel geliefert.

    Jetzt noch ein paar Fragen und Anmerkungen die mir in der Zeit des testens aufegafllen sind.

    Im Hauptbildschirm sieht man oben Angaben zu °C und relative Luftfeuchte. Kann man das ausbelenden?
    Da braucht ja bestimmt Sensoren und Erweiterungen um das korrekt zu nutzen. Will ich und brauch ich auch nicht.
    Bei dem MP3 Player wäre es sehr wünschenswert, wenn man auch Cover von den Titel, der abgespielt wird, sehen könnte, sofern vorhanden. Evtl. wenn nicht vorhanden, aus dem Net ladbar?
    Wäre so was denkbar?
    Und wenn man den POWERKNOPF auf dem Display klickt, geht das Radio ja in einen scheinbaren STAND-BY. Könnte man hier nicht einen komplett neuen Screen machen, der eine Uhr (analog oder digital, auswählbar usw.), Wetter usw. anzeigt?

    Diese Feature würden das ganze mehr als PERFEKT abrunden!
    Wobei natürlich das ganze jetzt schon PERFEKT ist!
    Also ich bin wirklich ein wahrer Fan geworden.
    Ich ziehe mal meinen Hut für diese klasse arbeit!

    1. Hallo auch,

      und danke nochmal für das Lob.
      Die Temperaturanzeige kann mal nicht abschalten. Man könnte sie jedoch leicht entfernen, muss dazu allerdings den Code ändern. Beim Webradio2 wird diese Anzeige allerdings (wenn kein DHT11 angeschlossen ist) durch das Wetter-Applet gesteuert, also die Angaben des aktuellen Wetterberichts angezeigt.
      Beim MP3 Player sollte das, was du dir wünscht bereits funktionieren… zumindest hat es das schon mal 😉 … Die MP3s müssen allerdings die Album und Interpreteninformationen enthalten… was bei manchen natürlich nicht der Fall sein wird. Allerdings bist du momentan nicht der erste, der diese Verhalten (welches man auch im Präsentations-Video sieht) vermisst. Ich werde mir das bei Gelegenheit nochmal anschauen, vielleicht hat der Onlinedienst den ich dabei verwende etwas geändert (was nach über einem Jahr Laufzeit durchaus mal der Fall sein könnte…)

      Bzgl. dem Standby-Button habe ich auch schon etwas geändert … auch bzgl. “Abschaltautomatik” schau dir mal die Version2 an… dazu gibt es auf diesem Blog auch einen Eintrag.

      Gruß
      Matthias

  15. Hallo Matthias,

    und danke für deine schnelle Antwort.
    Das mit dem Stand-By Screen bzw. den Funktionen in der neuen Version hab ich schon gesehen 😉
    Jedoch vermisse ich wirklich die bereits erwähnte Möglichkeit:
    Bei klick auf den Stand-By Button sollte der Bildschirm dunkler werden, eine Uhr anzeigen und evtl. noch Wetter Infos. Wobei das mit den Wetter nur Luxus wäre.

    Jetzt aber noch eine kleine Frage:
    Ich habe gestern mein Display (7″ Touch Display von Pollin) via HDMI angeschlossen. Dann kann der Pi aber nicht booten!! Zieh ich das HDMI Kabel raus, läuft er normal hoch.
    Kommentier ich die OWN SETTING in boot/config.txt wieder aus, startet auch das Dispay. Jedoch nicht wie gewünscht. Muss man noch was beachten, wenn man das Touch Display korrekt betreiben möchte?
    Blick da im Moment nicht durch.
    Als Display nutze ich folgendes:
    http://www.pollin.de/shop/dt/NTMwOTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/7_17_78_cm_Display_Set_mit_Touchscreen_LS_7T_HDMI_DVI_VGA_CVBS.html

    Vielleicht kannst du mir noch helfen? Oder gibt es dazu bereits Hilfe die ich nicht gesehen habe:

    Danke schon mal.

  16. Und nochmal Hallo,

    das mit dem Display hat sich erledigt. Es läuft. War ein kleiner Fehler in meiner Eingabe.
    Bei hdmi_cvt muss ich 1024 600 60 3 0 0 0 verwenden.
    Was mich aber danach etwas ‘nervte’: Sreensaver. Den kann man unter Jessie auch relativ einfach deaktivieren. Das geht so:

    sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

    Dort editeren wir den letzten Eintrag und setzen davor ein #:

    @lxpanel –profile LXDE-pi
    @pcmanfm –desktop –profile LXDE-pi
    #@xscreensaver -no-splash

    Dann fügen wir noch folgende Zeilen hinzu:

    @xset s off
    @xset -dpms
    @xset s noblank
    @unclutter

    Nach einem Rebbot sollte nun der Bildschirm dauerhaft an bleiben.

    sudo reboot

    Wer ebenfals danach sucht, kann dies gerne verwenden.

  17. Hallo,
    das Radio ist echt super. Ich wollte eine DHT11 Sensor integrieren, aber bei mir kommt immer diese Fehlermeldung:
    Traceback (most recent call last):
    File “/home/pi/webradio/webradio.py”, line 33, in
    from lib.gpio_watchdog import Gpio_Watchdog
    File “/home/pi/webradio/lib/gpio_watchdog.py”, line 41
    tempsensor = Adafruit_DHT.DHT11
    ^
    SyntaxError: invalid syntax
    Ich hab auch schon den angepasste Watchdog probiert, kommt aber die selbe Fehlermeldung. Was mach ich falsch?
    Gruß
    schrifti

    1. Hallo Schrifti 🙂

      da es sich, wie der Fehler schon sagt. um einen Syntax-Fehler handelt, ist es ohne den Code zu sehen leider schwierig ab zu schätzen, was an dem File falsch sein könnte. Ich tippe allerdings darauf, dass du in der Codezeile darüber, bzw. bei der Definition der “pins_in_use” Variable einen Syntax-Fehler eingebaut hast, was dazu führt dass dein Fehler “am Anfang” (siehe das Zeichen ^) der nächsten Codezeile befindet… was eigentlich das ende der letzten Definition meint.

      Wenn du den Fehler nicht findest, schick mir einfach mal dein File an wosimahier@gmail.com, dann schaue ich mal drüber.

      P.S.: Ein beliebter Fehler ist auch die falsche Methode zum einrücken von Code zu verwenden… Ich verwende nie Tabulator-Sprünge sondern immer 4 Leerzeichen (wie es nach PEP8 vorgesehen ist). Vielleicht das auch nochmal kontrollieren.

      Viele Grüße,
      Matthias

  18. Hallo,

    habe heute das webradio auf meinem pi3 installiert plus das “offizielle” 7 Zoll pi Touchdisplay => läuft soweit. Tolle Sache und meine Frau hat es auch schon abgesegnet für die Küche (wenn es denn mal fertig ist). So im Pappkarton sieht es nach Öko-Radio aus 🙂

    Wäre es möglich auch ogg-Dateien abspielen zu können. Auf einem Rechner schlummern tausende bei mir, die würde ich gerne per nfs einbinden ohne sie alle in mp3 umzuwandeln.

    Kann ich Sender auch aus der Favoritenliste wieder entfernen?

    Viele Grüße

    Ralf

    1. Hallo Ralf,
      du kannst Sender aus deiner Favoritenliste entfernen indem du sie erst einmal aufrufst, und dann den (goldenen) Stern in der Ecke des Senderlogos nocheinmal antippst (genau so wie du des beim Hinzufügen gemacht hast…) -> Dieser sollte dann wieder grau werden, und der Sender aus deiner Favoritenliste verschweinden 😉

      Bzgl. der Frage, ob es möglich ist ogg-Dateien (Vorbis) ab zu spielen: Dies ist momentan nicht implementiert, da ich z.Z. nur Dateien Anzeige, welche mit *.mp3 enden. Allerdings sollte MPD dieses Format genau so verarbeiten können. Um dies zu ermöglichen, müsste man den Code entsprechend erweitern/anpassen.

      Du hast in den Blog-Eintrag zu “webradio(1)” kommentiert, was eventuell heißt, dass du die Version verwendest, welche du von meiner Dropbox geladen hast oder? Diese Version wird nicht mehr weiterentwickelt, da es mittlerweile einen Nachfolger gibt, welcher auch hier im Blog zu finden ist, allerdings noch “Under Construction” steht. Also noch nicht ganz fertig ist. Allerdings ist diese Version als Snapshot auf Github zu finden… Dort findet sich auch ein kleines Wiki, das den Installations-/Konfigurationsvorgang beschreibt. Vielleicht schaust du dir das mal an. Ansonsten, werde ich den Support für ogg-Files kommende Woche mal für dich einbauen 😀 (allerdings wie gesagt, nur in Version2… )

      1. Hallo Matthias,

        perfekt, danke.

        das mit der Version 2 hatte ich gelesen als ich fertig war. Super Projekt und super Anleitung. Das mit den Favoriten habe ich jetzt auch verstanden 🙂
        Sobald ich was Zeit habe schaue ich mir Version 2 an und berichte über die ogg-Dateien.

        Gruß Ralf

  19. Hallo Matthias,
    super Projekt …. leider habe ich ein kleines Problem. Internetradio ok, jedoch bekomme ich es nicht hin, das meine mp3-files angezeigt werden. Ich habe testweise das Programm xfmpc installiert, hier werden meine files geladen und können abgespielt werden. Ich erhalte folgenden Fehler nach dem Aufruf des Dateibrowsers in webradio:
    2016-12-12 12:50:34,318 – ERROR – webradio.py – excepthook – Uncaught exception
    Traceback (most recent call last):
    File “/home/pi/webradio/webradio.py”, line 1561, in on_tabIndexChanged
    self.switchModeTo(self.mode, to_mode)
    File “/home/pi/webradio/webradio.py”, line 1475, in switchModeTo
    self.exchange_model()
    File “/home/pi/webradio/webradio.py”, line 3177, in exchange_model
    self.model.setRootPath(MusicFolder)
    TypeError: QFileSystemModel.setRootPath(QString): argument 1 has unexpected type ‘NoneType’

    Was läuft hier falsch ??

    Gruß
    Otto

    1. Hallo Otto,
      es scheint so, also ob die die Variable “MusicFolder” nicht gesetzt hast. Da du im Blog-Eintrag zur V1 kommentiert hast, gehe ich mal davon aus, du benutzt die (nicht mehr weiterentwickelte) Version 1 aus meiner Dropbox. Dies hieße, dass du den Pfad zu deinem Musik-Ordner (welchen du in mpd.conf angegeben hast) eintragen müsstest :

      try: # try to load the GPIO Watchdog. If not executed at a raspberry pi or no Rpi.GPIO library is installed ...
      from lib.gpio_watchdog import Gpio_Watchdog
      GPIO_active = True if os.geteuid() == 0 else False # also check if script was started as root-user
      MusicFolder = "/home/pi/Musik" # enter here the selected path in /etc/mpd.conf from the RPI
      VARIABLE_DATABASE="usb_device" # enter the folder in your musicfolder which should be updated
      # remember: If you want to use a USB device, dont forget to specify its path in Line 126 !
      # (Filepath not only symbolic Link)
      if not GPIO_active:
      print("GPIOs can not be used, because root-privileges are required to do this!")
      except ImportError: # load the GPIO simulator instead. The signals are the same than from the GPIO watchdog .....
      print("GPIO Watchdog was not found or can not run at this machine")
      GPIO_active = False
      MusicFolder = "/home/matthias/Musik" # enter here the selected path in /etc/mpd.conf from the engineering machine
      VARIABLE_DATABASE="toplevel" # enter the folder in your musicfolder which should be updated

      Wenn du den Fehler den du dort allerdings bekommt aus der Version2 stammt, also der Version welche auf Github steht, wäre interessant, wie du mpd konfiguriert hast (da die V2 diese Einstellungen eigentlich selbstständig aus der mpd.conf lesen sollte… ?

      Ich habe hier extra einen Automatismus geschrieben, der in logischer Reihenfolge mögliche Settingfiles durchsucht und entsprechende Einstellungen ließt.

      Wenn du also nicht zufällig eh schon die V2 benutzt, würde ich dir diese ans Herz legen: Download , zugehöriges Wiki

  20. Hallo Matthias,
    erst mal vielen Dank für Deine schnelle Rückantwort ….sorry, hatte ich nicht erwähnt, ich benutze Deine Version vom Webradio in der Version 2
    Was mich total überrascht ist, das es mit dem Tool xfmpc alles einwandfrei funktioniert…internetradio und abspielen der mp3-files von meinem NAS, das tool liest doch auch nur die Datei mpd.conf aus ….komisch
    Ich habe Dir jetzt noch Auszüge meiner Konfig-Dateien angefügt….
    P.S. Ich möchte die Darstellung des Webradios verkleinern 320×480, da ich schon ein Display habe…..was muss ich in Deinem Code anpassen ? Wäre sehr sehr nett, wenn es machbar wäre …..
    hier der Auszug aus meinen Dateien:
    Auszug aus mpd.conf
    # START #######################################################################
    # Files and directories #######################################################
    music_directory “/home/pi/Music”
    playlist_directory “/home/pi/webradio”
    db_file “/home/pi/.mpd/database”
    log_file “/home/pi/.mpd/log”
    pid_file “/home/pi/.mpd/pid”
    state_file “/home/pi/.mpd/state”
    sticker_file “/home/pi/.mpd/sticker.sql”

    Auszug aus webradio.conf
    [GENERAL]
    # ============================================ User-specific Values ==========================$
    # “VARIABLE_DATABASE_NAME” : Give the NAME (not the path) of the symbolic link, which you may $
    # Music-Folder. In your “variable Database” a exchangeable data-storage like an USB-Stick shou$
    # Note that this subfolder or symbolic link gets updated as soon as something is mounted in th$
    VARIABLE_DATABASE_NAME=usb_device
    #VARIABLE_DATABASE_NAME=ftp_server –> hier der Name des symbolischen Links zu meinem gemounteten NAS, habe ich wieder auskommentiert

    # “VARIABLE_DATABASE_MOUNTPOINT” : Give the PATH (not the Name) of the Folder where exchangeab$
    # like an USB-Stick get mounted. Mounting is Managed from /etc/fstab.
    #VARIABLE_DATABASE_MOUNTPOINT=/home/pi/usb_device
    VARIABLE_DATABASE_MOUNTPOINT=/home/pi/ftp_server –> hierher wird mein NAS gemountet
    ……….
    dann habe ich noch folgendes angepasst:
    [DEVELOPMENT]
    # THESE SETTINGS ARE ONLY NECESSARY IF YOU WANT TO RUN THE PROGRAMM ON A DESKTOP-PC IN ADDITIO$
    MusicFolder=/home/pi/Music
    VARIABLE_DATABASE=toplevel

    meine Verzeichnisstruktur:
    pi@raspberrypi:~ $ tree -d -L 2
    .
    ├── Desktop
    ├── Documents
    │   ├── BlueJ Projects
    │   ├── Greenfoot Projects
    │   └── Scratch Projects
    ├── Downloads
    ├── ftp_server
    │   ├── abba
    .
    .
    .
    │   ├── weezer
    │   ├── We Have Band – Movements (2014)
    │   └── Young The Giant – Mind Over Matter (2014)
    ├── LCD-show
    │   ├── \015
    │   ├── boot
    │   ├── etc
    │   └── usr
    ├── Music
    │   ├── ftp_server -> /home/pi/ftp_server
    │   ├── Joy Division
    │   └── toplevel
    ├── Pictures
    ├── Public
    ├── python_games
    ├── Templates
    ├── Videos
    └── webradio
    ├── Albumart
    ├── lib
    ├── locale
    ├── Logos
    ├── res
    └── ui

    114 directories
    pi@raspberrypi:~ $

  21. Hallo Matthias, ich habe gerade auf die Version 2 upgedated, läuft auch soweit. Allerdings lässt sich der Sender “SWR3” nicht mehr nutzen. Ich wähle den Sender aus und kurz darauf erscheint ein anderer. Die Buffer Geschichte aus dem Github Wiki habe ich schon probiert, leider ohne Erfolg. Grüße Jesco

    1. Hallo Jesco! Dass ein Sender nicht abgespielt wird, bzw. nach sehr kurzer Zet auf den “nächsten” in der Favoritenliste geschaltet wird, liegt im Normalfall nicht an webradio.py … da sollte die Version1 zur Version2 keinen Unterschied machen. Hast du vielleicht die Gelegenheit genutzt und das System neu aufgesetzt bzw. aktualisiert? Vielleicht ist dabei mpd auch aktualisiert worden. Es gibt immer wieder Probleme mit unterschiedlichen MPD-Versionen und manchen Internet-Radio-Stationen. Ich hatte mal einen Fall, den ich erst auch nicht glauben konnte, allerdings lag es tatsächlich und reproduzierbar an der verwendeten MPD-Version. Ein manuelles “Downgrade” der Version (von mpd) brachte damals den Erfolg. Dies ist auch in den FAQ im wiki auf github protokolliert und beschrieben. Möchtest du das mal ausprobieren? … ich nehme an, dass du die Log-Dateien von MPD bzw. webradio.py bereits gechecked hast oder?
      Gruß,
      Matthias

  22. Hallo Matthias,
    ich versuche gerade Deine Webradiversion V2 auf einem Raspberry3 mit Raspbian-stretch zu installieren. Bei der x11vnc- und auch bei der mpd-Installation scheiter ich ab dem Befehl: pi@raspberrypi:~ $ sudo ~/.config/autostart/start_mpd.desktop. Die Antwort des Raspberry ist: touch: ‘/home/pi/.config/autostart/start_mpd.desktop’ kann nicht berührt werden: Datei oder Verzeichnis nicht gefunden. Das Verzeichnis gibt es wirklich nicht. Muß ich es vorher erstellen oder ist der bei mir an anderer Stelle schon etwas entscheidendes schief gegangen?
    Schön wäre es, wenn ein fertiges Image heruntergeladen werden könnte, weil ich im Gegensatz zu meinen Vorrednern doch erhebliche Probleme bei der Installation habe. Vielleicht nicht zuletzt, weil nur die stretch Version noch zur Verfügung steht.
    Mir ist schon klar, dass ein fertiges Image nicht die “Allheilfunktion” darstellt. Doch darauf kann man aufbauen. Schon mal vielen Dank für Deine bisherige tolle Arbeit.
    Grüße
    Bernd

    sudo: /home/pi/.config/autostart/start_mpd.desktop: Befehl nicht gefunden

    1. Hallo Bernd, genau wie du schon vermutet hast, kann es sein, dass das Verzeichnis “autostart” noch nicht existiert. Dieses kannst einfach anlegen. (mkdir ~/.config/autostart) … anschließend sollte auch o.g. Befehl funktionieren. Allerdings brauchst du kein “sudo” dazu 😉

      Viel Erfolg weiterhin! Matthias

  23. Hi,
    danke für die schnelle Antwort und schade das es da keine Möglichkeit gibt.
    Hätte da aber noch ein Frage: Ich habe an meinem PI3 eine externe Soundcard angeschlossen. Es funzt soweit alles wunderbar bis auf das ich im MediaPlayerDaemon nicht die Lautstärke verändern kann.
    Hättest du da einen Tip für mich?

    Gruß Kay

  24. Hallo Matthias,

    ich habe folgende Fehlermeldung beim Start:

    pi@raspberrypi:~/webradio $ python ~/webradio/webradio.py –disable-gpio
    2018-05-21 23:50:03,621 – ERROR – webradio.py – excepthook – Uncaught exception
    Traceback (most recent call last):
    File “/home/pi/webradio/webradio.py”, line 183, in
    from ui.flex import Ui_MainWindow
    File “/home/pi/webradio/ui/flex.py”, line 1064, in
    from database_searcher import LM_QTreeWidget
    File “/home/pi/webradio/ui/database_searcher.py”, line 19, in
    from lib.googleapiclient.discovery import build
    File “/home/pi/webradio/lib/googleapiclient/discovery.py”, line 53, in
    import uritemplate
    ImportError: No module named uritemplate

    Das ist ein frisch installiertes:

    2018-04-18-raspbian-stretch

    Eine Idee wo ich ansetzen soll?
    MPD sollte laufen (so deute ich das mal):
    pi@raspberrypi:~/webradio $ sudo /etc/init.d/mpd status
    * mpd.service – Music Player Daemon
    Loaded: loaded (/lib/systemd/system/mpd.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2018-05-21 23:09:37 CEST; 44min ago
    Docs: man:mpd(1)
    man:mpd.conf(5)
    file:///usr/share/doc/mpd/user-manual.html
    Main PID: 387 (mpd)
    CGroup: /system.slice/mpd.service
    `-387 /usr/bin/mpd –no-daemon

    Mai 21 23:09:37 raspberrypi systemd[1]: Started Music Player Daemon.

    Das mit dem autostart in der Anleitung für den mpd geht nicht mehr (Verzeichnisse heißen anders), ist aber auch nicht notwendig – wird bereits automatisch gestartet nach der Installation.

    Gruß Ralf

    1. Hallo Ralf, deine Fehlermeldung (ImportError: No module named uritemplate) lässt vermuten, dass das modul “uritemplate nicht wie hier beschrieben installiert wurde. Du kannst das verifizieren in dem du die Installationsschritte einfach wiederholst und sichergehst, dass keine Fehlermeldungen auftauchen.

      Mfg Matthias

  25. Hallo Matthias,

    vielen Dank, wer lesen kann …

    Webradio läuft.

    Für Debian Jessie und autostart musste ich folgende Zeile einfügen:

    nano ~/.config/lxsession/LXDE-pi/autostart

    @python /home/pi/webradio/webradio.py –disable-gpio

    Gruß Ralf

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.