0.0.8 • Published 6 months ago

@mmote/niimblue-node v0.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

niimblue-node NPM

niimbluelib BLE and serial client implementations for non-browser use cases.

Command line interface, simple REST server are also included.

Tested with:

Windows:

  • Windows 10
  • Bluetooth adapter (TP-LINK UB500)
  • USB serial connection
  • Printers: B1, D110

Mac:

  • macOS 15.5
  • Integrated Bluetooth adapter
  • Printer: D110

Usage example:

Install

Global (for cli usage):

npm i -g @mmote/niimblue-node

node-gyp is required to install noble dependency. It requires working compiler installed on your system.

Windows requirements:

Mac requirements:

  • Xcode
  • Permissions: Open "System Settings" → "Privacy & Security" → "Bluetooth" and then add your terminal to allowed applications.

See node-gyp and noble installation.

Command-line usage

While development:

npm run cli --- <options>

If installed as package globally:

niimblue-cli <options>

Available options:

niimblue-cli help print
niimblue-cli help info
niimblue-cli help scan
niimblue-cli help server
niimblue-cli help flash

Examples

B1 BLE:

niimblue-cli print -d -t ble -a 27:03:07:17:6e:82 -p B1 -o top label_15x30.png

D110 BLE:

niimblue-cli print -d -t ble -a 26:03:03:c3:f9:11 -p D110 -o left label_15x30.png

D110 BLE via name:

Connecting via the Bluetooth device name instead of address is required on macOS. Find the device name with niimblue-cli scan -t ble.

niimblue-cli print -d -t ble -a 'D110-XXXXXXXXXX' -p D110 -o left -w 192 -h 96 label_15x30.png

B1 serial, long parameter names (will resize image to fit 50x30 label, keeping aspect ratio):

niimblue-cli print --debug --transport serial --address COM8 --print-task B1 --print-direction top --label-width 384 --label-height 240 label_15x30.png

B1 firmware upgrade via serial:

niimblue-cli flash -t serial -a COM8 -n 5.14 -f path/to/B1_5.14.bin

Server mode

You can start a simple server with:

niimblue-cli server

Enable debug logging, set host and port, enable CORS:

niimblue-cli server -d -h 0.0.0.0 -p 5000 --cors

Server API docs