Vorwort:
Der Peppy Player ist ein Multimedia-Gerät zum Radio hören, Hörbuch hören, Podcast hören, CD abspielen, ... mit kleinem Touch Display. Aber nicht alle Touch Displays laufen auf der Console/CLI-Oberfläche.
Die Peppy Player Software läuft ohne grafische Oberfläche als einzig sichbare Anwendung auf einem Raspi.
Deshalb beendet der Ausschalter-Button nicht nur das Programm Peppy Player, sondern "fährt" auf das Betriebssystem sauber herunter.
Diese Anleitung zeigt, wie man Peppy Player in die grafische Oberfläche (Desktop) integriert.
Offen
Die grafische Oberfläche überschreibt die Datei ~/.asoundrc wenn ein Audio Ausgabegerät gewählt wird. Damit werden Peppy Player Konfigurationen für Equalizer und Peppyalsa-Bildschirmschoner überschrieben.
Der Peppy Player hat Menüs für Bluetooth und für Wlan, beides bietet auch die grafische Oberfläche.
Einleitung:
Diese Anleitung ist nicht für Anfänger gedacht. Man sollte sie komplett durchlesen und verstehen.
Ich gehe davon aus, daß das 7" Raspberry Pi Touch Display korrekt mit dem Raspi zusammengebaut wurde.
Handwerkszeug zum "headless" installieren:
- Windows-Notebook
- Notepad++ (ein Editor der Windows- und UNIX-Zeilenende kann)
- Putty
- Raspberry Pi Imager
- RealVNC-Viewer
- µSD-Karten-"Leser"
- Internetanschluß
Das brauche ich für den Peppy Player:
- Model: RPi 2B, RPi 3B, RPi 3B+ oder RPi 4B
- Display: 7" Raspberry Pi Touch Display (ein DSI Touch Display)
- SD-Karte mit mindestens 8 GB
- [optional] Bluetooth-USB-Stick (für RPi 2B mit Bluetooth-Lautsprecher)
- Sound: 3.5mm Klinkenbuchse oder Bluetooth-Lautsprecher.
- Internet: LAN (wärend der Installation besser) oder WLAN
- Raspberry Pi OS (Legacy) with desktop -- mit grafischer Oberfläche
- Peppy Player (Expert Installation)
Tutorial:
1. Mit dem Raspberry Pi Imager das Raspberry Pi OS (Legacy) auf die SD-Karte schreiben.
ssh-Zugang und ggf Wlan aktiv.
SD-Karte vom Notebook in Raspi.
2. Im Raspberry Pi OS (Legacy) den Soundserver PulseAudio gegen Alsa austauschen (Anleitung)
3. Mit Putty ssh-Verbindung zum Raspi starten
4. Peppy Player - Expert-Installation
Expert Installation für Seurat Edition
Achtung: beginnen mit "pi User Configuration"
Info: im folgenden Block sind Anweisungen mit [Entfallen] markiert. Diese optionalen Blöcke aus Export Konfiguration habe ich nicht installiert.
[Entfallen] shairport-sync installation and configuration (optional)
[Entfallen] raspotify installation and configuration (optional)
[Entfallen] Configure HiFiBerry Amp2
[Entfallen] Equalizer Configuration
[Entfallen] Peppyalsa Plugin Configuration
Info: ich benutze keinen Equalizer und auch nicht die Screensaver: VU-Meter oder Spektrum.
sudo raspi-config -> Interfacing Options -> VNC
nur noch vnc aktivieren
pi User Configuration
In order to run Peppy Player under pi user instead of sudo add pi user to the tty group:
sudo usermod -a -G tty pi
Also change access rights to tty device by changing udev rules:
sudo nano /lib/udev/rules.d/50-udev-default.rules
change line: SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
to: SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"
Without these changes Pygame will crash with exception Unable to open console when started under pi user.
Info: im folgenden Code-Block sind Anweisungen mit [nicht notwendig] markiert. Diese Pakete/Module waren in dem Raspberry Pi OS (Legacy) vom 22.09.2022 installiert.
# Paketlisten synchronisieren
sudo apt-get update
# Pygame Configuration
# [nicht notwendig] sudo apt-get install python3-pygame
# Install libts0
# Info: libts0 ist für den libsdl1.2 Patch notwendig
sudo apt-get -y install libts0
# Install patched libsdl1.2
#
# Pygame leverages library libsdl1.2 which has some issues with touchscreens.
# Therefore the patched version of libsdl1.2 should be loaded and installed
# (many thanks to Gerhard for making the patch):
#
wget https://www.dropbox.com/s/0tkdym8ojhcmbu2/libsdl1.2debian_1.2.15+veloci1-1_armhf.deb
sudo dpkg -i libsdl1.2debian_1.2.15+veloci1-1_armhf.deb
sudo apt-get -f install
rm libsdl1.2debian_1.2.15+veloci1-1_armhf.deb
# pip3 installieren
# [nicht notwendig] sudo apt-get install python3-pip
# VLC Konfiguration
# [nicht notwendig] sudo apt-get install vlc
pip3 install python-vlc
# GIT installation
# [nicht notwendig] sudo apt-get install git
# Peppy Player Installation
[nicht notwendig] sudo apt-get install eject
[nicht notwendig] sudo apt-get install bluealsa
sudo apt-get install sqlite3
sudo apt-get install udisks2
[nicht notwendig] sudo apt install python3-smbus
pip3 install tornado
[nicht notwendig] pip3 install RPi.GPIO
pip3 install discogs_client
pip3 install pynanosvg
pip3 install feedparser
pip3 install mutagen
[nicht notwendig] pip3 install pexpect
[nicht notwendig] pip3 install Pillow
[nicht notwendig] pip3 install rpi-backlight
pip3 install pyudev
pip3 install pyowm
pip3 install youtube-dl==2020.12.2
pip3 install pafy
pip3 install numpy -U # das dauert, auch auf Raspi4B
[nicht notwendig] pip3 install psutil
pip3 install yfinance
pip3 install pyaztro
# Install Peppy Player by running the following command from folder /home/pi:
git clone https://github.com/project-owner/Peppy.git
sudo reboot
Display More
Info:
Die Alsa-Konfigurations-Datei ~/.asoundrc enthält das ausgewählte Audiogerät als "alsa default device". Durch die Auswahl wird diese Datei jedesmal überschrieben (also Finger weg!).
Audiogerät auswählen: Klicke mit der rechten Maustaste auf das Lautsprecher-Symbol in der Taskleiste und wähle dann das Audiogerät aus.
5. Weil der Peppy Player eigenlich ein Computer ist, der vor dem Ausschalten heruntergefahren werden muß, wird durch Betätigen von Button oder durch
der Raspi heruntergefahren.
Das ist für die grafische Oberfläche (Desktop/GUI) nicht sinnvoll.
Peppy Player beenden anstatt ausschalten
6. Peppy Player ins Desktop Menü integriere
so geht's
Die Datei peppy-menu.tgz
1. auf Windows-Rechner herunterladen (also auf Link klicken ...),
2. auf den Raspi verschieben und *1
3. dort entpacken*2 mit Kommando tar -xzf peppy-menu.tgz
entsteht das Verzeichnis peppy-menu
4. mit Kommando cd peppy-menu; /bin/sh peppy-menu.sh
werden Icons und Menu-Eintrag angelegt.
5. sicherheitshalber Reboot mit sudo shutdown -r now
*1 z.B. mit WinSCP, z.B. ins Home-Verzeichnis von Benutzer pi
*2 z.B. mit putty im Home-Verzeichnis von Benutzer pi
7. Test am 7" Touch Display oder mit VNC Viewer
mit Klick startet man den Peppy Player
mit rechts-Klick auf "Peppy Player" kann man ein Desktop-Icon anlegen.
8. Auf der grafischen Oberfläche sieht man den Peppy Player in der Task-Leiste und über dem Window als pygame window
Window Title korrigieren
vor der Änderung:
pygame.font.init()
if self.config[LINUX_PLATFORM]:
pygame.mouse.set_visible(False)
else:
pygame.display.set_caption("Peppy")
nach der Änderung:
pygame.font.init()
pygame.display.set_caption("Peppy")
if self.config[LINUX_PLATFORM]:
pygame.mouse.set_visible(False)
#else:
# pygame.display.set_caption("Peppy")
Änderung speichern und Editor verlassen.
Beim nächsten Starten von Peppy Player sieht es so aus:
9. Getestet mit RPi 4B, 7" Raspberry Pi Display und Bluetooth-Lautsprecher
Verbesserungsvorschläge sind erwünscht