Использование 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
удачи!