node.js - 在 linux nodejs 上获取 USB 打印机的状态
问题描述
我刚刚花了 3 天时间在互联网上拖网以使其正常工作。我只需要在 /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#
而不是得到一个告诉我状态的字节
解决方案
代替
设备.设备
利用
设备.on('数据' ...
推荐阅读
- javascript - JS - 字符串包含匹配正则表达式的子字符串
- javascript - 如何在 discord.js 中断开用户与语音通道的连接?
- jq - 如何在`jq`中转义字符串?
- postgresql - Docker Compose postgres 9.6 初始化数据库
- vue-apollo - Vue Apollo 项目 - 拥有单独的服务是共享状态的好方法吗?
- mysql - 如何修复 SQL 错误 (1248):每个派生表都必须有自己的别名
- python - 当满足 2 个标准时,如何仅总结基于值的值?
- excel - 粘贴另一个工作表中的前导公共子字符串
- javascript - 如何在前端 Web 应用程序中隐藏测验的答案?
- ruby-on-rails - ActiveRecord 在双向线程中选择第一条消息