Touchscreen für Octoprint (Raspberry Pi)

In unseren Tutorials zum Raspberry Pi und Octoprint haben wir euch gezeigt wie ihr euren Drucker komfortabel ins Netzwerk bekommt und überwachen könnt. Nun setzen wir dem Ganzen die Krone auf, mit einem Touchscreen!

 

 

 

 

 

 

 

 

 

 

 

In den Tutorials hier: Raspberry + Octoprint + Webcam und hier Raspberry Pi Zero W und OctoPrint 0.14 haben wir euch bereits gezeigt wie ihr ganz komfortabel über das Netzwerk auf den Drucker zugreifen könnt.

Natürlich war das aber noch nicht alles. Denn es ist zusätzlich möglich, an den Raspberry Pi einen Touchscreen anzuschliessen um den Drucker damit zu steuern.

Ein anderes Display (das originale Druckerdisplay) ist somit vollkommen hinfällig!

 

Da der originale Raspberry Touchscreen zu klein ist, haben wir uns für einen 7″ Touchscreen mit USB/HDMI entschieden, erhältlich hier bei banggood.com:

Durch den Einsatz von HDMI und USB (USB dient hier als Stromquelle und Eingabegerätverbindung) ist es ein ziemliches Plug/Play.

bei banggood.com kaufen!

 

Vorraussetzungen:

– Display-Kit, siehe oben

– Gehäuse mit Ständer drucken, für eine aufrechte Position: https://www.thingiverse.com/thing:2500287

– HDMI Kabel und USB Kabel mit Micro B Stecker (für den Pi Zero ein HDMI Mini Stecker – wir haben das aber noch nicht getestet!)

Bitte tut euch den Gefallen und verwendet nicht die mitgelieferten Kabel, bei uns lief das ganze nie, bis wir nach zig neuen Versuchen die Kabel wechselte und bemerkten, es lag daran. BEIDE!!!

– Raspberry Pi 3  (1er oder 2 Version dürften wohl auch gehen, aber Aufgrund der Leistung haben wir den Pi 3 verwendet) mit Octoprint installiert.

Zum Raspberry Pi und Octoprint Tutorial: Raspberry + Octoprint + Webcam

 

 

Umsetzung:

Man nehme das aktuelle Octoprint Image und speichert es auf die SD Karte, wie hier beschrieben: Raspberry Pi Zero W und OctoPrint 0.14 (selbe Vorgehensweise bei einem normalen Raspberry Pi 3 oder niedriger)

Wenn Ihr jetzt auf die SD Karte zugreift, bevor ihr die in eurem Raspberry reinlegt, findet ihr eine config.txt. Diese öffnet ihr nun und Ändert folgendes:

Unter: „# uncomment to force a specific HDMI mode (here we are forcing 800×480!)“
löscht ihr die Angaben und tippt folgende rein:

 max_usb_current=1
 hdmi_group=2
 hdmi_mode=1
 hdmi_mode=87
 hdmi_cvt 1024 600 60 6 0 0 0

Eventuell noch Netzwerkeinstellungen tätigen, abspeichern und die Karte kommt nun in den Raspberry Pi rein.
Wenn das Display schon angesteckt ist, dürft ihr jetzt schon was sehen.

Die Installation wie üblich abarbeiten, so dass Octoprint läuft.
Im Pluginmanager bei den Einstellungen, unter MEHR, sucht Ihr nach dem TouchID Plugin und installiert es. Ein Neustart wird verlangt und auch durchgeführt.

Danach öffnet ihr eine Kommandozeile (z.B. Putty bei Windows) mit SSH und loggt euch ganz normal ein.
Nun wird alles auf den aktuellen Stand gebracht, indem ihr folgende Befehle eingebt:

sudo apt-get update
sudo apt-get upgrade

danach installiert ihr folgende Pakete, mit diesem Befehl:

sudo apt-get install --no-install-recommends xinit xinput xserver-xorg xserver-xorg-video-fbdev x11-xserver-utils matchbox unclutter chromium-browser

Den Touchscreen unter X11 registrieren:

sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf

 

Für die HDMI und offizielle Touchscreen Version, gibt folgende Zeilen ein:

Section "Device"  Identifier "touchscreen"  Driver "fbdev"  Option "fbdev" "/dev/fb0"EndSection

 

Für die anderen Varianten:

Section "Device"  Identifier "touchscreen"  Driver "fbdev"  Option "fbdev" "/dev/fb1"EndSection

Speichern und Ende (strg+o,  Enter  und strg-x)

nun könnt ihr per

ls /dev | grep fb

Befehl überprüfen, ob es passt, nun müsste euer eingetragenes fb0 oder fb1 dastehen.

Sicherheitshalber gebt Ihr folgendes ein (bei uns kam eine Fehlermeldung, läuft auch so, aber sicher ist sicher und Ihr macht es mal)

sudo sed -i 's/allowed_users=console/allowed_users=anybody/' /etc/X11/Xwrapper.config

TouchID Autostart

git clone https://github.com/BillyBlaze/OctoPrint-TouchUI-autostart.git ~/TouchUI-autostart/

Dateien Kopieren und im Autostart registrieren:

sudo cp ~/TouchUI-autostart/touchui.init /etc/init.d/touchui
sudo chmod +x /etc/init.d/touchui
sudo cp ~/TouchUI-autostart/touchui.default /etc/default/touchui
sudo update-rc.d touchui defaults

Testen ob der Chromium Browser läuft:

chromium-browser

Dann sollte folgendes bzw. ähnliches angezeigt werden: /usr/bin/chromium-browser: line 138: lsb_release: command not found /usr/bin/chromium-browser: line 139: lsb_release: command not foundbootstrap_helper: /usr/lib/chromium-browser/nacl_helper: Cannot open ELF file!  errno=2[1:1:0605/122948.230046:ERROR:nacl_fork_delegate_linux.cc(315)] Bad NaCl helper startup ack (0 bytes)[3904:3904:0605/122948.236249:ERROR:browser_main_loop.cc(495)] Failed to put Xlib into threaded mode.[3904:3904:0605/122948.244840:ERROR:browser_main_loop.cc(272)] Gtk: cannot open display:

Es ist alles OK!

Falls nicht, kommt folgende Meldung:

/usr/lib/chromium-browser/chromium-browser: symbol lookup error: /usr/lib/chromium-browser/chromium-browser: undefined symbol: mmal_vc_init_fd

Dann müsst ihr den Kernel aktualisieren, Kurzanleitung steht unten.

Jetzt nur noch:

sudo reboot 

und er startet direkt ins TouchId und der Touchscreen funktioniert.
Das Hochfahren dauert jetzt ingesamt länger als ohne Touch, da ja der XServer gestartet wird, Octoprint hochfahren muss und sich alles verbindet.

 

*Kernel Update:

sudo apt-get upgrade
 sudo apt-get install rpi-updatesudo rpi-update
 sudo reboot

Wenn ihr jetzt die einzelnen Eingabezeilen per Copy&Paste nutzt, habt ihr die ganze Installation in kürzester Zeit erledigt, das längste ist die interne Aktualisierung am Anfang.

Vielen Dank an Alexander Gretz für dieses Tutorial!

 

Startseite Foren Touchscreen für Octoprint (Raspberry Pi)

Dieses Thema enthält 5 Antworten und 3 Teilnehmer. Es wurde zuletzt aktualisiert von  t0bse vor 2 Wochen, 6 Tagen.

Login Registrieren
  • Autor
    Beiträge
  • #2457 Antwort

    t0bse
    Keymaster

    In unseren Tutorials zum Raspberry Pi und Octoprint haben wir euch gezeigt wie ihr euren Drucker komfortabel ins Netzwerk bekommt und überwachen könnt. Nun setzen wir dem Ganzen die Krone auf, mit einem Touchscreen! In den Tutorials hier: Raspberry + Octoprint + Webcam und hier Raspberry Pi Zero W u…
    [zum Artikel: Touchscreen für Octoprint (Raspberry Pi)]………

  • #2460 Antwort

    der_be89
    Teilnehmer

    Klingt ja gut, aber was stell Ihr darauf dar? Könnt Ihr noch ein Paar UI-Fotos oder ein Video ergänzen?

    • #2471 Antwort

      t0bse
      Keymaster

      klar gerne, ich habe ein video dazugepackt 🙂

    • #2488 Antwort

      der_be89
      Teilnehmer

      Danke! Sieht wirklich gut aus. 🙂

       

      Geht das Display irgendwann schlafen oder muss man den Pi herunterfahren?

  • #2489 Antwort

    Bennji
    Teilnehmer

    Grüß euch!!

    Tolle Anleitung nur sind leider fehler endhalten und zwar in der zeile:

    Dateien Kopieren und im Autostart registrieren müsste so aussehen

    sudo cp ~/TouchUI-autostart/touchui.init /etc/init.d/touchui
    sudo chmod +x /etc/init.d/touchui
    sudo cp ~/TouchUI-autostart/touchui.default /etc/default/touchui
    sudo update-rc.d touchui defaults

     

    Habs dan über diese Anleitung gemacht: https://github.com/BillyBlaze/OctoPrint-TouchUI/wiki/Setup

    Und ja der Display geht nach einiger Zeit AUS

    Großes lob an euch toller Blog

     

     

     

    • #2494 Antwort

      t0bse
      Keymaster

      ist geändert, danke dir 🙂

Login Registrieren
Antwort auf: Touchscreen für Octoprint (Raspberry Pi)
Deine Information: