我目前正在寻找在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例程失败了。
答案 0 :(得分:2)
感谢所有答案。我发现我尝试连接的硬件(LEGO Mindstorms Education EV3)是一个 HIDClass 设备。因此,它不会将自身暴露为COM接口。像node-serialport
这样的图书馆无法使用它。
我设法为Electron编译node-serialport
。这工作正常(如果USB设备将自己暴露为COM设备)。
其他连接方法,如WIFI(node-net
)和蓝牙(node-bluetooth
)也正常工作。
也许这些信息有助于其他人。