Impression d'imprimante thermique chĂšque pas cher et rapide

Nous, spĂ©cialistes informatiques, avons souvent la tĂąche d'imprimer quelque chose de simple et ponctuel - par exemple, un nom d'utilisateur et un mot de passe pour un nouvel employĂ©, un ticket pour un installateur, ou quelque chose comme ça. Passer du papier et des cartouches comme ça coĂ»te trĂšs cher. Dans le mĂȘme temps, il existe des imprimantes avec une impression ultra-rapide Ă  trĂšs bas prix, dont personne ne se souvient rarement, bien que nous les voyions tous les jours plusieurs fois. Nous parlons d'imprimantes thermiques Ă  chĂšques.



Je vais peut-ĂȘtre commencer par une dĂ©mo pour que vous puissiez apprĂ©cier la vitesse d'impression de 20 cm par seconde:



( - , . :) )


. 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 - – . , , , « !» — , .


Enfin - un exemple d'application. Le week-end dernier, mon école a célébré son prochain anniversaire (jusqu'au 143e) et, par tradition, les élÚves du secondaire ont organisé divers concours et divertissements pour les élÚves du primaire et les diplÎmés. J'étais responsable du Bingo - en appuyant sur un bouton, mon imprimante imprimait des billets pour les joueurs et des numéros étaient affichés sur le tableau. Le code QR sur le ticket a permis de vérifier si le joueur a correctement barré les numéros pendant la partie:



Pour la résistance au vandalisme, l'Orange Pi était caché dans un podium en contreplaqué bien vissé à l'imprimante, et la commande d'impression de ticket était affichée sur les boutons connectés au GPIO. Par sécurité, un écran I2C a été ajouté, sur lequel était affichée l'adresse IP de l'Orange Pi, afin qu'en cas de quoi, nous sachions comment y accéder via SSH.

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


All Articles