2017-01-18 4 views
-1

В настоящее время я ищу решения для использования USB в проекте Electron.Использование Electron с USB

Я нашел много потоков не только здесь, когда переполнение стека. Но все говорят разные вещи. Некоторые говорят, что это хорошо работает (легко), другие говорят, что это даже невозможно.

Я наткнулся на usb-электрон, но это работает только в Electron prebuild 1.0.2 (насколько я знаю).

Является ли кто-то с помощью Electron и USB в одном проекте успешно? Для каких устройств вы используете эту комбинацию? Может быть, кто-то использует другое решение? Как бинарный файл C# (или что-то еще) в фоновом режиме, который запускается в электронном режиме и выполняет все действия USB?

Я благодарен за каждый намек!

Update:

Я попробовал эти упомянутые решения и получили различные ошибки. Мне также не удалось создать пакеты USB или serialport против электрона. Если я использую пакет SerialPort я получаю следующее сообщение об ошибке с электроном 1.4.12:

angular.js:14328 Error: Eine DLL-Initialisierungsroutine ist fehlgeschlagen. 
\\?\E:\Masterthesis\Simplex-Electron\node_modules\serialport\build\Release\serialport.node 
    at Error (native) 
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20) 
    at Object.Module._extensions..node (module.js:583:18) 
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20) 
    at Module.load (module.js:473:32) 
    at tryModuleLoad (module.js:432:12) 
    at Function.Module._load (module.js:424:3) 
    at Module.require (module.js:483:17) 
    at require (internal/module.js:20:19) 
    at bindings (E:\Masterthesis\Simplex-Electron\node_modules\bindings\bindings.js:76:44) 

Первая строка просто говорит о том, что процедура DLL не удается.

+1

Вы уже пробовали любое из доступных решений? 'node-serialport' - это фантастический пакет, который вы можете использовать для связи по последовательной шине, и я подтверждаю, что он очень хорошо работает с Electron. – Philip

+0

очевидно, что вы находитесь на окнах, это не хорошо для разработки USB. при попытке построить «узел-последовательный порт» против электрона вы выполнили специальные инструкции по https://github.com/EmergingTechnologyAdvisors/node-serialport#electron? 'node-usb' использует' libusb', у которого есть собственный драйвер в окнах, см. https://github.com/tessel/node-usb. возможно, это проблема. было бы лучше переключиться на Linux для этого ... –

+0

npm 'электрон-usb' https://www.npmjs.com/package/electron-usb –

ответ

0

Спасибо за все ответы. Я понял, что аппаратное обеспечение, с которым я пытался подключиться (LEGO Mindstorms Education EV3), является устройством HIDClass. Поэтому он не отображается как COM-интерфейс. Библиотеки, такие как node-serialport, не могут работать с ним.

Мне удалось собрать node-serialport для Electron. Это нормально работает (если устройство USB представляет собой COM-устройство).

Другие способы подключения, такие как WIFI (node-net) и Bluetooth (node-bluetooth) также работают нормально.

Возможно, эта информация помогает другим.

+0

https://github.com/node-hid/node- спрятался – Tim