=====Peppy Media Player mit dem Touchscreen 5inch DSI LCD 18396 von Waveshare verwenden - Anmerkungen===
**Aufgaben**
Installation von der Peppy Media Players auf einem Raspberry PI 4 mit einem 5inch DSI LCD Display von Waveshare ( https://www.waveshare.com/5inch-DSI-LCD.htm).
Beim ersten Versuch haben ich die Anleitung von https://github.com/project-owner/Peppy.doc/wiki/Expert durchführt, allerdings mit keinen optimalen Ergebnis, da im aktuellen OS bluealsa fehlt, gibt es noch Probleme mit dem BlueTooth Sink Funktionalität!
Besser wohl doch mit einem fertigen Image starten!
Ablauf:
* Anleitung wie auf auf https://github.com/project-owner/Peppy.doc/wiki/Express durchgeführt
* Touch Device per Rule einbinden.
----
=== Anmerkungen zur Installation ===
Die Installation über die Anleitung auf https://github.com/project-owner/Peppy.doc/wiki/Express funktioniert fast zu 100%, nur ein paar kleine Anpassungen sind nötig.
Für das Display wird das Image "Headless" von https://github.com/project-owner/PeppyPlayers.doc/wiki/Disk-Images verwendet.
----
==== Touch Screen einbinden ====
Nach der Installation hat alles wie in der Doku beschrieben funktioniert, bis auf die Touch Funktion!
Es fehlt unter "/dev/input" das "/dev/input/touchscreen" Device, bzw. der Link auf das entsprechende Event Device.
=== Was ist verfügbar ===
Anzeigen mit "lsinput":
apt install input-utils
lsinput
Anzeige über "/proc"
cat /proc/bus/input/devices
cat /proc/bus/input/devices | grep mouse
Wir suchen nach diesem Device:
..
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="generic ft5x06 (79)"
P: Phys=
S: Sysfs=/devices/platform/soc/fe205000.i2c/i2c-22/i2c-10/10-0038/input/input5
U: Uniq=
H: Handlers=mouse0 event5
..
Wichtig ist der Name **"generic ft5x06 (79)"**!
Damit legen wir uns eine Regel an:
cd /etc/udev/rules.d/
vi 95-touchpad.rules
# Create a symlink to waveshare touchscreen input device
SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}=="generic ft5x06 (79)", SYMLINK+="input/touchscreen"
Der Trick ist den richtigen Namen für jedes Touch Device zu finden!
Nach einem Reboot funktioniert das Touch Display wie erwartet.
----
==== IQ Audio DAC Pro einbinden ====
Als DAC wird der IQaudio DAC Pro (siehe https://www.berrybase.de/iqaudio-dac-pro ) eingesetzt.
Damit der aber mit einen Kühlkörper auf der CPU eingesetzt werden kann muss ein längere GPIO Stacking Header verwendet werden ( siehe https://www.berrybase.de/en/40-pin-gpio-stacking-header-fuer-raspberry-pi-farbig-kodiert-13-3mm ).
=== Im System bekannt geben ===
Datei "/boot/config.txt" als root anpassen:
/boot/config.txt
# Enable audio (loads snd_bcm2835)
#dtparam=audio=on
#dac
dtoverlay=iqaudio-dacplus
reboot
Nach dem Boot wird die Karte über "alsamixer" erkannt und angezeigt, aber noch kein Ton.
Anzeigen auch mit:
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: IQaudIODAC [IQaudIODAC], device 0: IQaudIO DAC HiFi pcm512x-hifi-0 [IQaudIO DAC HiFi pcm512x-hifi-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
vi ./Peppy/configuration/config.txt
Orginal:
[volume.control]
..
amixer.control = Headphone
..
zu
[volume.control]
..
amixer.control = Digital
..
Neustart von Peppy, unter Audio Gerät wurde der DAC auch bereits erkannt.
----
==== Peppy Meter aktiveren ====
#orginal speichern
cp .asoundrc .asoundrc-gpi-orig
vi .asoundrc
pcm.!default {
type plug
slave.pcm "softvol_and_peppyalsa"
}
ctl.!default {
type hw
card 0
}
pcm.peppyalsa {
type meter
slave.pcm "hw:0,0"
scopes.0 peppyalsa
}
pcm.softvol_and_peppyalsa {
type softvol
slave.pcm "peppyalsa"
control {
name "PCM"
card 0
}
}
pcm_scope.peppyalsa {
type peppyalsa
decay_ms 400
meter "/home/pi/myfifo"
meter_max 100
meter_show 0
spectrum "/home/pi/myfifosa"
spectrum_max 100
spectrum_size 30
}
pcm_scope_type.peppyalsa {
lib /usr/local/lib/libpeppyalsa.so
}
pcm.dsp0 peppyalsa
# testen ob die Konfiguration gefunden wird mit:
aplay -D peppyalsa test.wav
#Datei nicht gefunden kann dann ignoriert werden
#Peppy über WebGui neu starten
Doku => https://github.com/project-owner/peppyalsa.doc/wiki/Configuration
Allerdings bewegt sich bei meinen aktuellen Setup aktuell im PeppyMeter nur bei hoher Lautstärke wirklich etwas.
Evlt. läßt sich das aber noch über die Settings in der ./Peppy/screensaver/peppymeter/config.txt unter "[data.source]" noch optimieren, bisher aber noch nicht die idealen Settings gefunden.
Siehe auch => https://github.com/project-owner/PeppyMeter.doc/wiki/Configuration
----
==== Bedienelemente hinzufügen ====
=== Drehgeber===
Material:
* Inkrementalgeber, 24 Rastungen, 24 Impulse, Taster, stehend, 6 x 20mm Achse, Printmontage https://www.berrybase.de/media/pdf/6a/cf/e7/produkt_downloads-PEC11RJfGTwQ5GPSWaq.pdf
Anschluss:
* https://github.com/project-owner/Peppy.doc/wiki/Rotary-Encoders
Der Anschluss kann auch komplett ohne Filter Schaltung durchgeführt werden und funktioniert.
{{ :raspberry:encoder_raspberry_peppy_player.jpg | Drehgeber Peppy Player }}
Besser wäre es aber wohl die Filterschaltung aus der Spec mit zu implementieren.
GPIO Status prüfen über:
cat /sys/class/gpio/gpio26/value
----
==== Bluetooth Sink ====
Als eine Quelle soll auch Bluetooth dienen, damit bei Parties jemand über das Smartphone seine Musik an die "Anlage" streamen kann.
==Bluetooth Settings ==
Dazu internes Raspberry Bluetooth deaktivieren und externen Blue Tooth Stick verwenden.
Externen Bluetooth Stick anstecken und Internes Bluetooth deaktivieren:
sudo -s
cd /boot/
vi config.txt
# Disable Bluetooth
dtoverlay=disable-bt
reboot
Bluetooth Eigenschaften anzeigen:
bluetoothctl
[bluetooth]# show
Controller 00:1A:7D:DA:71:14 (public)
Name: scheune01
Alias: scheune01
Class: 0x00000000
Powered: yes
..
siehe => https://gist.github.com/mill1000/74c7473ee3b4a5b13f6325e9994ff84c
===Peppy Konfigurieren===
Anpassen der ./Peppy/configuration/config.txt
..
bluetooth-sink = True
..
----
==== Sprachsteuerung aktiveren ====
Für die Sprachsteuerung wird das Mikrofon Array "Sony P3 Playstation Eye" Camera B409241 eingesetzt.
Anstecken und prüfen ob das Device erkannt wird.
Siehe dazu auch https://iotbytes.wordpress.com/connect-configure-and-test-usb-microphone-and-speaker-with-raspberry-pi/
Prüfen ob das Device auch erkannt wird:
arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
#test
arecord -D plughw:1 -d 5 test.wav
# Abspielen
aplay test.wav
=== Sprachsteuerung aktiveren==
siehe https://github.com/project-owner/Peppy.doc/wiki/Voice-Assistant
Für die Befehle
https://github.com/project-owner/Peppy.doc/wiki/Voice-Commands
----
==== Reboot hängt ====
Noch am Fehler suchen
----
==== Quellen ====
Touch Problem:
* https://forums.raspberrypi.com/viewtopic.php?t=96054
* https://raspberrypi.stackexchange.com/questions/71040/how-to-know-which-file-in-dev-input-event-represent-for-touch-input-device
* https://forums.raspberrypi.com/viewtopic.php?t=139983&start=50
* https://forums.raspberrypi.com/viewtopic.php?t=96054
Installationsanleitungen allgemein:
* https://smarttechnotes.com/2020/08/21/raspberry-pi-touchscreen-internet-radio/
GPIO
* https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
* [[raspberry:raspberry_gpio_first_steps|Raspberry Pi Model B - GPIO Port einsetzen - erste Schritte]]
* https://www.heise.de/ratgeber/Raspberry-GPIO-Pins-beim-Booten-initialisieren-4782030.html