使用带USB的Electron

时间:2017-01-18 15:18:43

标签: usb electron

我目前正在寻找在Electron项目中使用USB的解决方案。

我发现很多线程不只是堆栈溢出。但所有人都在陈述不同的事情。有人说它运作良好(很容易),其他人说它甚至不可能。

我偶然发现了usb-electron,但这只适用于Electron prebuild 1.0.2(据我所知)。

有人在一个项目中成功使用Electron和USB吗?您使用这种组合的设备是什么?也许有人在使用其他解决方案?就像背景中的C#(或其他)二进制文件一样,它在电子中被触发并完成所有USB操作?

我很感激每一个提示!

更新

我尝试了那些提到的解决方案并遇到了各种错误。我也从未设法针对电子构建USB或串行端口包。如果我使用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 个答案:

答案 0 :(得分:2)

感谢所有答案。我发现我尝试连接的硬件(LEGO Mindstorms Education EV3)是一个 HIDClass 设备。因此,它不会将自身暴露为COM接口。像node-serialport这样的图书馆无法使用它。

我设法为Electron编译node-serialport。这工作正常(如果USB设备将自己暴露为COM设备)。

其他连接方法,如WIFI(node-net)和蓝牙(node-bluetooth)也正常工作。

也许这些信息有助于其他人。