You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
999 B
Markdown
25 lines
999 B
Markdown
6 years ago
|
NickelBridge
|
||
|
============
|
||
|
|
||
|
NickelBridge is a simple utility that allows NickelBox to interface with receipt
|
||
|
printers. It runs a simple web server listening on localhost:64269 (nibox) that
|
||
|
accepts JSON-format receipts and attempts to print them to whatever device is
|
||
|
configured in the UI.
|
||
|
|
||
|
NickelBridge uses [`node-thermal-printer`](https://www.npmjs.com/package/node-thermal-printer)
|
||
|
to print receipts. It therefore supports the Epson ESC/POS and STAR protocols.
|
||
|
NickelBridge itself has only been tested with ESC/POS.
|
||
|
|
||
|
|
||
|
Endpoints
|
||
|
---------
|
||
|
|
||
|
* GET `/status`: Returns JSON `{"status": "OK", "width" 48}` where the width is
|
||
|
the user-configured maximum width in characters of a single printed line of text.
|
||
|
|
||
|
* POST `/print`: Accepts a JSON body comprised of the output of a `json` format
|
||
|
NickelBox receipt. Prints it, cuts the paper (if hardware allows), and responds
|
||
|
with `{"status": "OK"}`.
|
||
|
|
||
|
* POST `/opendrawer`: Instructs the receipt printer to pop open the cash drawer,
|
||
|
if there is one attached.
|