NewTron-Radio: Auflösungsunabhängiges Tron-Radio

  • pi@raspberrypi:~ $ cut -d, -f4 /boot/issue.txt


    Raspberry Pi reference 2020-02-13
    stage2


    pi@raspberrypi:~ $ egrep -v "^$|^#" /boot/config.txt


    dtparam=audio=on
    [pi4]
    max_framebuffers=2
    [all]
    hdmi_force_hotplug=1
    dtparam=i2c_arm=on
    dtparam=spi=on
    enable_uart=0
    dtoverlay=tft35a:rotate=90


    pi@raspberrypi:~ $ egrep -v "^$|^#" /etc/mpd.conf


    music_directory "/var/lib/mpd/music"
    playlist_directory "/var/lib/mpd/playlists"
    db_file "/var/lib/mpd/tag_cache"
    log_file "/var/log/mpd/mpd.log"
    pid_file "/run/mpd/pid"
    state_file "/var/lib/mpd/state"
    sticker_file "/var/lib/mpd/sticker.sql"
    user "mpd"
    bind_to_address "localhost"
    input {
    plugin "curl"
    }
    input {
    enabled "no"
    plugin "qobuz"
    }
    input {
    enabled "no"
    plugin "tidal"
    }
    decoder {
    plugin "hybrid_dsd"
    enabled "no"
    }
    audio_output {
    type "alsa"
    name "My ALSA Device"
    mixer_type "software" # optional
    mixer_device "hw:0,1" # optional
    }
    filesystem_charset "UTF-8"
    pi@raspberrypi:~ $ cat ~/.asoundrc
    pcm.!default {
    type asym
    playback.pcm {
    type plug
    slave.pcm "output"
    }
    capture.pcm {
    type plug
    slave.pcm "input"
    }
    }

    pcm.output {
    type hw
    card 1
    }

    ctl.!default {
    type hw
    card 1
    }


    pi@raspberrypi:~ $ cat /etc/asound.conf
    cat: /etc/asound.conf: Datei oder Verzeichnis nicht gefunden


    sorry ich habe es mit dem codeblock nicht wirklich hinbekommen....hoffe geht auch so?

    Danke erstmal für die Hilfe...


    Gruß


    Holger

  • ich fass es nicht, :conf:

    das ist der "schwarze Balken" , das 3.letzte Symbol, (</>), nennt sich "Code" (wenn man mit der Maus drüber ist). Das ist der Codeblock.

    Wenn Du drauf klickst, kommt der Codeblock in das Editor-Fenster, so:

    Code
    ich kapiers nicht, warum Du den Codeblock nicht herbringst und dort nichts einfügen kannst.

    Hast Du einen Adblocker laufen? Mit uBlock Origin habe ich solche Schwierigkeiten nicht.


    Warum Du mit alsa was hörst und mit mpd nichts, willst Du wissen?

    das default alsa pcm device ist in ~/.asoundrc "type hw" und "card 1", also Karte 1

    im mpd hast Du mixer_device "hw:0,1" angegeben, also Karte 0.


    Du brauchst keine mixer_device Einstellung.


    Kommentiere in Datei /etc/mpd.conf die Zeile mixer_device ... aus
    indem Du ein #-Zeichen an dem Zeilenbeginn setzt.


    danach startest Du den mpd neu mit sudo systemctl restart mpd" und schon gehts.

    Schönen Gruß, kle

  • Hallo,

    sorry das ich nicht so bewandert bin in solchen sachen aber hier scheint man davon auszugehen das nur kenner am werk sind...immer gleich so aggro!?


    Also habe es geändert jedoch kein sound und weiterhin der absturz beim senderwechsel...

    muss ich evtl. auf die python 3.x version switchen? weil die 2.7 aktiv ist? Wenn ja wie kann ich das am einfachsten machen?


    Gruß

    Holger

  • Hallo,auf den Link zum Display warte ich immer noch.

    Den mpd kannst Du auch ohne NewTron-Radio bedienen.

    Ob der mpd funktioniert prüfst Du so:

    gib mal folgende Kommandos in ein Terminalfenster ein:

    1. aplay -l
      zeigt die alsa-Soundkarten
    2. mpd --version | head -1
      Info: zeigt die mpd-Version.
    3. mpc ls
      Info: zeigt die vorhandenen Playlists.
      Playlist-Namen sind Datei-Namen im Verzeichnis /var/lib/mpd/playlists ohne ".m3u" am Ende.
    4. mpc clear
      Info: löscht die aktuelle Playlist aus dem Speicher, nicht die Datei.
    5. mpc load "playlist"
      Info: lade die Playlist "/var/lib/mpd/playlists/playlist.m3u" (Du mußt eine bei Dir vorhandene Playlist laden.)
    6. mpc play
      Info: spielt den ersten Titel der playlist ab.

    und poste die Kommandos und deren Ausgaben in einen Codeblock


    Aus Beitrag #1981 sehe ich, daß Du ein älteres System benutzt (13.02.2020). Es besteht die Möglichkeit, daß dieses System nicht mehr korrekt funktioniert.

    Schönen Gruß, kle

  • Hallo, ich nutze das Newtron - Radio schon lange auf einem PI2 mit einer Lan-Anbindung und einem kleinen Touchdisplay als LAN-Radio fürs Bad.
    Das Radio läuft 24/7 und die Boxen schalte ich per Haussteuerung über ein Relais.

    Das funktioniert ganz gut, aber wenn ich die Boxen einschalte und zuvor nicht erneut übers Display einen Sender gewählt habe, höre ich nur abgehackte Stottertöne. Dann muss ich den Sender neu auswählen und nach ein paar Sekunden läuft es wieder.
    Habe ich hier ein refresh-Problem?
    Wenn ja, sehe ich hier 2 Möglichkeiten:
    1. Ich löse das Problem am Pi direkt: Müsste irgendwie dafür sorgen, dass zyklisch refresht wird

    2. Ich schalte zeitgleich mit den Boxen ein weiteres Relais, dass mir irgendwie über die GPIO´s einen refresh durchführt.


    Hat jemand ähnliche Probleme oder einen Ansatz zur Lösung?

  • Hallo an alle zusammen


    Ist es möglich, eine Datei (file.m3u) zu erstellen, die das Radio mit meinem openmediavault verbindet und mp3 streamt? Ich habe eine große Musiksammlung auf meinem NAS, daher wäre es gut, diese zu hören.



    Dankeschön

    Greg.

  • Hallo zusammen,


    ich habe ein ähnliches Problem wie guldokat,

    das Newtron-Radio startet soweit ganz normal, Lautstärke lässt sich ändern und die Menüs funktionen ebenfalls,

    jedoch stürzt es ab sobald ich den Sender wechsel / versuche ein MP3 abzuspielen.

    Die von ihm gewüschten Dinge sehen bei mir wie folgt aus:

    Code
    pi@raspberrypi:~ $ cut -d, -f4 /boot/issue.txt
    Raspberry Pi reference 2021-03-04
     stage5
    Code
    pi@raspberrypi:~ $ cat ~/.asoundrc
    cat: /home/pi/.asoundrc: No such file or directory
    Code
    pi@raspberrypi:~ $ cat /etc/asound.conf
    cat: /etc/asound.conf: No such file or directory

    Die Funktionalität vob MPD habe ich an Hand der Liste in Beitrag #1984 ebenfalls gestet,

    jedoch stoße ich bei mpc clear auf einen mpd error: Timeout

    Sofern ich den service mittels sudo /etc/init.d/mpd restart neustarte, lässt sich auch die playlist clearen, eine neue laden, jedoch spielt das Radio dann lediglich für eine Sekunde, ehe es ausgeht.


    Das verwendete Display wurde mittels der genannten Anleitung und " ./LCD35-show lite " installiert.

    Es handelt sich dabei um Dieses (Affiliate-Link) Display.


    Ich hoffe dass mir jemand dabei weiterhelfen kann und bedanke mich im Vorfeld.



    Funkenberg

  • Funkenberg

    1. Guldokrat verwendet Raspberry Pi OS Lite (ohne grafische Oberfläche)
    2. Du hast ein Raspberry Pi OS with desktop and recommended software vom 4. März 2021, also mit grafischer Oberfläche.
      Der Touch-Treiber Deines Displays braucht die grafische Oberfläche.
    3. Seit dem 2.12.2020 wird das Raspberry Pi OS with desktop mit Pulseaudio ausgeliefert.
    4. Du verwendest noch alsa in der /etc/mpd.conf.
    5. Schau nach in dem Spoiler, wie man eine Verbindung zw. mpd und pulseaudio herstellt (einfach auf den Spoiler klicken).
    6. Den Beitrag #1956 hast Du beachtet?
      (sonst würde NewTron-Radio abstürzen, das ist mein Stand vom Feb/März 2021)
    7. Deine Playlists haben Linux-Zeilenende (<LF> = 0x0A),
      NICHT Windows-Zeilenende (<CR><LF> = 0x0D,0x0A) ?
      Das siehst Du mit file playlist.m3u

    Schönen Gruß, kle


    Edit:

    sudo /etc/init.d/mpd restart

    das ist veraltet, Du solltest sudo systemctl restart mpd verwenden.


    Edit2:

    Das verwendete Display wurde mittels der genannten Anleitung und " ./LCD35-show lite " installiert.

    So viel ich weiß, hat der Treiber für das Elegoo-3.5-Inch-Touch-Display keinen Parameter Lite.

    Es geht da um goodtft: https://github.com/goodtft/LCD-show.git, nicht um waveshare Treiber.

    Edited 2 times, last by kle ().

  • kle Vielen Dank für die schnelle und ausführliche Hilfe. Ich habe mich dafür entschieden es nochmal mit einer frischen Rasbian installation zu probieren und habe danach:

    Das Touchdisplay installiert

    Das Newtron Installations Script laufen lassen

    die korrekte mpd Version installiert

    Die Pulseaudioeinstellungen entsprechend deines Beitrags übernommen.


    Entsprechend Beitrag #1.359 hatte ich

    Code
    if not os.getenv('SDL_MOUSEDEV'):
       os.environ["SDL_MOUSEDEV"] = "/dev/input/touchscreen"

    geändert zu

    Code
    if not os.getenv('SDL_MOUSEDEV'):
       os.environ["SDL_MOUSEDEV"] = "/dev/input/event0"

    weil ich sonst beim Start eine Fehlermeldung bekommen hatte.


    Sofern ich das Radio nun mittels SSH starte, ist es egal wo auf dem Touchdisplay ich klicke, es wird immer die nächste Seite (entsprechend Button unten rechts) angezeigt. Ohne die oben genannte Änderung lässt es sich nur mittels Rasbian GUI starten, funktioniert dann jedoch einwandfrei.

    Gibt es dazu vielleich noch eine Lösung?


    Vielen Dank im Vorfeld und schöne Pfingsten


    Funkenberg

  • Funkenberg

    1. newtron-radio in der grafischen Oberfläche aus ssh starten
      DISPLAY=:0 newtron-radio &
      newtron-radio erkennt an der Environment-Variable DISPLAY den richtigen Videotreiber für die grafische Oberfläche. Das Zeichen & läßt die aktuelle Zeile im Hindergrund ausführen und gibt das Terminal frei.
    2. Die Änderung aus Beitrag #1359 ist überflüssig, wenn Du newtron-radio mit DISPLAY startest.
    3. Info: In Raspberry Pi OS ist der RealVNC-Server installiert, siehe STFs verdienstvoller Beitrag.

    Schönen Gruß, kle

  • Hallo, mal ne dumme Frage: ist es möglich, einen 7" HDMI TFT anzuschliessen und die Tron Oberfläche darüber laufen zu lassen?

    Wenn ja, würde dann die Ausgabe als Webseite dargestellt werden?

  • ein HDMI-TFT ist moeglich, gewöhnlich ist der Touch über USB realisiert.NewTron-Radio zeichnet die Oberfläche mit pygame Grafik, also keine Webseite. Wenn ich mich recht erinnere, brauchst Du Raspberry Pi OS with desktop für HDMI TFT. Poste bitte einen Link auf Deinen Touchscreen.

    Schönen Gruß, kle

  • Hallo,

    Frage: stimmt der 1. Link?


    das 5" ist ein 7" noname mit Auflösung 1024x600 und capacitive Touch, das wie ein Waveshare LCD(H) aussieht

    das 7" ist ein Elecrow mit Auflösung 1024x600 und ??? Touch.


    Für beide Displays brauchst Du Raspberry Pi OS with desktop also mit grafischer Oberfläche.


    Beachte bitte:

    1. Beitrag #1956 und
    2. Beitrag "mpd mit pulseaudio und bluetooth (Raspi OS with Desktop)"

    der zweite Beitrag zeigt, wie man den mpd in pulseaudio integriert. Seit Ende letzten Jahres ist pulseaudio als sound server in Raspberry Pi OS with desktop installiert. Lass Dich vom "bluetooth" im Titel nicht irritieren.

    Schönen Gruß, kle

  • Link habe ich korregiert.


    Wenn es soweit ist (zeitlich) werde ich mir das alles nochmal durchlesen.

    Habe eine der allerersten Versionen des Tron-Radios auf nem PI1 laufen, das war schon super.

    Wenn es mit großem Display nun auch läuft und der Hihi-Berry ist es fast nonplusultra!

    Kein Einziges Internetradio welches man käuflich erwerben kann hat mir so gefallen wie das Tron Radio.

    Was ich evt. dann mit einbauen werde, sind 10 Stationstasten die man frei belegen kann.

    Und als weiteres Feature sollte noch MP3 abspielen über LAN sowie Streamripper um die Songs im LAN zu speichern.

    Blutooth geht jetz auch? Wow.

    Fehlt nur noch, daß man damit dann auch analoge Aufnahmen a la Tapedeck machen könnte :)


    Achso, gibt es eigentlich fertig installierte SD-Karten Images zum runterladen?

  • Hallo,

    sorry, lesen musst Du selbst.

    In Beitrag #1 (bitte ganz lesen!) wird auf Beitrag #1833 verlinkt. Dort ist das aktuelle Installer Skript verlinkt

    1. Das Display muss mit der grafischen Oberfläche Raspberry Pi OS with desktop funktionieren.
    2. Dann das newtron installer Skript starten. Am besten stdout und stderr umleiten in eine Datei. Das Skript endet mit einem Fehler. Start von NewTron-Radio bringt einen Traceback, weil send_idle fehlt (Workarround mit #1956)
    3. dann die beiden Korrekturen aus #1995 erledigen mit Beitrag "mpd mit pulseaudio und bluetooth (Raspi OS with Desktop)" mpd mit pulseaudio verknüpfen.

    Schönen Gruß, kle


    Edit: das 5" DSI Touchdisplay von Waveshare betreibst Du auch mit Raspberry Pi OS with desktop mit grafischer Oberfläche.


    Edit2: die grafische Oberfläche braucht Resourcen. Welchen Raspi willst Du verwenden?


    Edit3: Eigentlich ist NewTron-Radio sehr sparsam mit Resourcen, wenn man das richtige Touchdisplay verwendet und das passende Betriebssystem. Raspberry Pi OS Lite hat keine grafische Oberfläche und läuft auf ältesten Raspis (RPi 1..) aber Deine Touchdisplays brauchen die grafische Oberfläche.

    Edited 6 times, last by kle ().

  • Hi Kle,


    hab nun das 5" Display zum laufen bekommen (auch mit der richtigen Auflösung von 800x480) sowie den Touchscreen eingerichtet und kalibriert.

    Virtuelle Tastatur geht auch.

    Installiert ist

    Code
    2021-05-07-raspios-buster-armhf.img

    mit Desktop.


    Du hast erwähnt, das

    Das Skript endet mit einem Fehler

    Dies ist NICHT passiert! Keine Fehlermeldung.


    Allerdings gibt es einen Fehler wenn ich newtron-radio per cli eingegeben habe:



    Das kleine Fenster von newtron-radio geht kurz auf und verschwindet wieder.


    Weisst Du woran das liegt?


    EDIT: Dies ist ein PI2

    Edited once, last by mega-hz ().

  • Beitrag "mpd mit pulseaudio und bluetooth (Raspi OS with Desktop)"

    hatte dies vergessen... gerade ausgeführt... aber trotzdem:

  • Du hast erwähnt, das

    "kle: Das Skript endet mit Fehler"

    Dies ist NICHT passiert! Keine Fehlermeldung.

    da habe ich mich geirrt, statt dessen kommt ein Traceback beim Start von NewTron-Radio, wie Du bemerkt hast:

    Code
    Traceback (most recent call last):
    File "/usr/local/lib/newtron-v3/newtron_radio.py", line 2129, in <module>
    SCR = Screen()
    File "/usr/local/lib/newtron-v3/newtron_radio.py", line 1409, in __init__ 
    MPCTL.send_idle() # check for MPD-events 
    AttributeError: 'MPDClient' object has no attribute 'send_idle'

    Ursache send_idle gibt es nicht mehr. Workaround:

    1. Beitrag #1956

    Schönen Gruß, kle

    Edited once, last by kle ().