Günstiger und schneller Druck des Thermodruckers

Wir, IT-Spezialisten, haben oft die Aufgabe, etwas Einfaches und Einmaliges zu drucken - zum Beispiel einen Benutzernamen und ein Passwort für einen neuen Mitarbeiter, ein Ticket für einen Installateur oder ähnliches. So viel Papier und Patrone auszugeben ist sehr teuer. Gleichzeitig gibt es Drucker mit extrem billigem Hochgeschwindigkeitsdruck, an die sich selten jemand erinnert, obwohl wir sie jeden Tag viele Male sehen. Wir sprechen über Check-Thermodrucker.



Ich beginne vielleicht mit einer Demo, damit Sie die Druckgeschwindigkeit von 20 cm pro Sekunde schätzen können:



( - , . :) )


. Citizen CT-S2000, – 58 80 . , , , . , : , , ( !).


80 . 58 . , .. , .



COM- ( USB), Ethernet, WiFi Bluetooth, .


Citizen – Windows, PPD CUPS, Java. , , «ESC/POS».


. Citizen , (!) – - , Windows.


USB COM 25 pin, 9 pin – USB. Windows COM-, .


– ( ) . , , – .



ESC/POS, Python- python-escpos . Orange PI PC Debian, .


lsusb ID , 2730:0fff:


# lsusb
Bus 006 Device 002: ID 2730:0fff Citizen

USB endpoints, ID :


# lsusb -v -d 2730:0fff | grep bEndpointAddress
        bEndpointAddress     0x81  EP 1 IN
        bEndpointAddress     0x02  EP 2 OUT

Python:


from escpos import Usb
p = printer.Usb(0x2730, 0x0fff, 0, 0x81, 0x02)

, , Epson TM-T88III, , , , — . .


– , ESC/POS:


"""   , ,  """
p.set(font='a', align=u'left', height=3)

"""   (     DPI!) """
p.image('/home/test/example.png')

"""   (-   ,
        ) """
p.text("Hello, world!\n")

"""  QR- """
p.qr("https://gbougakov.dev", size=5, center=True)

"""  - ( ,  
  checksum) """
p.barcode('1324354657687','EAN13')
p.barcode('123456', 'CODE39')

"""   - –    
      """
p.soft_barcode('code39', '123456')

"""  : """
p.cut(mode='PART')

"""     : """
p.cut()

"""        
(        RJ-25): """
p.cashdraw(2)
p.cashdraw(5)

– . , , , . – 24 , – .



Raspberry Pi - – . , , , « !» — , .


Endlich - ein Anwendungsbeispiel. Letztes Wochenende feierte meine Schule ihren nächsten Geburtstag (bis zum 143.) und traditionell organisierten Schüler verschiedene Wettbewerbe und Unterhaltungsveranstaltungen für Grundschulklassen und Absolventen. Ich war für Bingo verantwortlich - auf Knopfdruck druckte mein Drucker Tickets für Spieler und Zahlen wurden auf der Tafel angezeigt. Mit dem QR-Code auf dem Ticket konnte überprüft werden, ob der Spieler die Zahlen während des Spiels korrekt durchgestrichen hat:



Aus Gründen der Vandalismusresistenz wurde der Orange Pi in einem Sperrholzpodest versteckt, fest mit dem Drucker verschraubt, und der Befehl zum Drucken von Tickets wurde auf den mit dem GPIO verbundenen Tasten angezeigt. Aus Sicherheitsgründen wurde ein I2C-Bildschirm hinzugefügt, auf dem die IP-Adresse des Orange Pi angezeigt wurde, sodass wir im Falle eines Falls wissen, wie wir über SSH darauf zugreifen können.

Source: https://habr.com/ru/post/undefined/


All Articles