Thermal printers: Difference between revisions
(→Python) |
(→Python) |
||
(One intermediate revision by the same user not shown) | |||
Line 39: | Line 39: | ||
===Python=== | ===Python=== | ||
With the | 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/ | ||
Line 63: | Line 63: | ||
from escpos.printer import Usb | from escpos.printer import Usb | ||
p2 = File("/dev/usb/ | p2 = File("/dev/usb/lp0") | ||
p2.text("HELLO!\n") | p2.text("HELLO!\n") | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 15:27, 6 November 2023
a.k.a. receipt printers
We have the following thermal printers at XPUB:
Epson TM20III
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.
- to install the library: https://pypi.org/project/escpos/
- documentation: https://python-escpos.readthedocs.io/en/latest/user/usage.html
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
Cocktail generator made for Aymeric's goodbye party in action! (Who made it? Jian and Chae?), see also: SI_17_-_Productive_Play#Cocktail_Generator_for_Aymeric's_Goodbye_Party_(with_Jian) and User:Ohjian/XPUB_1#Cocktail_Generator