EPaper-Display

Aus HRW FabLab MediaWiki
Wechseln zu: Navigation, Suche

PBo9k (dt. Print Butler (over) 9000)ist ein 3D Druck Überwachungssystem, das dem Benutzer eine Übersicht über den Status der 3D Drucker geben soll
Das System umfasst mehrere e-Ink-Displays, sowie zwei Raspberry Pis und 3D-gedruckte Halterungen und Boxen.

EPaper-Display

Pbo9k.jpg

Entwickler

Lana Sattelmaier, Anton Müller, Niklas Degenhart

Projektdateien

Thingiverse, GitLab

Verwendete Programmiersprachen

Arduino C/C++ , PHP7.3, HTML, CSS, Bootstrap 5

Eingesetzte Software

Arduino IDE, Autodesk Fusion 360 , Cura, Mosquitto, PhpMyAdmin, WinSCP

Eingesetzte Hardware

Ultimaker 2+ ESP32 Raspi Zero LilyGo E-Ink Display

Projektbeschreibung[Bearbeiten]

Das Ziel dieses Projekts ist es für das HRW-FabLab eine 3D-Drucker-Überwachung zu erstellen. Dabei soll die Information über jeden Drucker neben ihm auf einem EPaper-Display angezeigt werden. Über einen QR-Code soll auf eine Seite verwiesen werden, wo diese Informationen bearbeitet werden können und der Drucker auch in einen "Wartungszustand" versetzt werden kann. Das bedeutet, dass bei z.B. einem Fehldruck hinterlegt werden kann, dass der Drucker gewartet werden muss und dies dann von einer verantwortlichen Person übernommen wird.

Hard- & Software[Bearbeiten]

Kostenaufstellung[Bearbeiten]

Materialliste
Beschreibung Kosten pro Stück in € Anzahl
ESP 32 (Aufgrund von Corona mehrere) ca. 10€ 3
Raspberry Pi Zero ca. 20€ 1
E-Ink Display (Aufgrund von Corona mehrere) ca. 15€ 2
Maus-Tastatur-Controller ca. 20€ 1
Micro USB-Kabel 3er Paket ca. 7€ 1
HDMI zu Mini HDMI Kabel ca. 10€ 1
Raspberry Pi 4 (Aufgrund von Corona) ca. 40€ 1
Mikro SD Karte ca. 10€ 1
Gesamtkosten: 167€ (Wir hatten aber alles bis auf ein paar Kleinigkeiten da!)
Kosten ohne Corona (ohne Zubehör, für einen Drucker inkl. Webserver mit Mosquitto): 55€

Die Hardware besteht aus einem ESP32 + EPaper-Display pro Drucker, einem ESP32 als Broker (hier immer nur ESP-Broker) und einem Raspberry Pi Zero. Auf dem Pi läuft der Webserver und die ESP32s werden für die Verteilung und Anzeige der Informationen auf den Displays genutzt. Aufgrund von der aktuellen Lage (Corona) war es uns nicht möglich, gemeinsam zu arbeiten. Daher mussten wir manche Geräte mehrmals besorgen.(Später haben wir uns jedoch mithilfe von Corona-Tests teilweise treffen können).

Webserver[Bearbeiten]

Die Informationen über jeden Drucker werden zentral auf einem Webserver gespeichert und von diesem aus an die Displays verteilt. Dieser wird als Apache-Server auf dem Raspberry Pi gehostet, neben MQTT & MariaDB. Für die Website wurden HTML, CSS und PHP7.3 genutzt um ein minimalistisch gehaltenes Layout mit intuitivem Design und individualisiertem Login-System zu erzeugen. Die über diese Site eingebenen Daten werden über einen MQTT-publish an den ESP-Broker weitergegeben.


EPaper-Display[Bearbeiten]

Das EPaper-Display enthält zum einen Informationen um welchen Drucker es sich handelt, welches Material aktuell verwendet wird, welches Nozzle-Diameter aktuell eingestellt ist, sowie einen QR-Code zur Seite des Druckers (siehe vorheriger Abschnitt). Es wird von einem ESP32 über dessen IO-Pins angesteuert (siehe GitLab). Bei dem Display handelt es sich um eines ovn LilyGO, das bereits fest mit einem ESP32 verbunden ist.

EPaper-Display beim Wechseln der angezeigten Werte


Kommunikation zwischen ESP-Broker & ESP-Display[Bearbeiten]

Die Kommunikation zwischen dem Verteiler-ESP32 und den EPaper-Displays wurde über Bluetooth umgesetzt. Espressif bietet für den ESP32 eine Sammlung von Bibliotheken an, mit deren Hilfe dieser über die Arduino-IDE programmiert werden kann. In dieser Sammlung ist auch eine Bibliothek vorhanden, mit der man die Bluetooth-Schnittstelle wie die serielle USB-Schnittstelle nutzen kann. Darüber sind Direktverbindungen möglich, die hier genutzt werden um den Display-ESP32 mit Informationen zu versorgen. Der Display-ESP32 ist dauerhaft zum Verbinden verfügbar. Wenn der Verteiler-ESP32 nun neue Informationen für einen Drucker hat, dann verbindet er sich mit dem zugehörigen ESP32, überträgt die neuen Daten und trennt die Verbindung wieder.

Mögliche Optimierungen[Bearbeiten]

Reduzierung von Bluetooth-Verbindungen[Bearbeiten]

Eine Reduzierung von Bluetooth-Verbindungen (und somit Entlastung des 2,4GHz-ISM-Bands für WLAN) ist über mehrere Optionen möglich:

* Update der Daten auf EPaper-Displays in festen Zeitintervallen, wodurch die Display-ESP32s nicht dauerhaft ihre verfügbarkeit offenbaren müssen. (Zusätzlicher Vorteil: geringerer Stromverbrauch der Display-ESP32s. Nachteil: evtl. veraltete Informationen, bzw Änderungen nicht sofort sichtbar).
* Umstellung auf andere Komunikation (IR oder evtl. sogar kabelgebunden)

LoRa als Alternative[Bearbeiten]

Da Bluetooth die gleiche Wellenlänge wie WLan hat, haben wir recherchiert und die Alternative LoRa gefunden. Diese ist bereits für IOT-Anwendungen sehr beliebt, da sie sowohl in der Point to point Kommunikation als auch in der Netzwerkkommunikation funktioniert. Allerdings kosten die Mikrochips, die für die Anwendung notwendig sind, auch wieder was.

Problematiken[Bearbeiten]

Zunächst war geplant die Kommunikation zwischen dem Verteiler-ESP und den EPaper-Displays über Infrarot umzusetzen. Aufgrund der Menge zu sendender Daten kam es zu Kompatibilitätsproblemen mit den verfügbaren Bibliotheken. Es stellte sich heraus, dass diese dazu überhaupt nicht gedacht waren.
Aufgrund der Coronoa-Pandemie konnte kaum Tests im Labor stattfinden, wir hatten andauernd zu wenig Geräte zum testen (kamen nach und nach) und das geplante openHAB System konnte viel zu spät erst geklont werden, da wir auf einen weiteren Pi warten mussten (wegen der Portabilität, da wir das System andauernd weiterreichen mussten). Später konnten wir uns durch die Verfügbarkeit von Corona- Antigen-Tests testen und uns tatsächlich regelmäßiger treffen,da haben wir uns bereits gegen das openHAB System entschieden.