我有一个钱箱连接到Epson TM-T20上,连接到USB端口。 我发现一个例子here并应用于他们的想法与here到打印机的代码:打开连接到USB打印机的钱箱
echo -en "\033\160\040\025" | lp -d "USB_TM-T20" -o raw
但这似乎并没有工作。由于epson提供了一个java库,我决定查看并反编译它。
protected byte[] getOpenDrawerCommand()
{
byte[] arrayOfByte = new byte[5];
if (this.m_objDrawerPort.isSupportRealTimeCommand())
{
arrayOfByte[0] = 16;
arrayOfByte[1] = 20;
arrayOfByte[2] = 1;
arrayOfByte[3] = (byte)this.m_objDrawerSettings.getPinNumber(); // seems to be 0
arrayOfByte[4] = (byte)this.m_objDrawerSettings.getOnTime(true); // between 1 and 8
}
else
{
arrayOfByte[0] = 27;
arrayOfByte[1] = 112;
arrayOfByte[2] = (byte)this.m_objDrawerSettings.getPinNumber(); // seems to be 0
arrayOfByte[3] = (byte)this.m_objDrawerSettings.getOnTime(false); // [1, 255]
arrayOfByte[4] = (byte)this.m_objDrawerSettings.getOffTime(false); // [1, 255]
}
return arrayOfByte;
}
我们看到keyfile中的值似乎是正确的(至少前两个)。不幸的是,我无法找到它发送数据的代码。 你有一个想法,我可以找到更多的信息?爱普生网站似乎很少见。
编辑: 事实证明,连接电缆已损坏,需要重新连接新电缆才能连接打印机。
是的,我也观察过。但我也观察到,打印机驱动程序不知怎的不喜欢我的原始命令: “/ usr/lib/cups/backend/epsontm失败” 我会尝试解决这个问题,然后再进行更多测试。 – Pascal 2012-03-12 16:37:26
发现安装了错误的ppd。我用另一个替换了它。但是这并没有解决问题。现在,我正在用Windows试一下。 – Pascal 2012-03-13 10:17:51