=====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