NIIMBOT printers have two bluetooth addresses.
In case of D110 :
26:03:03:C3:F9:11
- low energy03:26:03:C3:F9:11
- classicYou can interact with printer through a specific BLE characteristic. To find what characteristic is suitable for this:
Find services which have UUID length > 4.
Find characteristic in these services which have NOTIFY
and WRITE_NO_RESPONSE
properties.
Unfortunately, this process is can't be done with Web Bluetooth API (you must set service UUID in filter before devices searching).
Anyway, most of NIIMBOT printers have characteristic bef8d6c9-9c21-4c9e-b632-bd58c1009f9f
of service e7810a71-73ae-499d-8c15-faa9aef0c3f2
.
NiimBlueLib uses these UUIDS for interfacing.
If you found characteristic, you can subscribe for notifications to get responses from the printer. To send data, write a value without response.
Use bluetooth serial. The only problem is that packets may be fragmented.
For example, packet 5555d9091f90044c000001000016aaaa
can be received as 5555d9091f90044c000001000016
aaaa
.
Android Serial Bluetooth Terminal test:
Packet format is same as Bluetooth. Packets may be fragmented.