@mmote/niimblue-node v0.0.8
niimblue-node 
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-nodenode-gyp is required to install noble dependency. It requires working compiler installed on your system.
Windows requirements:
- MS Build tools 2019+
- C++ build tools with
Windows SDK >=22000must be installed
- C++ build tools with
- Python 3
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 flashExamples
B1 BLE:
niimblue-cli print -d -t ble -a 27:03:07:17:6e:82 -p B1 -o top label_15x30.pngD110 BLE:
niimblue-cli print -d -t ble -a 26:03:03:c3:f9:11 -p D110 -o left label_15x30.pngD110 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.pngB1 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.pngB1 firmware upgrade via serial:
niimblue-cli flash -t serial -a COM8 -n 5.14 -f path/to/B1_5.14.binServer mode
You can start a simple server with:
niimblue-cli serverEnable debug logging, set host and port, enable CORS:
niimblue-cli server -d -h 0.0.0.0 -p 5000 --cors