/ / Batteriestatus vom mobilen Bluetooth-Drucker anfordern (ESC / POS) - Android, Drucken, Bluetooth

Batteriestatus von Mobile Bluetooth Printer (ESC / POS) anfordern - Android, Drucken, Bluetooth

Ich drucke erfolgreich auf einem mobilen Bluetooth-Drucker Bixolon SPP-R200.

Ich möchte nun den Drucker nach seinem aktuellen Akkustand fragen. Basierend auf dem Bixolon-Befehlshandbuch sollte der folgende Befehl dies erreichen:

Bildbeschreibung hier eingeben

Ich bin in der Lage, Daten erfolgreich an den Drucker zu senden und Daten davon zu lesen (so dass "s nicht Teil des Problems ist, soweit ich sehen kann.) Mein Problem ist, den oben angegebenen Befehl zu verstehen:

  1. Gibt es einen besonderen Grund, den Wert von zu schreiben?fn und m direkt in das Format und später definieren Sie die Werte von fn und m AGAIN? In einem vorherigen Befehl wurde es anders gemacht: Anstatt einfache Zahlen in das Format zu schreiben, wurden die Variablen verwendet und später im Bereich definiert.
  2. Habe ich eine 4 Byte lange Antwort vom Drucker richtig angenommen?

Mein zweites Problem ist der Befehl ESC = n (Select peripheral device):

Bildbeschreibung hier eingeben

  1. Mein Drucker hat kein Display, es ist ein einfacher ESC / POSBluetooth-Drucker. Auf der anderen Seite habe ich ein Smartphone (mit Android, daher ist mein Code in Java), der diese Befehle an den Drucker sendet. Soll dieser Befehl Daten an verschiedene Schnittstellen innerhalb eines Druckers senden (das Display, das Druckwerk selbst usw.)?
  2. Wenn meine Annahme am Ende von Frage 1 richtig ist, dann nehme ich an, dass ich n = 2 übergeben muss, weil der Druckerbatteriebefehl spezifisch sagt:Dieser Befehl ist wirksam, wenn der Drucker durch ESC = n deaktiviert wird"
  3. Wie komme ich nach dem Senden des "zurück zum Normalzustand"?Batterie-Befehl und Auswertung der Antwort, damit ich weiter zum Drucker drucken kann? Wäre es so einfach wie das Schreiben von ESC = 1 (was den Drucker wieder aktivieren würde)?

Vielen Dank im Voraus und bitte lassen Sie mich wissen, wenn weitere Fragen bestehen.

Antworten:

1 für die Antwort № 1

Mein Drucker hat kein Display, es ist ein einfacher ESC / POSBluetooth-Drucker. Auf Am anderen Ende habe ich ein Smartphone (Android läuft, daher ist mein Code in Java), die diese Befehle an den Drucker sendet. Ist der Punkt dieses Befehls, um Daten an verschiedene Schnittstellen innerhalb eines Druckers zu senden (das Display, das Druckwerk selbst etc ...)?

Ziel dieses Befehls ist es, zu erkennen, an welchem ​​Gerät "Batteriestatus Sie interessiert sind. Ihre Annahme ist richtig. Also für Ihre ESC / POS sollte n = 1 ausreichend sein

Wenn meine Annahme am Ende der ersten Frage istrichtig, dann nehme ich an Ich müsste n = 2, weil der Drucker Batterie Befehl übergeben speziell sagt: "Dieser Befehl ist wirksam, wenn der Drucker ist deaktiviert durch ESC = n "

Die Anweisung macht keinen Sinn. Ich glaube, der ESC weist auf das Peripheriegerät hin, von dem wir Daten benötigen.

Wie komme ich nach dem Senden des "zurück zum Normalzustand"?Batteriebefehl und Bewerten der Antwort, damit ich weiter zum Drucker drucken kann? Wäre es so einfach wie das Schreiben von ESC = 1 (was die Drucker wieder)?

Dies ist ein informationsbezogener Befehl, und nach meinem Verständnis sollte er die Druckerfunktionalität nicht stören. Nach dem Erhalt des Batteriestatus können Sie die normale Druckaktivität ausführen.