Я работаю над Intel Edison с Yoctoo 3.10, у меня есть сканер штрих-кода на / dev / hidraw0, и я хочу использовать точные строки, которые выводятся, когда я запускаю hexdump /dev/hidraw0
в качестве ввода для программы, написанной в узле js.
Программа 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