Gleich vorweg: Ich hatte mir das Alles einfacher vorgestellt. Es gab hier und da so richtig Probleme, sei es mit dem Treiber für das Display, oder mit dem Einrichten von alsa mit mpd. Aber am Ende hat dann doch nach drei Tagen man-Pages lesen und Dr. Google das Gerät widerspenstig seinen Dienst aufgenommen.
Die Anmerkungen in diesen Boxen sind unbedingt zu beachten!
Raspberry 3A+ oder 3B+ (Habe es mit beiden probiert) |
TRU COMPONENTS Touchscreen-Monitor 8.9 cm (3.5 Zoll) 320 x 480 Pixel https://www.conrad.de/de/p/tru-components-touchscreen-monitor-8-9-cm-3-5-zoll-320-x-480-pixel-2144982.html Nach dem Auspacken war es dann ein MAKEVMP400 |
OS: Raspbian (Release: 2020-05-27) KEINE UPDATES MACHEN Mit dem 5.x Kernen geht das Display aktuell nicht |
USB-Stick mit MP3s (Let's Rock!) |
Noobs V3.4 mit Raspbian
Da ich von Grunde auf FAUL bin, habe ich mir NOOBS mit Raspbian runtergeladen und auf die SD-Card geschoben und die Installation damit ausgeführt.
Die Installation durch Noobs wird hier nicht beschrieben.
Versionsinformationen:
root@raspberrypi:~# cat /etc/issue Raspbian GNU/Linux 10
root@raspberrypi:~# uname -a Linux raspberrypi 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l GNU/Linux root@raspberrypi:~#
Bei der Installation bitte Default auf Englisch ⇒ en_gb UTF8 stehen lassen. Der Grund:
Die interne Soundkarte wird nicht erkannt!
Das kann man hier auch nachlesen: https://www.raspberrypi.org/forums/viewtopic.php?t=275400
Nach der Installtion auf keinen Fall ein Update machen! Grund:
Das Display wird mit dem neuen Kernl 5.x nicht mehr funktionieren.
Aktiviert SSH ⇒ raspi-config
⇒ auf dem kleinen Display kann man nachträglich nicht wirklich arbeiten
Audio aktivieren ⇒ in der /boot/config.txt
⇒ dtparam=audio=on
anmachen.
Damit man mit dem Touch-Display besser arbeiten kann, sollte man auch den Single-Click aktivieren.
En: ⇒ Accessories
⇒ File Manager
⇒ Edit
⇒ Preference
⇒ Open Files with One Click
De: ⇒ Zubehör
⇒ Dateinamanger
⇒ Edit
⇒ Preference
⇒ Open Files with One Click
vim
installieren, damit man auf der Shell ordentlich mit vi
arbeiten kann (Ich nehme kein nano
)
root@raspberrypi:~# apt-get install vim ... ...
Die Konfiguration von vim
anpassen - kommentiert diese beien Zeilen ein.
root@raspberrypi:~# vi /etc/vim/vimrc ... syntax on set background=dark ...
Und weil mir der Maus-Support tierisch auf den Sack geht, hier noch schnell den Mist abschalten!
root@raspberrypi:~# vi ~/.vimrc set mouse=
Und was fehlt nun noch, mein lieblings-Alias l
⇒ aka ls -ali --color
root@raspberrypi:~# vi /root/.bashrc ... export LS_OPTIONS='--color=auto' ... alias l='ls $LS_OPTIONS -ali'
Und noch schnell aktivieren. Ja, da ist ein Leerzeichen nach dem Punkt.
root@raspberrypi:~# . /root/.bashrc
Und ein absolutes muss, wenn man mal schnell die Logs neben Start/Stop-Dienst angucken will ⇒ screen
root@raspberrypi:~# apt-get install screen
Die drei Zeilen in die Konfiguration einfügen… in die vorhandene Sektion.
root@raspberrypi:~# vi /etc/X11/xorg.conf.d/99-calibration.conf Option "EmulateThirdButton" "1" Option "EmulateThirdButtonTimeout" "750" Option "EmulateThirdButtonMoveThreshold" "30"
Damit man dann auch auf dem Display schreiben kann, habe ich mich für matchbox-keyboard
entschieden.
root@raspberrypi:~# apt-get install matchbox-keyboard
Und weil bei der Tastatur die F1 - F12
-Tasten fehlen, diese noch schnell in der Konfiguration einfügen.
Sucht in der Konfigurationsdatei das erste Tag <row>
und fügt dort die folgenden Zeilen davor ein.
root@raspberrypi:~# vi /usr/share/matchbox-keyboard/keyboard.xml ... //Ab hier die Zeilen kopieren und.. <row> <key width="13"> <default display="F1" action="f1" /> </key> <key width="13"> <default display="F2" action="f2" /> </key> <key width="13"> <default display="F3" action="f3" /> </key> <key width="13"> <default display="F4" action="f4" /> </key> <key width="13"> <default display="F5" action="f5" /> </key> <key width="13"> <default display="F6" action="f6" /> </key> <key width="13"> <default display="F7" action="f7" /> </key> <key width="13"> <default display="F8" action="f8" /> </key> <key width="13"> <default display="F9" action="f9" /> </key> <key width="13"> <default display="F10" action="f10" /> </key> <key width="13"> <default display="F11" action="f11" /> </key> <key width="13"> <default display="F12" action="f12" /> </key> </row>
Und nun noch die Tastatur autom. bei jedem Start mit starten.
Legt dazu die Datei ~/.config/autostart/matchbox-keyboard.desktop
an und fügt den unten aufgeführten Inhalt ein.
Achtung: Dies muss als Benutzer pi ausgeführt werden.
pi@raspberrypi:~ $ mkdir ~/.config/autostart pi@raspberrypi:~ $ vi ~/.config/autostart/matchbox-keyboard.desktop [Desktop Entry] Name=Matchbox-keyboard Exec=matchbox-keyboard Type=application
Hier ein Tastaturlayout mit allen Tasten. Diese könnt Ihr natürlich auch herunter laden und die /usr/share/matchbox-keyboard/keyboard.xml
damit ersetzen. https://github.com/xlab/matchbox-keyboard/blob/matchbox-keyboard-xlab/layouts/keyboard-full.xml
Der Treiber, den es auf der Conrad-Seite gibt, gleich mal sein lassen. Nach der Installation dieses Treibers endet das Booten in einer Kernel-Panic.
Benutzt den aktuellen Treiber von der Github-Seite: https://github.com/goodtft/LCD-show
root@raspberrypi:~# git clone https://github.com/goodtft/LCD-show.git ... root@raspberrypi:~# chmod -R 755 LCD-show root@raspberrypi:~# cd LCD-show/ root@raspberrypi:~/LCD-show# ./LCD35-show
Der RasPi wird nun neu gestartet und Ihr solltet nun den Desktop auf dem 3.5 Zoll Display sehen.
Wenn Ihr die Ausgabe wieder über HDMI haben wollt, gibt es zwei Wege. Ich bevorzuge aber den, das Backup wieder herzustellen, welches bei der Installation angelegt wurde.
root@raspberrypi:~# cd LCD-show/ root@raspberrypi:~/LCD-show# ./system_restore.sh
Der RasPi wird wieder neu gestartet und die Ausgabe erfolgt nun wieder über HDMI.
Wenn nun wieder auf dem 3.5 Zoll Display ausgegeben werden soll, einfach die Installation mit:
root@raspberrypi:~# cd LCD-show/ root@raspberrypi:~/LCD-show# ./LCD35-show
ausführen.
Als erstes die folgenden Programme installiert werden.
root@raspberrypi:~# apt-get install jq ffmpeg sxiv mpd mpc alsa-utils ... ...
Nun noch schnell Kunst installieren, um Informationen für Alben/Interpreten herunterzuladen, darzustellen. ( https://github.com/sdushantha/kunst )
root@raspberrypi:~# git clone https://github.com/sdushantha/kunst root@raspberrypi:~/kunst# cd kunst root@raspberrypi:~/kunst# make install
Und nun noch die Player-GUI installieren.
root@raspberrypi:~# git clone https://github.com/granpino/RaspiPlayer.git root@raspberrypi:~# cd RaspiPlayer root@raspberrypi:~/RaspiPlayer# chmod +x *.sh root@raspberrypi:~/RaspiPlayer# ./install.sh
Die RaspiPlayer-Installation überschreibt die /etc/mpd.conf
. Diese muss dann wieder angepasst werden, damit mpd
den USB-Stick findet oder auch die Soundeinstellungen wieder stimmen (wie bei mir).
Bei der Installation des Players wird ein Icon zum Starten auf dem Desktop angelegt. Über dieses Icon kann die GUI gestartet werden.
Damit der Player seinen Dienst tut, muss mpd noch konfiguriert werden.
Ich musste bei mir die Einstellungen von mpd
anpassen, da die Defaultwerte nicht stimmen.
0:0
Erst mal den USB-Stick suchen: Und gefunden unter ⇒ /media/pi/Volume
root@raspberrypi:~# mount ... /dev/sda1 on /media/pi/Volume type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2) ...
Damit mpd auch drauf zugreifen kann und nicht immer die Fehlermeldung access denied kommt, muss man gleich noch die Rechte anpassen. Da ich eh nix anders mit dem Ding vorhabe ⇒ gleich Quick and dirty! Und auch die Rechte für den Zugriff auf die Playlist setzen..
root@raspberrypi:~# chown -R mpd /media root@raspberrypi:~# chmod -R 777 /var/lib/mpd/playlists
Hier der Hinweis, warum ich screen
einsetze: Nutzt screen
um gleichzeitig den Dienst mpd
zu starten und die Log-Datei anzusehen. Hilfe zu screen
findet ihr in der Wiki. Was man bemötigt ist: Strg-a S
und Strg-a <TAB>
.
Da kommt die 1
her, die als Hardwareadresse in der mpd.conf
angegeben wird!
root@raspberrypi:~# cat /proc/asound/cards 0 [b1 ]: bcm2835_hdmi - bcm2835 HDMI 1 bcm2835 HDMI 1 1 [Headphones ]: bcm2835_headphonbcm2835 Headphones - bcm2835 Headphones bcm2835 Headphones
Befehle, die Helfen können, um die richtigen Einstellungen zu finden:
Und nun noch mpd konfigurieren, ich habe die Zeilen kommentiert, die ich angepasst habe.
root@raspberrypi:~# vi /etc/mpd.conf # created by RaspiPlayer # An example configuration file for MPD. # Files and directories ####################################################### # #music_directory "/mnt/usbdrive" music_directory "/media/pi/Volume" #USB-Stick :D playlist_directory "/var/lib/mpd/playlists" db_file "/var/lib/mpd/database" 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" # General music daemon options ################################################ user "mpd" bind_to_address "localhost" # Input ####################################################################### input { plugin "curl" } # Audio Output ################################################################ audio_output { type "alsa" name "My ALSA Device" device "hw:1,0" #Soundkarte normal steht hier 0:0 mixer_type "software" #damit über mpc auch laut/leise getsellt werden kann } # # audio_output { type "alsa" name "bluetooth-speaker " device "bluealsa:HCI=hci0,DEV=xx:xx:xx:xx:xx:xx,PROFILE=a2dp" #Evtl. hier noch die Addr. für Bluetooth anpassen... wenn nötig mixer_type "software" } # filesystem_charset "UTF-8" id3v1_encoding "UTF-8"
Jetzt muss der Dienst mpd
neu gestartet werden
root@raspberrypi:~# invoke-rc.d mpd restart
Nun könnt Ihr schon mal auf der Shell mit mpc
ein wenig testen.
Mal alles einlesen zBsp. vom USB-Stick
root@raspberrypi:~# mpc update
..
....
.....
Anzeigen lassen, was alles so drauf ist.
root@raspberrypi:~# mpc listall AC_DC/AC-DC - Highway To Hell(live).mp3 ... Hier sollten dann so einige MP3s die auf dem USB-Stick sind ... auftauchen ... Van Helen/1982 Diver Down/02 Hang 'Em High.mp3
Und nun mal was abspielen ⇒ Let's ROCK!
root@raspberrypi:~# mpc play AC/DC - Highway to Hell (live) [playing] #3/3722 0:00/5:40 (0%) volume: 65% repeat: off random: off single: off consume: off
Und nun noch testen, ob man auch die Lautstärke ändern kann. Das Kommando wird auch von dem RaspiPlayer verwendet. 65% bei AC-DC ist eindeutig zu wenig, wenn man schon mal auf einem Konzert von denen war. Rock'n Roll
root@raspberrypi:~# mpc volume 100 AC/DC - Highway to Hell (live) [playing] #3/3722 2:40/5:40 (47%) volume:100% repeat: off random: off single: off consume: off
So, nun könnt ihr den RaspiPlayer starten - und Spaß damit haben.
Ich habe es zum Leid meiner Frau - gleich mal im Auto probiert.
Eigene Playlisten für Alben anlegen, bzw löschen. Diese werden unter /var/lib/mpd/playlists
gespeichert und können dann über den RaspiPlayer aufgerufen werden (das grüne Ordnersymbol klicken).
# mpc playlist => wenn hier was angezeigt wird... # mpc clear => mal schnell aufräumen # mpc playlist => zeigt nun nichts mehr an # mpc ls | mpc add => lädt alles in die leere Playlist # mpc save all => speichert die Playlist all.m3u oder # mpc ls | grep ACDC | mpd add => lädt ACDC in die leere Playlist # mpc save ACDC => speichert die Playlist ACDC.m3u oder # mpc ls | grep Lyny | mpd add => lädt Lynyrd Skynyrdn die leere Playlist # mpc save Lynyrd_Skynyrd => speichert die Playlist Lynyrd_Skynyrd.m3u Löschen # mpc rm all => löscht die Playlist all.m3u
Und hier der Bug mit dem 5.x kernel
Damit das Teil dann an 12V im Auto geht, habe ich derzeit folgende Bauelemente im Sinn:
Das sollte normal reichen
Aber wenn man schon baut… 3A sind besser als 2A ;)
Das Programm RaspiPlayer anpassen, dass man Musikstücke suchen und diese dann abspielen kann.
Die Änderung am RaspiPlayer zum Suchen nach Musikstücken wurde umgesetzt. Den Code könnt Ihr unter
https://github.com/raiserle/RaspiPlayer herunterladen und wie mit der alten RaspiPlayer-Version verwenden.
Der Button für die Playlistumschaltung wurde umfunktioniert. Über diesen Button wird nun die Tastatur für die Suche eingeblendet.
Über die Tastatur könnt Ihr nun nach einem Musikstück suchen. Der *
hat dabei eine Platzhalterfunktion.
Die Suche ist wie folgt aufgebaut:
*
wird als Suche auf den Dateinamen angewendet&
angewendet
Die Suchfunktion bzw. die Tastatur sind ggf. noch einmal anzupassen.
Ich habe zBsp. AC/DC - Thunderstruck auf dem USB-Stick. Die Suche danach gestaltet sich ein wenig schwierig, da der Tastatur der /
fehlt.
Die Suche sieht dann so aus: AC*AC*DC*Thunder
⇒
AC
im Dateinamen werden gesuchtAC
und DC
und Thunder
vorkommen.Das Ergebnis ist:
Mit dem RETURN
-Button bestätigt Ihr die Suche. Die Tastatur kann nur über den RETURN
-Button geschlossen werden. Soll nichts gesucht werden, einfach nichts eintippen und blos den RETURN
klicken.
Das Suchergebnis kann dann wie folgt aussehen.
Wählt über UP
oder DOWN
den Song aus und bestätigt dies mit OK
. Der Song wird nun in die aktuelle Playliste eingefügt und abgespielt.
Die Playlisten bleiben dabei unverändert, sie werden nicht gespeichert.