Использование zbarcam от nodejs


Я пытаюсь использовать zbarcam для слежения за usb-камерой и отстрела QR-кодов, которые он видит.

Я новичок как в Zbarcam, так и в Nodejs, но провел немало исследований и не вижу, что не так. Я запускаю это на Ubuntu 12.04 LTS, и он отлично работает из командной строки, но при запуске в дочернем процессе в Node он ничего не возвращает.

если я запускаю следующую команду в командной строке, она прекрасно работает, видит QR-коды и возвращает код:

     zbarcam / dev / video0 --prescale = 1280x720 -q --raw --nodisplay

но когда я запускаю его в небольшом скрипте nodejs, он просто зависает, я вижу, что камера включена, но ответ не возвращается.

    var exec = require ('child_process'). exec, child;

    child = exec ('zbarcam / dev / video0 --prescale = 640x480 -q --raw --nodisplay', функция (ошибка, стандартный вывод, стандартный вывод) {
       if (ошибка) {
         console.log(error.stack);
         console.log('Код ошибки: + код ошибки);
         console.log ('Получен сигнал: '+error.signal);
       }
       console.log('STDOUT дочернего процесса: '+stdout);
       console.log('Дочерний процесс STDERR: '+stderr);
     });

     child.on('выход', функция (код) {
       console.log ("Дочерний процесс завершен с кодом выхода" + код);
     });

Я подозреваю, что это то, как я запускаю его в Node и как узел отслеживает стандартный вывод.

Спасибо всем заранее.

1 ответ

Вы можете использовать zbar npm, вот мой форк на github https://github.com/flatr0ze/node-zbar с обновленным файлом readme

запустите npm, установите zbar и следуйте инструкциям, это должно работать нормально

Вот пример без Npm: https://github.com/cloudpower/qr2wifi/blob/f28f3bf7062b58c8adca2751faaf4e070fa124b4/index.js

удачи!

Другие вопросы по тегам