zplCloud Blog

Ein reiner USB-GK420 als Cloud-Drucker: Raspberry Pi, ein Agent, unter 100 Euro

Beim Kauf Link-OS kaufen. Behalten, was funktioniert, solange es funktioniert. Beides landet in derselben Plattform.

4 Min. Lesezeit zplCloud Team

Zuerst die ehrliche Empfehlung

Zebra GK420d mit reinem USB-Anschluss an einem Raspberry Pi, auf dem der zplCloud-Agent läuft

Wer heute einen Etikettendrucker kauft, sollte einen Zebra mit Link-OS nehmen - ZD421, ZD621 oder größer. Cloud Connect / Weblink ist eingebaut, WLAN ist dabei, der Druckkopf ist schneller, es gibt 300-dpi- und RFID-Varianten sowie Firmware- und Einstellungsverwaltung aus der Ferne. Die Anbindung an zplCloud ist ein Einzeiler, und das Gerät bleibt jahrelang wartbar.

Das ist aber nicht die Frage, die die meisten Werkstätten und kleinen Lager haben. Ihre lautet:

„Auf dem Packtisch steht ein GK420d. Der druckt seit 2014 jeden Tag Versandetiketten und hat nie gestreikt, hat aber nur USB. Müssen wir ihn verschrotten, um aus der Cloud zu drucken?"

Nein.

Was diese Drucker können und was nicht

GK420d/GK420t, GC420, LP2844 und die älteren TLP-Modelle sind mechanisch ausgezeichnet und einfach: 203 dpi, Thermodirekt oder Thermotransfer, EPL2 und ZPL II. Millionen davon laufen noch.

Ihnen fehlt genau eine Sache: Konnektivität. Kein Link-OS, also kein Weblink und kein Cloud Connect. Viele haben nur USB. Aus Sicht der Cloud existieren sie nicht.

Sie haben weiterhin alles, was beim Ersatz Geld kostet: einen funktionierenden Druckkopf, eine funktionierende Walze, einen funktionierenden Mediensensor - und ein Gerät, das dein Team kennt.

Die Teile

TeilKostenHinweis
Raspberry Pi Zero 2 W, 3, 4 oder 5~20–80 €jedes 64-Bit-Raspberry-Pi-OS; ein Zero 2 W schafft ein bis zwei Drucker
Netzteil, microSD, USB-Kabel~15 €das vorhandene Kabel des Druckers passt (Pi Zero: Micro-USB-OTG-Adapter)
zplCloud-CLI-AgententhaltenStarter enthält 1 Remote-Drucker-Agent, Pro 5
Summeunter 100 €gegenüber mehreren hundert Euro für einen neuen Link-OS-Desktopdrucker

Der Agent zieht einstellige Watt, läuft als systemd-Dienst, verbindet sich nach einem Stromausfall selbst wieder und braucht keine eingehenden Ports, kein VPN und keine Firewall-Änderung - er öffnet eine ausgehende Verbindung zu api.zplcloud.com.

Einrichtung, etwa 20 Minuten

1. Pi vorbereiten

Raspberry Pi OS Lite (64-Bit) mit dem Raspberry Pi Imager flashen. SSH und WLAN in den Imager-Einstellungen aktivieren, bevor die Karte geschrieben wird, booten, anmelden.

2. Drucker anstecken

lsusb
# Bus 001 Device 004: ID 0a5f:0084 Zebra Technologies ...

Vendor-ID 0a5f ist Zebra. Das ist die gesamte Treibergeschichte - der Agent spricht über die USB-Druckerklasse (libusb) mit dem Gerät. Kein CUPS, kein Spooler, kein Herstellertreiber.

Erscheint nichts: ein Datenkabel verwenden, kein reines Ladekabel - und einem Pi Zero einen aktiven Hub gönnen, wenn der Drucker mehr zieht, als der Port liefert.

3. CLI installieren

curl -fsSL https://zplcloud.com/install-cli.sh | sh
zplcloud --version
zplcloud usb list

Der Installer wählt den passenden Build: linux-arm64 für 64-Bit-Pi-OS, linux-arm für 32-Bit. usb list sollte das Zebra-Druckerklassen-Gerät zeigen.

4. Testetikett vom Pi drucken

zplcloud send --usb --zpl "^XA^FO50,50^A0N,32,32^FDHallo vom Pi^FS^XZ"

Kommt ein Etikett heraus, ist die Hardwareseite erledigt.

Passiert nichts, prüf den Sprachmodus. Ein GK420 kann in EPL2 laufen - dann kommt ZPL als Text an und wird ignoriert. Das Konfigurationsetikett verrät den aktiven Modus. Außerdem braucht der USB-Zugriff Rechte: sudo ist für den Test in Ordnung, für den Dienst ist eine udev-Regel, die das Gerät einer Gruppe zuordnet, der saubere Weg.

5. Agent als Dienst einrichten

API-Key in der Plattform anlegen (Tab API), dann:

sudo zplcloud proxy --agent "Packtisch Pi" --service-install --api-key sk_zplcloud_xxxx
systemctl status zplcloud-agent
journalctl -u zplcloud-agent -f

Das installiert zplcloud-agent.service mit Restart=always. Der Pi verbindet sich ab jetzt beim Booten und reicht jeden Auftrag an den USB-Drucker weiter.

Docker geht auch: /dev/bus/usb in den Container mappen und ZPLCLOUD_API_KEY sowie ZPLCLOUD_AGENT setzen (siehe docker-compose.agent.yml). Ein Pi kann mehrere USB-Drucker und gleichzeitig LAN-Drucker über TCP 9100 versorgen.

6. Von überall drucken

Der Agent erscheint unter Remote Printers mit seinem USB-Drucker, und ab da ist es ein normaler zplCloud-Drucker: Designer, REST-API, Batch-Jobs aus CSV/JSON, Kafka- oder SQL-Datenquellen, Print Views fürs Packteam, Queue mit Wiederholungen, Webhooks bei Erfolg oder Fehler.

Drei Dinge, die man über alte Drucker wissen sollte

Fonts. Ein GK420 hat wenige Megabyte Flash. Der 11-MB-ZPLCloud-Unicode-Font passt nicht, die 7-MB-Slim-Variante ist knapp. Vorher nachsehen:

zplcloud send --usb --zpl '! U1 getvar "memory.flash_free"'

Für lateinischen Text mit Umlauten Liberation Sans (0,4 MB) nehmen, oder zplCloud den Text als Grafik rendern lassen - der Designer macht das bei Textfeldern im Bildmodus automatisch. Für CJK auf einem GK420 ist der Bildmodus die Antwort. Ein aus SVGs gebauter Icon-Font ist nur wenige KB groß und passt problemlos.

Auflösung und Geschwindigkeit. 203 dpi, rund 4 ips. Passt für Versand-, Produkt- und Regaletiketten; nicht für dichte 2D-Codes auf kleiner Elektronik.

Kein RFID, kein 300 dpi, kein WLAN im Drucker. Wer das braucht, hat den Moment für einen Neukauf - und der Wechsel ist billig, weil Designs, Bindings, Print Views und API-Aufrufe identisch bleiben. Nur der Druckereintrag ändert sich.

Warum Behalten die vertretbare Antwort ist

Ein funktionierender Drucker im Container ist das schlechteste verfügbare Ergebnis: die graue Energie von Mechanik und Elektronik plus der Versand des Ersatzgeräts. Ein GK420, der noch sauber druckt, braucht alle paar Jahre einen Druckkopf - ein Ersatzteil, kein neues Gerät. Der Pi kommt mit etwa dem Verbrauch einer LED-Lampe dazu.

Beim Kauf Link-OS kaufen. Behalten, was funktioniert, solange es funktioniert. zplCloud behandelt beides gleich.

Weiterlesen

Weitere Artikel