So, rev. 00 von Newtron-Radio v3.2 ist soweit fertig. Und wieder einmal hat sich jede Menge gegenüber der Vorversion geändert. Der größte Teil davon intern - ich bin endlich die 'global'-Deklarationen in den Funktionen und Klassen los. Zwar bin ich mit der Umstellung noch lange nicht soweit wie ich eigentlich wollte, aber in letzter Zeit hab ich einfach mal wieder zu wenig Zeit...
Die nach außen sichtbaren Änderungen hier nun im einzelnen.
- Die von kle vorgeschlagenen Änderungen bezüglich der Playlistenauswahl wurden implementiert.
- Der Autostart im Konsolenmodus kann jetzt via systemd-Unit realisiert werden (mehr dazu weiter unten)
- Ort und Name der Radio-Konfigurationsdatei wurde geändert. Diese befindet sich jetzt im Homeverzeichnis des jeweiligen Benutzers und heißt jetzt .newtron-radio.conf. Hier kann nun auch der Openweathermap API-Key und der Ort für die Wetteranzeige eingetragen werden (diese Änderung war nötig, damit der Autostart via systemd - als user pi - funktioniert).
- Die Backlightsteuerung wurde vorerst entfernt, da RPi.gpio root-Rechte benötigte, was dem Autostart via systemd im Weg stand. Ein Umstieg auf gpiozero ist aber in Planung.
- Die Skin-Konfig-Dateien akzeptieren keine symbolischen Farbnamen mehr sondern nur noch RGB-Tupel. Änderungen der Fontgröße können nur noch im Skript selbst vorgenommen werden.
- Es gibt ein paar neue Button-Symbole. Damit sollen die Symbole eindeutiger und verständlicher werden.
- Beim Clock-Screensaver wird nun auch der Name der Radiostation angezeigt.
- ...
Wie immer muß mindestens Raspbian Lite installiert sein. Netzwerk und Touchdisplay müssen vollständig funktionieren (vor allem der Touch). Bei Raspbian Lite letzteres auch auf der Konsole.
Wer Probleme hat sein Touchdisplay für die Konsole einzurichten kann sich Beitrag #1778 (für Waveshare SPI LCD Touchdisplays) oder Beitrag #1824 (USB-Touchdisplays mit der USB-ID 0eef:0005 (D-Wav) u.A. für das Waveshare 5inch HDMI LCD (B) Display mal ansehen.
Installer: newtron-radio-setup-v3.2.sh (rev. 01 vom 25.10.19)
Installiert NewTron-Radio und alle nötigen weiteren Pakete
Installation mit sh newtron-radio-setup-v3.2.sh
Danach kann das Radio mit der Eingabe von newtron-radio direkt an der Touchscreen-Konsole (bzw. via ssh mit X11-Forwarding) oder mit sudo newtron-radio an der Kommandozeile (via putty/ssh ohne X11-Forwarding) gestartet werden.
Autostart ist nun via systemd möglich.
Hierzu wird eine entsprechende Unit vom Installationsskript nach /etc/systemd/system/ kopiert.
Um zu überprüfen, ob der Autostart über systemd funktionieren würde gibt man als user pi an der (putty/ssh-)Kommandozeile einfach sudo systemctl start newtron-radio ein. Wenn alles Korrekt eingerichtet wurde sollte das Radio nun auf dem Touchdisplay zu sehen und zu bedienen sein. Sollte das nicht der Fall sein, kann man sich mit journalctl -u newtron-radio die Fehlermeldungen anzeigen lassen.
Sollte alles wie erwartet funktionieren, kann man den Autostart mittels sudo systemctl enable newtron-radio aktivieren.
Entsprechend kann man den Autostart mit sudo systemctl disable newtron-radio wieder deaktivieren oder das Radio mit sudo systemctl stop newtron-radio beenden. Ist der Autostart aktiv läuft die 'newtron-radio'-Instanz immer als User 'pi' und benutzt dessen Konfiguration.
Display Spoiler
Sollte der Autostart nicht funktionieren, kann das vor allem an fehlenden oder falschen Umgebungsvariablen (SDL_FBDEV, SDL_MOUSEDEV usw.) liegen, da systemd die Umgebung vom User 'pi' nicht berücksichtigt. Diese Variablen können daher direkt im Radio-Skript (newtron_radio.py) angepasst werden oder als eigene config-Unit z.B. in /etc/systemd/system.conf.d/10-SDL-TSLIB-env.conf eingetragen werden:
[Manager]
DefaultEnvironment="SDL_VIDEODRIVER=fbcon" "SDL_FBDEV=/dev/fb1" "SDL_MOUSEDRV=TSLIB" "SDL_MOUSEDEV=/dev/input/touchscreen" "TSLIB_TSDEVICE=/dev/input/touchscreen" "TSLIB_FBDEVICE=/dev/fb1"
Hat man die Datei neu erstellt, muss sie von systemd noch eingelesen werden. Dies erfolgt mit sudo systemctl daemon-reload
Das passende usbmount-Skript (Automatisches einhängen von USB-Datenträgern in den Zugriffsbereich von mpd) gibts in Beitrag #1760.
Falls etwas nicht funktioniert, bitte ich darum, das Problem hier zu posten. Aber bitte nur mit möglichst genauen Fehlermeldungen und einer Beschreibung dessen was zum Fehler geführt hat.
Gruß,
veloci
PS: Wie immer wurden einige Fehler beseitigt und wahrscheinlich einige neu eingefügt...
Achtung!
Bitte beachtet auch folgende ergänzende Hinweise, die kle hier NewTron-Radio Korrekturen freundlicherweise schrieb!
(Editiert von hyle)