便宜又快速的支票热敏打印机打印

我们作为IT专家,经常要完成一次简单的打印任务-例如,新员工的用户名和密码,安装人员的票据或类似的内容。这样花费纸张和墨盒非常昂贵。同时,有些打印机具有超便宜的高速打印功能,尽管我们每天都多次看到它们,但很少有人记得。我们正在谈论支票热敏打印机。



我可能会从一个演示开始,以便您可以欣赏每秒20厘米的打印速度:



( - , . :) )


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


最后-应用程序示例。上周末,我的学校庆祝了下一个生日(已是143岁),根据传统,高中学生为小学年级和毕业生组织了各种竞赛和娱乐活动。我负责宾果游戏-按下一个按钮,我的打印机就为玩家打印了门票,并且数字显示在板上。门票上的QR码可以检查玩家在游戏中是否正确划掉了数字:



为了抵御破坏,将Orange Pi隐藏在胶合板平台中,并拧紧在打印机上,并且在与GPIO连接的按钮上显示了票据打印命令。为了安全起见,添加了一个I2C屏幕,在该屏幕上显示了Orange Pi的IP地址,在这种情况下,要知道如何通过SSH访问它。

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


All Articles