在Linux Node.js上获取USB打印机的状态

时间:2020-06-25 19:45:27

标签: node.js linux raspberry-pi escpos

我刚刚花了最后三天在互联网上拖网才能使它正常工作。 我只需要在/ dev / usb / lp0下的USB热敏打印机上查找纸张状态。

将我的代码简化为人类消费的最低标准,我有这样的想法:


const escpos = require('escpos');
escpos.USB = require('escpos-usb');
const device  = new escpos.USB();


const printer = new escpos.Printer(device);

device.open(function (err) {
    device.device.on('data', function (data) {
        console.log(data);
        console.log(data.toString('hex'));
    });

    device.write(_.DLE);
    device.write(_.EOT);
    device.write(String.fromCharCode(1));

    setTimeout(() => {
        printer.close();
    }, 1000);
});

作为回应,我得到了:

/root/totem/ser.js:9
    device.device.on('data', function (data) {
                  ^

TypeError: device.device.on is not a function
    at /root/totem/ser.js:9:19
    at Interface.<anonymous> (/root/node_modules/escpos-usb/index.js:142:23)
    at Device.<anonymous> (/root/node_modules/usb/usb.js:341:6)

以下纠正建议

device.device.on
to 
device.on 

我现在得到:

root@raspberrypi:~/totem# node ser.js
Received:


Received:


Received:


Received:
<Buffer >

root@raspberrypi:~/totem#

没有得到一个能告诉我状态的字节

1 个答案:

答案 0 :(得分:0)

代替

device.device

使用

device.on('数据'...