Thermal printers: Difference between revisions

From XPUB & Lens-Based wiki
 
Line 39: Line 39:
===Python===
===Python===


With the <code>escpos</code> Python library you can use the printer from a Python script.
With the '''escpos Python library''' you can use the printer from a Python script.


* to install the library: https://pypi.org/project/escpos/
* to install the library: https://pypi.org/project/escpos/

Latest revision as of 16:27, 6 November 2023

a.k.a. receipt printers

We have the following thermal printers at XPUB:

Epson TM20III

Epson-tm20III-at-xpub.jpg

Command line

Plug the USB into your computer or server first.

In Linux/Mac, the printer should appear at one of the /dev/ sockters, which should be a path similar to:

/dev/usb/lp0

Try to send some text to the printer:

$ echo "hello" > /dev/usb/lp0

If you get an permission denied error, you can check the permissions of the socket of the printer:

$ ls -la /dev/usb/lp0

Which returns something like the following:

crw-rw---- 1 root lp 180, 2 Nov  6 12:48 /dev/usb/lp2

In this case, the printer socket is owned by the user root and by the group lp.

With the groups command you can check if you are part of the lp group:

$ groups

If not, you can add yourself with:

$ sudo addgroup USERNAME lp

Python

With the escpos Python library you can use the printer from a Python script.

USB

You can choose to connect over an "usb" connection"

from escpos.printer import Usb

p = Usb(0x04b8, 0x0e28) 
# this is the specific nr for this printer
# you can find it with $ lsusb

p.text("Hello World\n")

Or a "file handler" connection:

from escpos.printer import Usb

p2 = File("/dev/usb/lp0")
p2.text("HELLO!\n")

network

from escpos.printer import Network
kitchen = Network("145.24.131.103") 
#EPSON Receipt Printer. Printer IP Address will be spit out when plugged

From: User:Ohjian/XPUB_1#Code:_Good_Bye_Aymeric,_Hello_Epson_Printer

Gallery