通过 USB 使用 Electron
Use Electron with USB
我目前正在寻找在 Electron 项目中使用 USB 的解决方案。
我在堆栈溢出时发现了很多线程,而不仅仅是这里。但所有人都在陈述不同的事情。有人说它工作得很好(很容易),其他人说它甚至不可能。
我偶然发现了 usb-electron,但这只适用于 Electron prebuild 1.0.2(据我所知)。
有人在一个项目中成功使用了Electron和USB吗?您将这种组合用于哪些设备?也许有人正在使用另一种解决方案?就像在电子内部触发并执行所有 USB 操作的后台 C#(或其他)二进制文件一样?
感谢每一个提示!
更新:
我尝试了那些提到的解决方案,但遇到了各种错误。我也从未设法针对电子构建 USB 或串行端口包。如果我使用 serialport 包,我会在 electron 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 例程失败。
谢谢大家的回答。我发现我尝试连接的硬件 (LEGO Mindstorms Education EV3) 是 HIDClass 设备。因此它不会将自己暴露为 COM 接口。 node-serialport
之类的库无法使用它。
我设法为 Electron 编译 node-serialport
。这工作正常(如果 USB 设备将自身公开为 COM 设备)。
WIFI (node-net
) 和蓝牙 (node-bluetooth
) 等其他连接方式也可以正常工作。
也许此信息对其他人有帮助。
我目前正在寻找在 Electron 项目中使用 USB 的解决方案。
我在堆栈溢出时发现了很多线程,而不仅仅是这里。但所有人都在陈述不同的事情。有人说它工作得很好(很容易),其他人说它甚至不可能。
我偶然发现了 usb-electron,但这只适用于 Electron prebuild 1.0.2(据我所知)。
有人在一个项目中成功使用了Electron和USB吗?您将这种组合用于哪些设备?也许有人正在使用另一种解决方案?就像在电子内部触发并执行所有 USB 操作的后台 C#(或其他)二进制文件一样?
感谢每一个提示!
更新:
我尝试了那些提到的解决方案,但遇到了各种错误。我也从未设法针对电子构建 USB 或串行端口包。如果我使用 serialport 包,我会在 electron 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 例程失败。
谢谢大家的回答。我发现我尝试连接的硬件 (LEGO Mindstorms Education EV3) 是 HIDClass 设备。因此它不会将自己暴露为 COM 接口。 node-serialport
之类的库无法使用它。
我设法为 Electron 编译 node-serialport
。这工作正常(如果 USB 设备将自身公开为 COM 设备)。
WIFI (node-net
) 和蓝牙 (node-bluetooth
) 等其他连接方式也可以正常工作。
也许此信息对其他人有帮助。