从移动蓝牙打印机(ESC / POS)请求电池状态

时间:2012-12-14 11:35:46

标签: android printing bluetooth

我已成功打印到Bixolon SPP-R200移动蓝牙打印机。

我现在想问一下打印机当前的电池电量。根据Bixolon命令手册,以下命令应完成此操作:

enter image description here

我能够成功地将数据发送到打印机并从打印机读取数据(因此,就我所见,这不是问题的一部分)。我的问题是理解上面给出的命令:

  1. 是否有特殊原因将fn和m的值直接写入格式,然后定义fn和m的值?在上一个命令中,它的执行方式不同:不是将简单数字写入格式,而是使用变量,稍后在范围内定义。
  2. 假设打印机有4字节长的响应,我是否正确?
  3. 我的第二个问题是ESC = n(选择外围设备)命令:

    enter image description here

    1. 我的打印机没有显示,它是一个简单的ESC / POS蓝牙打印机。另一方面,我有一个智能手机(运行Android,因此我的代码是Java),它将这些命令发送到打印机。这个命令的重点是将数据发送到打印机内的不同接口(显示器,打印单元本身等......)?
    2. 如果我在问题1结尾处的假设是正确的,那么我想我必须通过n = 2,因为打印机电池命令具体说:“当打印机被禁用时,此命令有效通过ESC = n
    3. 如何在发送电池命令并评估响应后让“恢复正常”,以便继续打印到打印机?它会像写ESC = 1一样简单(这将再次启用打印机)吗?
    4. 提前致谢,如果还有其他问题,请告诉我。

1 个答案:

答案 0 :(得分:1)

  

我的打印机没有显示,它是一个简单的ESC / POS蓝牙打印机。上   另一端我有智能手机(运行Android,因此我的代码是   在Java中)将这些命令发送到打印机。是重点   此命令用于将数据发送到打印机内的不同接口   (显示器,印刷单元本身等......)?

此命令的目的是确定您感兴趣的设备的电池状态。您的假设是正确的。所以对于你的ESC / POS,n = 1就足够了

  

如果我在问题1的结尾处的假设是正确的,那么我想   我必须通过n = 2,因为打印机电池命令   具体说:“当打印机打开时,此命令有效   由ESC = n“

禁用

指令没有意义。我相信ESC指向我们需要数据的外围设备。

  

发送电池命令后如何“恢复正常”   评估响应,我可以继续打印到打印机?   它会像写ESC = 1一样简单(这将使得能够实现   打印机再次)?

这是一个与信息相关的命令,根据我的理解,它不应该干扰打印机功能。接收电池状态后,您可以执行正常的打印活动。