Skip to content
MultiMote edited this page Dec 5, 2024 · 7 revisions

Features

✅ Currently implemented:

  • Bluetooth transport.
  • Serial transport.
  • Packets implementation*.
  • Complete bitmap packet implementation (empty row, indexed row, bitmap row, repeat count).
  • Event system (eventemitter3 based).
  • Image encoding with 3 types of packets (empty space, bitmap, bitmap indexed).
  • Heartbeat support.
  • Print error handling.
  • Reading printer info (model, mac, charge level, etc.)
  • Writing printer settings (sound, auto shutdown time).
  • Abstraction (call helper functions instead of sending packets).
  • Local model library with printers features (printhead resolution, supported paper types ant etc.)*.
  • Headless serial client for non-browser purposes*.
  • Headless Bluetooth client for non-browser purposes*.
  • Command line interface*.

🐞 Bugs:

  • Timeout after print finished on serial connection (status check).
  • Printer MAC address have wrong order on some printers.

⚒ Todo:

  • Find out how to properly encode bitmap packet. I can't understand purpose of three bytes before "repeat count" byte.
  • Implement rest of the packets.
  • Support more printers (print tasks).
  • Testing with more printers.
  • The rest of what I've forgotten.

❌ Will not be implemented:

  • Guess the label size by RFID tag - impossible without request to print.niimbot.com. API does not allow CORS requests.

    Example:

    POST https://print.niimbot.com/api/template/getCloudTemplateByOneCode HTTP/1.1
    Content-Type: application/json
    niimbot-user-agent: AppVersionName/999.0.0
    
    { "oneCode" : "LABEL_BARCODE" }

* Implemented partially or needs some tweaks.

Documentation

https://multimote.github.io/niimbluelib/

Clone this wiki locally