管道hexdump输出到node js程序
pipe hexdump output to node js program
我正在使用Yoctoo 3.10的英特尔爱迪生,我在/dev/hidraw0上有一个条形码扫描仪,我想使用当我运行hexdump /dev/hidraw0
作为节点js编写的程序的输入时输出的确切行。
node js程序如下:
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
rl.on('line', function(line){
console.log(line);
})
我试过管道正常:
hexdump /dev/hidraw0 | node program.js
但是我什么也没得到,我认为这与hexdump不写'n的事实有关,所以缓冲区不写它的内容。
我也试过打开/dev/hidraw0作为一个文件,像这样:
var fs = require('fs');
fs.open('/dev/hidraw0', 'r', function(status, fd) {
if (status) {
console.log(status.message);
return;
}
var buffer = new Buffer(100);
fs.read(fd, buffer, 0, 100, 0, function(err, num) {
console.log(buffer.toString('hex'));
});
});
使用一些十六进制转储,如hexy,但在这种情况下,我得到一些十六进制线,但与hexdump不同,这是我需要的。
仅使用hexdump /dev/hidraw0
就可以得到以下结果(当我使用卡片时)
0000000 0000 0020 0000 0000 0000 0000 0000 0000
0000010 0000 0020 0000 0000 0000 001f 0000 0000
0000020 0000 0027 0000 0000 0000 0026 0000 0000
0000030 0000 0025 0000 0000 0000 0000 0000 0000
0000040 0000 0025 0000 0000 0000 0024 0000 0000
0000050 0000 0021 0000 0000 0000 0025 0000 0000
0000060 0000 0028 0000 0000 0000 0000 0000 0000
以下内容适合我:
process.stdin.setEncoding('utf8');
process.stdin.on('readable', function () {
var chunk = process.stdin.read();
if (chunk !== null) {
console.log(chunk);
}
});
运行:sudo hexdump /dev/hidraw0 | node this-script.js
示例输出(当我移动无线鼠标时):
0000000 0120 0002 fd00 ffcf 0000 0000 0000 2000
0000010 0201 0000 cffc 00ff 0000 0000 0000 0120
...
相关文章:
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 从shell脚本中杀死Node.js程序
- Mongo无法使用node.js程序
- 在three.js程序中运行一个webgl函数
- 婴儿步骤 节点.js程序打印不确定的结果
- 如何在node.js内运行JS程序
- 如何使这个 Node.js 程序异步
- 第一个JS,向经验丰富的JS程序员寻求建议
- 如何记录node.js程序中的每一个“抛出”
- 为什么我的节点.js“程序终止”而没有错误
- 我如何通过方法写入数据 response.write 从 MySQL 服务器到 Node.js 程序后
- 使用 open.window() 在新窗口中打开 js 程序
- 我的Processing.js程序中的所有角度怎么都是度而不是弧度呢
- 检测大型JS程序中的任何变量何时设置为NaN
- 节点JS程序过早结束
- MEAN环境下的Node.js程序结构
- 为什么这个简单的Mongoose.js程序在执行'嵌套'保存
- Angular/JS程序意外提前结束
- c++和JS程序共享内存
- 管道hexdump输出到node js程序