Esc/pos is a standard language to print on thermal printers. Most of the printers on the market use this language to print.
It was initially used with serial and parallel port, but nowadays you can find on the market printers with any possible connection port.
I'm actually using in a project epson printers with ePos functionality. ePos basically expose an https webservice to drive the printer, but represent a lock in with this printers provider. it also force me to factory set printers before shipping, without the option to send it directly to the customer without having to set it up.
my goal is to be able to use a usb/serial thermal printer implementing the ePos layer on a small program running on linux box. this way I will still use the printer on web page issuing ePos commands, routing esc/pos payload to the usb/serial printer.
hardware will be raspberry pi 4b with raspbian OS (debian)
if you apply to this project please verify you have necessary information about esc/pos and ePos
if you own a usb/serial printer everything will be easier as you can test code on your side.