Vorwort #
Neben den Pixeldisplays besteht bei Klipper die Möglichkeit grafische Displays mit Touchscreen anzuschließen. Die Vorteile bei Touch liegen klar auf der Hand. Du kannst es einfacher und vor allem unkompliziert bedienen, hast einen Überblick über den aktuellen Zustand und Druck, sogar das Druckobjekt ist darauf sichtbar (Vorschaubild). Die Alternative ist teurer als andere Lösungen, jedoch sind diese auch unkomplizierter zu verbauen.
Ich gehe hier bewusst nur auf die Displays mit DSI Anschluss ein. Diese werden zumeist Out-Of-The-Box unterstützt und bieten wenige Fehlerquellen bei der “Verkabelung”.
Das Raspberry PI verfügt in der Regel über 2 Anschlüsse für Folienkabel. Eines ist der CSI (Camera Serial Interface) welcher den Kameras vorbehalten ist, ein weiterer, breiterer Anschluss, ist der DSI (Display Serial Interface) Anschluss. Dieser liefert die Versorgung, das Bild und alles für das Touch. Bei der Versorgung kann es jedoch vorkommen, dass du hier noch etwas extra verkabeln musst, da der Anschluss nicht genügend “Power” hat.
Video zum Thema #
Was wird benötigt #
Benötigt wird ein grafisches Display mit DSI Anschluss, da haben sich folgende beim mir bewährt und als absolut problemlos erwiesen.
OSOYOO 3.5 Inch DSI Touchscreen LCD Display – https://amzn.to/3aSk3eH
OSOYOO 5 Inch DSI Touchscreen LCD Display – https://amzn.to/3FUA9Tg
Raspberry Pi 7-Inch Touch Screen Display – https://amzn.to/3pcjhBE
Optional gibt es schöne lange DSI Folienkabel, da du ja bis zum PI kommen musst.
OSOYOO Flexible Flat Ribbon Cable 15Pin – https://amzn.to/3vpC7q2
Um einige Einstellungen am PI vornehmen zu können, benötigen wir eine SSH Zugangssoftware. Hier gibt es verschiedene in den Weiten des Internets. Ich verwendet die Zugangssoftware „Putty“ welche viele gute Funktionen hat.
https://www.putty.org/
Zielsetzung #
Unser Ziel ist eine einfache Möglichkeit den Drucker auch ohne eine Mobiltelefon oder PC bedienen zu können/Statusdaten einsehen zu können. Der KlipperScreen ist hierfür die beste Option. Alles an Steuerungen welche auf der Weboberfläche möglich sind, bietet uns hier auch zum größten Umfang KlipperScreen. Es ist also gerade für Personen von Interesse, welche nicht auf eine Steuerung verzichten wollen, einen Touchscreen statt eines einfachen Grafischen mit Drehrad haben wollen. Es ist eine “relativ” einfache Angelegenheit, lässt sich schnell umsetzen und mit etwas Geschick auch gut in den Drucker integrieren. Gehäuse lassen sich meist finden oder die Displays bei GrabCad als “Grundlage” zum Gehäuse drum rum designen.
Anschließen #
Bis auf das 7 Zoll Display, benötigt ihr nur das weiße Flachbandkabel wie im nachfolgenden Bild. Dieses Schließt ihr mit den Kontakten nach innen gerichtet zum PI an. Der Folienstecker muss dazu leicht geöffnet werden (das schwarze Plastikteil leicht anheben bis es locker ist, nicht abreißen!). Das Folienkabel gerade reinstecken und das Schwarze Teil wieder “andrücken” an den PI. Verbindung hergestellt!
Das 7 Zoll Bild benötigt noch etwas mehr “Power” und es müssen die 2 Kabel wie im Bild zusätzlich auf den IO Header, 5V und GND, gesteckt werden.

PI vorbereiten #
Wenn du MainsailOS als Basis für deine Klipper Installation genutzt hast, dann müssen wir leider einiges auf der Oberfläche machen. Auf dem Display siehst du einige Textausgaben, die beim Boot des PI erschienen sind. Wir wollen hier aber nicht die Shell für Eingaben am Ende sehen, sondern eine bedienbare Oberfläche.
Das “Terminalfenster” welches du auf deinem Display siehst, kann sich aktuell nicht selbst anmelden. Es verlangt nach einem Benutzernamen und Passwort. Dieses müssen wir ändern, Lokal auf dem PI muss dieses ohne diese Daten einloggen können. Dies will keiner von uns immer tun müssen, eine Tastatur anstecken und das eingeben.
Verbinde dich mit dem Raspberry PI. Hier kannst du entweder den Hostnamen eingeben oder die IP. Wichtig dabei ist der Port 22 und der Verbindungstyp SSH.

Nun musst du die Zugangsdaten eingeben. Tippe „pi“ ein und bestätige mit der Entertaste.

Nun wirst du nach dem Passwort gefragt. Tippe dieses ein. ACHTUNG! Unter Linux basierten Systemen wird nichts angezeigt, keine Sternchen oder andere Platzhalter. Tippe das Passwort einfach ein und drücke am ende wieder die Entertaste!

Wenn die Daten richtig eingegeben wurden sollte alles wie folgt bei dir aussehen.

Das Raspian Betriebssystem bringt ein Tool mit, mit welchem du die Einstellungen für bestimmte Dinge am PI einfach setzen kannst. Führe dazu folgenden Befehl aus:
sudo raspi-config

Da wir das “sudo” am Anfang stehen haben, implizieren wir hier administrative Rechte. Es kann also sein das wir hier nochmal das Passwort eingeben müssen wie beim Login.

In der Oberfläche kannst du nun mit den Pfeiltasten “navigieren”. Mit den Pfeiltasten musst du immer “Enter” drücken um zu bestätigen. Mit den Zahlen bestätigt er sofort das Menü. Wähle den ersten Eintrag um die Systemoptionen zu gelangen.

Da wir etwas mit dem Bootvorgang und dem Login abändern wollen, müssen wir hier die Option 5 auswählen.

Und nun die “Console”.

Mit den Pfeiltasten rechts<->links kann man das untere Menü erreichen. Wähle hier “Finish”, wir sind soweit fertig.

Er fragt uns auch gleich nach einem Neustart, Ja, das machen wir und warten bis der PI neu gestartet ist.

Moonraker und Updatemanager konfigurieren #
Auf der Weboberfläche musst du auch einiges Einstellen, bevor wir KlipperScreen installieren können. Gehe dazu unter “MACHINE”

Klicke auf die “mooraker.conf”, hier muss etwas angepasst werden.

Stelle sicher das der Eintrag “127.0.0.0/8” unter “trusted_clients” vorhanden ist, oder füge diesen am Ende hinzu. Bei mir war dieser bisher immer vorhanden.

Damit wir später auch KlipperScreen Updates komfortabel über die Mainsail Oberfläche machen können, benötigen wir am Ende noch den Eintrag für den Updatemanger. Für dafür folgendes am Ende ein:
[update_manager KlipperScreen]
type: git_repo
path: ~/KlipperScreen
origin: https://github.com/jordanruthe/KlipperScreen.git
env: ~/.KlipperScreen-env/bin/python
requirements: scripts/KlipperScreen-requirements.txt
install_script: scripts/KlipperScreen-install.sh

KlipperScreen installation #
Konfiguriert haben wir nun alles, jetzt musst du nur noch KlipperScreen installieren. Logge dich mit Putty wieder über SSH auf dem PI ein und gehe in das Home Verzeichnis mit folgendem Befehl.
cd ~/

Nun laden wir zuerst mal das GitHub Repository herunter. Nutze dafür folgenden Befehl.
git clone https://github.com/jordanruthe/KlipperScreen.git

Nun in das Verzeichnis wechseln.
cd ~/KlipperScreen

Und jetzt mit dem letzten Befehl die Installation starten.
./scripts/KlipperScreen-install.sh

Bei mir erscheinen hin und wieder rote Fehlermeldungen. Dies liegt vor allem an der veralteten Python Version. Es ist aus meiner Sicht absolut unschön, sollte nicht sein, jedoch funktioniert KlipperScreen auch so.
Um KlipperScreen einfach anpassen zu können, kopiere noch die Einstellungsdatei in dein Konfigurationsverzeichnis.
Wir können dann spezielle Einstellungen kompfortabel auf der Mainsail Weboberfläche vornehmen.
cp ./ks_includes/defaults.conf ~/klipper_config/KlipperScreen.conf

Wir sind soweit fertig, nun starten wir den PI neu und sollten nach dem Startvorgang auch unsere Oberfläche auf dem PI sehen.
sudo reboot

Abschluss #
Nach dem Neustart sollte euer Display dann ungefähr so aussehen. Damit lässt sich doch was anfangen.

Im “MACHINE” Menü auf der Oberfläche von Mainsail “KlipperScreen” im Update Manager erscheinen. Sollten Updates kommen, können wir hier einfach drauf klicken und fertig.

Die KlipperScreen.conf haben wir auch hier, über diese lassen sich dann weitere Einstellungen bei bedarf vornehmen.

Deinstallieren? Kein Problem! #
Solltest du doch mal das ganze deinstallieren müssen, entferne aus der “moonraker.conf” den “Update Manager” Eintrag für den KlipperScreen und logge dich danach mit Putty über SSH auf dem PI ein. Gebe dann folgende Befehle ein und alles hier gemachte wird damit entfernt.
sudo systemctl stop KlipperScreen.service
sudo systemctl disable KlipperScreen.service
sudo rm /etc/systemd/system/KlipperScreen.service
sudo rm /etc/systemd/system/KlipperScreen.service # 2tes mal um Symlinks zu entfernen
sudo rm /usr/lib/systemd/system/KlipperScreen.service
sudo rm /usr/lib/systemd/system/KlipperScreen.service # 2tes mal um Symlinks zu entfernen
sudo systemctl daemon-reload
sudo systemctl reset-failed
sudo rm -R ~/KlipperScreen
Weiterführende FAQs zu KlipperScreen #
Display drehen/Ansichtsbereich anpassen: Raspberry PI Display Drehen/Anpassen
https://klipperscreen.readthedocs.io/en/latest/Installation/