Arduino mit Etikettendrucker

Hilfe ich habe einen Brother QL 800 und möchte mit meinem arduino uno r4 wifi daten versenden womit ich einen etikettendruck machen kann nur leider weiss ich wirklich nicht wie das gehen soll... über den laptop gehts aber direkt mit dem arduino ist ein wenig knifflig ich hoffe ihr könnt mir helfen

Wird hochgeladen: cv_ql800_eng_raster_101.pdf …
ErP_Lot26_QL-800_web.pdf (120,8 KB)
Wird hochgeladen: ql_800_810w_820nwb_ger_psg_d01stb001_01.pdf …
Wird hochgeladen: ql800_ger_qsg_d00n1d001.pdf …
Wird hochgeladen: ql-800_ger_ug_03.pdf …

Was genau ist denn daran knifflig ?
Hast du auf dem Arduino schon den passenden Treiber für den Drucker geladen ?
Was hast du schon probiert ?

also druckertreiber gibt es glaube ich nicht,

Wollte einfach einen befehl mit dem uno r4 über ttl wandler einen befehl senden und so hello world mal ausdrucken, aber funktioniert nicht, aber jeder etikettendrucker, druckt ja auf befehl und den befehl kann man ja von einem arduino ebenfalls senden eigentlich aber wie genau das funktioniert weiss ich leider nicht komme auch nicht weiter und deshalb bin ich jetzt hier.

Und genau dazu musst du das Datenprotokoll kennen, was über die serielle Schnittstelle gesendet wird. Evt. findest du das im Netz.

So wie ich ausgelesen habe ist das ein USB Drucker, auch wen es die ganze liste gibt (cv_ql800_eng_raster) wird es schwierig.
Die Android App funktioniert?, soll angeblich mit dem QL tun.

Du verwechselst vermutlich usb-Drucker mit seriellem Drucker über RS232. Die letzteren kriegen Text. und eventuell ein paar ESC Sequenzen, um mehr als NeueZeile zum Formatieren zu unterstützen. Die ersteren kriegen sowas wie ein Bild der Seite, das sie ausgeben sollen. Das liefert das windows- oder linux-Betriebssystem, evtl. spezialisiert durch einen Druckertreiber, und ob du dazu ein Arduino-Äquivalent findest, weiss ich nicht. Das selber zu machen wäre in der Tat mühsam oder "ein wenig kniffelig".

Mein Tip: Nimm für Arduino einen Seriellen Drucker, oder verzichte auf einen Arduino für deinen QL 800.

Ich hadere damit, die Schnittstelle mit der Art des Drucks zu verbinden, auch wenn das möglicherweise zeitlich zusammenfiel. Schließlich gab es auch die Paralellschnittstelle und weitere Schnittstellen wie beispielsweise Koaxkabel.

  • Textdrucker erhalten einen Code wie 0x61 und drucken damit ein "a" im Aussehen entsprechend eines eingebauten Fonts. Das ist gleich dem Druck auf die Schreibmaschinentaste "a". Mit den an Fernschreiber angelehnten Steuerzeichen können Textdarstellungen wie Fettdruck eingeschaltet werden. Beliebt sind Escape-Sequenzen wie ESC/P bei Epson-Druckern. Niedrige Datenraten bei der Schnittstelle sind möglich, 300 Baud bei RS232 waren durchaus üblich.

  • Grafikdrucker drucken nur Grafiken, also schwarze oder farbige Punkte, weshalb ein Zeichen mit Hilfe eines auf dem PC gespeicherten Fonts in eine Grafik gewandelt werden und dann an den Drucker übermittelt werden muß. Da die Grafik eines Buchstabens aus vielen Punkten besteht, ist eine höhere Datenrate notwendig.

@anon49254284: Einen Textdrucker wirst Du an einen Arduino anschließen können, da mußt Du Dich nur dem Zeichensatz des Druckers anpassen. Bei einem Grafikdrucker dürfte die Wandlung eines Zeichens in eine Grafik wegen knappen Speichers mindestens problematisch werden.

Der Brother QL 800 ist darüberhinaus noch speziell, da er den Druckertreiber per USB-Schnittstelle anbietet, womit der Arduino nichts anfangen kann. Ich schätze Dein Vorhaben daher als nicht durchführbar ein und schließe mich dem Rat von @michael_x an, nur anders formuliert: Nimm für Arduino einen Textdrucker!

EDIT 20240525 wegen Beitrag #8!

Ich empfehle dir dich mit den BROTHER SDK zu beschäftigen.

https://developerprogram.brother-usa.com/sdk-download

Brother hat da eine Super-Unterstützung. Ich habe die DLL schon vor 20 Jahren in der Firma für meine Software eingesetzt. Das SDK war auch der Grund wieso ich den gekauft habe, für die Firma und auch privat.

Privat habe ich auch schon einige 1000 Etiketten damit bedruckt. Mein QL560 (automatischen Messer) ist einfach Klasse.

Gruß

Pucki

1 Like

Ich habe jetzt nicht genau nachgeschaut:
Gibt es bei Brother tatsächlich für einen USB-Drucker ein "SDK" (hier heißt das Library) für einen Arduino ohne USB Host?
Wenn ich Etiketten drucken wollte, fände ich das spannend.

Da bin ich mir nicht so sicher.

Das Wort "Arduino/ESP32" habe ich da nicht gefunden.
ABER hier mal ein Text aus einer der zahlreichen SDK's.

##### ESC/P

Fügen Sie Ihrer Anwendung einfach Etikettendruck durch Senden von Esc/P-Steuercode an den Etikettendrucker an. Die verschiedenen Esc/P-Steuercodes bieten Ihnen die Flexibilität, Schriftart, Größe zu setzen, Barcodes hinzuzufügen und mehr, um das Label zu erstellen, das Ihre Anwendung benötigt.

Leider muss man sich seit neusten anmelden damit man das runterladen und Testen kann.
Und mein SDK für VB 2010 läuft auch Stressfrei unter Visual-Studio. Weshalb ich kein ACC habe.

Wobei ich aber die Vermutung habe (kein Beweis) das die Verbindung via Handy + Co. nur mit BT-Fähigen Druckern funktioniert. Mein Uralter QL-560 hat das aber nicht.

Nebenbei bemerkt. Es gibt billige Thermodrucker aus China mit lötbarer Schnittstelle.
Musst er halt googlen wenn ihn so ein Teil juckt. Preis ca. 20 Euro als ich ihn das letzte mal gesehen habe. Die lassen sich angeblich mit einen Arduino/esp32 ansteuern.

Gruß

Pucki

Diese TTL zu USB Wandler sind Slaves. Du kannst nicht 2 Slaves (Drucker und TTl Wandler) zusammenschließen.

Bei dieser Gelegenheit möchte ich Dir einige Großbuchstaben udn Satzzeichen schenken. Diese würden Deinen Text leselicher und verständlicher machen.

Grüße Uwe

Dan kannst ja die Hacken und hier in C++ zeigen :wink:
Oder schreibt man Haken ?

Wenn du lesen könntest, wüstet du, das es auch möglich ist ESP-Codes zu senden.

Inwieweit man den Drucker mit dem Arduino verbinden kann, ist eine andere Frage und erinnert mich an einen aktuellen Thread mit der USB-Tastatur.

Gruß

Pucki

Meinst Du eventuell "ESC-Codes", also Escape-Sequenzen?

JA, war ein Tippfehler. Infos stehen in einen der obigen Beiträge. (Post 10).

Gruß

Pucki

Lesen, und verstehen geht noch :joy:
Nur wie wist den unbekannten Code an Arduino Senden?
Ja es geht, nur ob der versteht was ist was? glaube nicht.
Das war Punkt 1.
Punkt 2 ist, man muss die Sequenzen in bestimmter Reihenfolge senden, sonst wird nix.
Zu Info am C64 habe ich ein Krachmacher (Matrix Nageldrucker) gehabt vom Mannesmann Taly. In der Bedienungsanleitung sind alle erforderliche Codes drin, was hier nicht gegeben ist wenn klappt dann nur Schrift keine Grafik.
Punk 3. Die frage dazu ob das reiner USB Drucker ist, was scheint so aussehen viel Spaß dabei.

Du hast doch den Drucker also mach was.

Registriere dich, lade dir die Infos runter und mach dich schlau.

Einige Beträge im Forum lassen darauf schließen das es genau so geht wie beim C=64.
Ach übrigens ich hatte ein Seikosha SP-180VC.

Ich werde mich nicht registrieren, ergo auch nicht testen.

Grund : Ich sehe das Problem eher im USB-Port. Wie zickig die sind sagt ja der USB-Tastatur-Thread.

Gruß

Pucki

Dan liegst du wie der Weltmeister :wink:

1 Like

Das Hauptproblem hier ist denke ich weniger, mit welchen Bfehlen , Steuercodes ESC-Sequenzen der Drucker zum Drucken veranlasst werden kann, das Ahuptproblem wird viel eher sein, eine USB-Kommunikation zwischen Arduino und Etikettendrucker herzustellen, So dass der Drucker überhaupt mal vom Arduino Anweisungen akzeptiert. Der rst nachher ist eigentlich nur noch Studium der Drucker Sprache damit man weiss, mit welcher Anweisung der Drucker welche Funktion ausführt. Auch ich hab vor sehr vielen Jahren mal das Problem gehabt, nen Drucker an nem Computer zum laufen zu bekommen, für den es keinen Treiber gab. Damals ging es darum, einen HP Farb-Tintenstrahl Drucker (HP Desk-Jet 550) an einem MSX2 System zum laufen zu bekomen. Die Schnittstelle war kein Problem, da beide Geräte mit der Parallelen Centronics Schnttstelle ausgestattet waren. Das problem war der Treiber für die Farben um Hardcopys von Grafiken zu erstellen sowie Schriften Formatierung und àhnliches. HP hat mir dann ein Buch zur Verfügung gestellt, dass die eingebaute Drucker éanguage bis ins kleinste Detail Beschrieb. ESC-Sequenzen, FarbMischung usw. auf dieser Basis hab ich mir dann den Treiber geschrieben in Z80 Assambler und den schlussendlich in ein EPROM gebrannt und dieses Eprom ins Memory-Mapping des MSX2 eingebaut Das Modul stellte einerseits zusätzliche Basic-Funktionen zur Verfügung, und konnte auch mittels Tasten Kombinationen gesteuert werden.
Hier wird eben die hauptschwierigkeit sein, einen USB-Host Treiber für den Drucker zu finden, der auf dem Arduino läuft.

[OT:] MSX2 System… da werden Erinnerungen wach. Hatte ich auch mal.
Einer der wenigen, die keinen Commodore/Amiga hatten…